• Nenhum resultado encontrado

47Todos os direitos reservados a 3Way Networks

No documento Linguagem Java COMPLETA (páginas 47-49)

Linguagem de Programação Java

Seja um Profissional Aprendendo com Profissionais

www.3way.com.br 40

Podemos ter várias estruturaselse-ifdepois de uma declaraçãoif. A estruturaelseé opcional e pode ser omitida. No exemplo mostrado acima, se a primeira condição é verdadeira, o programa executa a <sentença 1> e salta as outras instruções. Caso contrário, se a condição é falsa, o fluxo de controle segue para a análise da segunda condição. Se esta for verdadeira, o programa executa a <sentença 2>e salta a<sentença 3>. Caso contrário, se a segunda condição é falsa, então a<sentença 3> é executada.

Observe um exemplo da declaraçãoif-else-ifno seguinte trecho de código:

public class TesteIfElse {

public static void main(String[] args) { int mesDoAno = 13;

if (mesDoAno == 12 || mesDoAno == 1 || mesDoAno == 2) { System.out.println("Verão");

} else if (mesDoAno == 3 || mesDoAno == 4 || mesDoAno == 5) { System.out.println("Outono");

} else if (mesDoAno == 6 || mesDoAno == 7 || mesDoAno == 8) { System.out.println("Inverno");

} else if (mesDoAno == 9 || mesDoAno == 10 || mesDoAno == 11) { System.out.println("Primavera");

} else {

System.out.println("Mês não é válido: " + mesDoAno); }

} }

Listagem 5.1 – Testando IF-ELSE

5.2 Declaração switch

Outra maneira de indicar uma condição é através de uma declaraçãoswitch. A construçãoswitch permite que uma única variável tenha múltiplas possibilidades de avaliação. Oswitchtrabalha sobre os tipos primitivosbyte,

short,char eint,ele também pode operar sobre tipos enumerados (a serem vistos posteriormente) sobre classes empacotadorasCharacater,Byte,Short eInteger.

A declaração switch possui a seguinte forma:

switch (<variável_do_tipo_permitido>) { case <valor 1>: [instrução1;] [instrução2;] [... ] [break;] case <valor 2>: [instrução1;] [instrução2;] [...] [break;] case <valor n>: [instrução1;] [instrução2;] [...] [break;] default: [instrução1;] [instrução2;] [...] [break;] } O programa executa todas instruções a partir do primeiro case,

até encontrar uma instrução break, que

interromperá a execução do switch, nada após o break será

//atribuindo valor a variável referência Carro carro1 = new Carro();

carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata";

Figura 2.4 – Layout Memória após inicialização //criando novo alias

Carro carro2 = carro1;

Figura 2.5 – Layout Memória duas variáveis referência para o mesmo objeto

2.3 Membros de Instância

Cada objeto criado deverá ter sua própria instância de variáveis (atributos) definidas pela classe. Os métodos definem o comportamento de um objeto. Isto é importante, pois denota que um método pertence a cada objeto da classe. Porém não devemos confundir isto com a implementação do método, que é compartilhada por todas as instâncias da classe.

2.3.1 Invocação de Métodos

Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operação apropriada que foi definida no objeto. Em Java, isto é feito pela

chamada de um método em um objeto usando o operador binário "." (ponto),

devendo especificar a mensagem completa: o objeto que é o recebedor da mensagem, o método a ser invocado e os argumentos para o método (se houver). O método invocado no recebedor pode também enviar informações de volta ao objeto chamador através de um valor de retorno. O método chamado deve ser um que esteja definido pelo objeto.

Os valores das variáveis em um objeto constituem

o seu estado. Dois objetos distintos têm

o mesmo estado se suas variáveis membro têm os

mesmos valores. onde, <variável_do_tipo_permitido> compreende os tipos de dados citados anteriormente e <valor n> são constantes literais dos tipos de dados citados.

Quando a declaração switch é encontrada, o fluxo de controle avalia inicialmente a

<variável_do_tipo_permitido> e segue para o case que possui o valor igual ao da variável. O programa executa

todas as instruções a partir deste ponto, mesmo as dos próximos case, até encontrar uma instrução break, que interromperá a execução do switch, nada após o break será executado.

Se nenhum dos valores case for satisfeito, o bloco default será executado. Este é um bloco opcional. O bloco default não é obrigatório na declaração switch.

Exemplo para switch:

public class TesteSwitch {

public static void main(String[] args) { int mesDoAno = 11;

switch (mesDoAno) { case 12:

case 1: case 2:

System.out.println("Verão"); break;

case 3: case 4: case 5:

System.out.println("Outono"); break;

case 6: case 7: case 8:

System.out.println("Inverno"); break;

case 9: case 10: case 11:

System.out.println("Primavera"); break;

default:

System.out.println("Mês não é válido: " + mesDoAno); break;

} } }

Listagem 5.2 – Testando Switch-Case

Note que para o caso de intervalos de valores a declaraçãoif-else-if é mais indicada, veja exemploif-else-if.

5.3 Iterações (Laços)

Estruturas de controle de repetição são comandos em linguagem Java que permitem executar partes específicas do código determinada quantidade de vezes. Existem três tipos de estruturas de iteração gerais:while, do-while efor.

5.3.1 while

A declaração while executa repetidas vezes um bloco de instruções enquanto a expressão lógica (condição) resultar emtrue (boolean).

As instruções contidas dentro do bloco while são

executadas repetidas vezes enquanto o valor de

expressão_lógica for verdadeiro.

Linguagem de Programação Java

Seja um Profissional Aprendendo com Profissionais

www.3way.com.br 12

//atribuindo valor a variável referência Carro carro1 = new Carro();

carro1.ano = "2001"; carro1.modelo= "fusca"; carro1.cor = "prata";

Figura 2.4 – Layout Memória após inicialização //criando novo alias

Carro carro2 = carro1;

Figura 2.5 – Layout Memória duas variáveis referência para o mesmo objeto

2.3 Membros de Instância

Cada objeto criado deverá ter sua própria instância de variáveis (atributos) definidas pela classe. Os métodos definem o comportamento de um objeto. Isto é importante, pois denota que um método pertence a cada objeto da classe. Porém não devemos confundir isto com a implementação do método, que é compartilhada por todas as instâncias da classe.

2.3.1 Invocação de Métodos

Objetos se comunicam pela troca de mensagens, isto significa que um objeto pode ter que mostrar um comportamento particular invocando uma operação apropriada que foi definida no objeto. Em Java, isto é feito pela

chamada de um método em um objeto usando o operador binário "." (ponto),

devendo especificar a mensagem completa: o objeto que é o recebedor da mensagem, o método a ser invocado e os argumentos para o método (se houver). O método invocado no recebedor pode também enviar informações de volta ao objeto chamador através de um valor de retorno. O método chamado deve ser um que esteja definido pelo objeto.

Os valores das variáveis em um objeto constituem

o seu estado. Dois objetos distintos têm

o mesmo estado se suas variáveis membro têm os

mesmos valores.

49

No documento Linguagem Java COMPLETA (páginas 47-49)

Documentos relacionados