Estrutura de repetição é uma estrutura de desvio do fluxo de controle que realiza e repete diferentes computações ou ações dependendo se uma condição é verdadeira ou falsa.
Nesse link postado acima, na wikipédia, há uma explicação detalhada a respeito do assunto, vale a pena conferir.
Em java, os loops são feitos da seguinte forma:
While: Enquanto i, que é uma variável inteira, for menor ou igual a 20, deve-se imprimir em tela o valor de i. O “i++” é usado para incrementar o valor, ou seja, cada vez que passar aí, fará i = i + 1;
while ( i <= 20)
{
System.out.println(i);
i++;
}
For: Para i que começa valendo 1 até i ser menor ou igual a 20 deve fazer também imprimir em tela o valor de i. Note que na própria estrutura da condição, já definimos que o i deve ser incrementado.
for(i = 1; i <= 20; i++)
{
System.out.println(i);
}
Do while: O programa passará pelo menos uma vez pela estrutura e continuará até que a condição se torne falsa.
do{
System.out.println(i);
i++;
}while(i <= 20);
As estruturas de repetição são muito usados, segue um exemplo de uma tabuada feita usando o for, e é possível fazer usando qualquer tipo de loop, fica aí o desafio para tentarem de outras formas.
int valor = 0;
for (int i = 1; i <= 10; i++)
{
valor = 7 * i;
System.out.println("7 x " + i + " = " + valor);
}
Agora sim a aula 5ª aula. Nesta aula, começaremos a trabalhar realmente com o conceito de classes, atributos e métodos, usando como exemplo um cadastro. Se houver dúvidas no conceito de cada coisa, vale a pena recordar a 1ª aula onde explica claramente o que é cada detalhe.
Vamos então definir duas classe, uma classe Pessoa e a outra ExemploPessoa, na classe Pessoa vamos mostrar ao java o que é uma pessoa, que dados serão requeridos. Toda pessoa tem nome, endereço e telefone, portanto, esses serão nossos atributos. Segue então como ficará a classe Pessoa, onde o que está em itálico são os comentários de cada parte do código.
Abaixo do código, segue as imagens possibilitando um melhor entendimento e visualização da identação.
/*Essa classe não terá o método main pq só a classe principal que executa e inicia o programa é que tem o main
*
* Lembrando que uma classe precisa ter atributos e métodos
*
* Atributos: nome, endereço, telefone = são privados e só podem ser acessados dentro da classe
*
* Metodos: Pessoa() e Pessoa(String, String, String) = são públicos, são a forma de comunicação entre as classes */
public class Pessoa {
private String nome;
private String endereco;
private String telefone;
public Pessoa() //Métodos que possuem o mesmo nome da classe são chamados de métodos construtores, sua função é definir como um objeto será criado, ele somente pode ser usado na criação de um objeto, pq a função é falar como o obj deve ser criado - instância)
{ //esse método cria um objeto vazio, pq o usuario vai digitar depois os dados,
//ainda não há valor definido, mas o objeto ja existe
}
public Pessoa(String _nome, String _endereco, String _telefone) //segundo metodo construtor
//nesse construtor é criado um objeto e ja sabe os dados do objeto, por isso foi passado com parâmetros, usar o anderline na frente (_nome) é convenção para identificar melhor e facilitar a manutenção
{
nome = _nome; //recebe os valores dos parâmetros e passa para os atributos
endereco = _endereco;
telefone = _telefone;
}
public void DefinirNome(String _nome) //o objetivo desse metodo: permite alterar o valor do atributo nome
{
nome = _nome;
}
public void DefinirEnd(String _endereco) //o objetivo desse metodo: permite alterar o valor do atributo endereco
{
endereco = _endereco;
}
public void DefinirTel(String _telefone) //o objetivo desse metodo: permite alterar o valor do atributo telefone
{
telefone = _telefone; //ele não retorna valor (void), apenas pega o parametro e atribui ao atributo
}
public String ObterNome() //metodos que retornam precisam mostrar o tipo de dado que retorna, no caso uma String
{
return (nome);
}
public String ObterEnd()
{
return (endereco);
}
public String ObterTel()
{
return (telefone);
}
// Demais métodos ...
}
A classe ExemploPessoa é a que realmente executará o programa, nela contém o método main, e é nela que colocaremos os dados das pessoas. Segue abaixo como ela deve ficar.
/*A classe principal, aqui é que pode usar as outras classes*/
public class ExemploPessoa {
public static void main(String[] args) throws IOException
{
BufferedReader teclado = new BufferedReader(
new InputStreamReader(System.in)); //cria o objeto teclado
Pessoa p1 = new Pessoa(); // A classe Pessoa será um modelo para mostrar o que será uma pessoa para o programa, o p1 é um objeto, o new é o operador de instancia (a partir de uma classe cria-se um objeto) e o Pessoa() é o método construtor, ele sempre vai aparecer com o new
//esse metodo é vazio, isso seria necessário pq por exemplo, num banco de dados como ele vai retornar um valor se não leu ainda o banco? Então com o metodo construtor vazio ele faz a leitura e depois ele usa um metodo
construtor para atribuir valor
System.out.println("Informe o nome: "); //obtendo valores para p1
p1.DefinirNome(teclado.readLine());
System.out.println("Informe o endereço: ");
p1.DefinirEnd(teclado.readLine());
System.out.println("Informe o telefone: ");
p1.DefinirTel(teclado.readLine());
Pessoa p2 = new Pessoa("Ana", "Rua das Flores, 100", "4532-2322"); //uma classe pode dar origem a vários objetos, cria o objeto (new) e usa o segundo construtor com os devidos parâmetros
/*Polimorfismo = uma classe pode ter vários métodos com o mesmo nome, porém, com parâmetros diferentes*/
System.out.println("Pessoa 1"); //Imprimindo os valores de p1
System.out.println("Nome: " + p1.ObterNome()); //está buscando os valores armazenados dentro do p1
System.out.println("Endereço: " + p1.ObterEnd());
System.out.println("Telefone: " + p1.ObterTel() + "\n");
System.out.println("Pessoa 2"); //Imprimindo os valores de p2
System.out.println("Nome: " + p2.ObterNome());
System.out.println("Endereço: " + p2.ObterEnd());
System.out.println("Telefone: " + p2.ObterTel());
}
}
Todos os créditos dessas aulas para o professor Claudio Luís V. Oliveira, que com muita paciência e persistência tem nos ensinado de uma forma agradável e eficiente.
Linguagem de Programação – Java – Aula 1
Linguagem de Programação – Java – Aula 2 e 3Linguagem de Programação - Java - Vetores - Aula 4