domingo, 4 de abril de 2010

Linguagem de Programação - Java - Aula 5

Olá olá olá galera, revendo as aulas de java, eu esqueci de postar uma delas, a referente a laços de repetição, portanto vou apresentar em resumo nesta aqui.

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++;

}

Linguagem de Programação - Java - Aula 5

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 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 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 detodos 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 3
Linguagem de Programação - Java - Vetores - Aula 4




Nenhum comentário:

Postar um comentário