Você está na página 1de 25

JAVA ESSENCIAL - AULA 3

Instrutor: Higor Neto Lima


ESTRUTURAS DE SELEÇÃO
 São três as estruturas de seleção em Java

 if
 if ... else
 switch

Higor Neto - higornetto@gmail.com


OPERADORES RELACIONAIS

Operador Significado
== igual a
!= diferente de
< menor que
> maior que
<= menor ou igual a
>= maior ou igual a

Higor Neto - higornetto@gmail.com


OPERADORES LÓGICOS

Operador Significado

&& E (“AND Condicional”)

& E (“AND lógico booleano”)

|| OU (“OR Condicional”)

| OU (“OR inclusivo lógico


booleano”)
^ OU EXCLUSIVO(“OR
exclusivo lógico booleano”)
! NOT (“NÃO lógico”)
4

Higor Neto - higornetto@gmail.com


ESTRUTURA IF

 A instrução de seleção if executa uma ação (ou


grupo de ações) se uma condição for verdadeira ou
ignora ação se a condição for falsa.

if( x != 0 ) { //se x for diferente de 0


q = y / x; // faça isso
}

Higor Neto - higornetto@gmail.com


ESTRUTURA IF...ELSE

 A instrução de seleção if...else executa uma ação (ou


grupo de ações) se uma condição for verdadeira ou uma
ação diferente (ou grupo diferente de ações) se a
condição for falsa.
if( a < ( b + c ) && b < (a + c) && c < (a + b)) {
System.out.println("a, b e c formam um triangulo.");
}
else {
System.out.println("a, b e c não formam um triangulo.");
} 6

Higor Neto - higornetto@gmail.com


EXÉRCICIO 3.1

 Como evitar o problema da divisão por zero na nossa


classe calculadora?

 Use um if e corrija este erro na classe calculadora.

 Rode novamente o teste para ver se o erro acontece.

Higor Neto - higornetto@gmail.com


COMPARANDO OBJETOS: EQUALS( )

 Usado para comparação de objetos (retorna True ou


False)

 Declarado na classe Object.

 Por isso, todo objeto tem o método equals(), herdado da


classe Object.

 Ex.: para verificar se o objeto a e igual ao objeto b faça:


if( a.equals( b )){
System.out.Println(“A igual a B”);
8
}

Higor Neto - higornetto@gmail.com


USO DO EQUALS( )
String name1 = ”joana”;
String name2 = “joana”;

System.out.println( name1.equals( name2 ) );

name1 += " ";

System.out.println( name1.equals( name2 ) );

 Qual a saída do programa? 9

Higor Neto - higornetto@gmail.com


OPERADOR TERNÁRIO ___?___:___

 Único operador ternário na linguagem.

 Primeiro operando fica a esquerda da ’?’, e é uma


expressão booleana.

 Segundo operando fica entre a ’?’ e o ’:’, é o valor da


expressão caso a expressão booleana seja true.

 Terceiro operando fica depois do ’:’, é o valor da


10
expressão caso a expressão booleana seja false.
Higor Neto - higornetto@gmail.com
EXEMPLO DO OPERADOR ? :
public class TesteOperadorTernario {

public static void main( String [ ] args ) {

double nota = 7.0;

System.out.println( nota >= 7 ? “Aprovado” :


“Reprovado”);
}

11

Higor Neto - higornetto@gmail.com


ESTRUTURA SWITCH

 A instrução de seleção switch normalmente realiza


uma de muitas ações diferentes.

 O valor para seleção pode ser: char, int, short ou um


tipo enum.

12

Higor Neto - higornetto@gmail.com


EXTRUTURA DO SWITCH
switch ( varSelecao ) {
case valor1:
//caso varSelecao seja igual a valor1
break;
case valor2: para a execução do laço
//caso varSelecao seja igual a valor2
break;
default:
//caso varSelecao não seja igual a ninguém
break;
} 13

Higor Neto - higornetto@gmail.com


EXEMPLO SWITCH
int varTeste = 2;

switch ( varTeste ) {
case 1: System.out.println( “varTeste= 1”);
break;
case 2: System.out.println( “varTeste = 2”);
break;
default: System.out.println( “Não encontrei
esse número” );
break;
14
}
Higor Neto - higornetto@gmail.com
EXERCÍCIO 3.2
 Desenvolva um aplicativo Java que determine o salário
bruto de cada um dos três empregados uma empresa.

 A empresa paga “hora normal” pelas primeiras 40 horas


trabalhadas e o dobro pelas horas trabalhadas além das
40 horas.

 O seu programa pegará as informações dos três


empregados e imprimirá o salário bruto de cada
15
empregado (criem a classe Empregado).
Higor Neto - higornetto@gmail.com
EXERCÍCIO 3.2
Dados:
A empresa paga 10,00 a hora trabalhada;

Receber: o nome do trabalhador e as horas trabalhadas;


Ex.:
Empregado eu = new Empregado();
eu.CalcularSalario(“Higor”, 40)

Resultado: o salário bruto dos empregados;


“Higor tem salário de R$ 400 reais.” 16

Higor Neto - higornetto@gmail.com


UMA CLASSE ESPECIAL: ENUM

 São classes especiais onde todos os seus possíveis


valores são conhecidos quando o tipo é definido,
formando um conjunto.

17

Higor Neto - higornetto@gmail.com


EXEMPLO DE ENUM

public enum Naipe


{
COPAS,
OURO,
VALETES,
ESPADA
}

18

Higor Neto - higornetto@gmail.com


EXEMPLO DE ENUM
...
Naipes naipes= Naipes.ESPADA;
if(naipes == Naipe.ESPADA)
{
System.out.println(“O naipe
recebido foi ESPADA”);
}
...
19

Higor Neto - higornetto@gmail.com


SWITCH COM ENUM
Naipes naipe = Naipes.COPAS;
switch( naipe )
{
case ESPADA :
System.out.println("O valor recebido foi:
ESPADA");
break;
case COPAS :
System.out.println("O valor recebido foi:
COPAS");
break; 20

}
Higor Neto - higornetto@gmail.com
MÉTODOS E ATRIBUTOS DE UM TIPO ENUM
public enum Naipes
{
COPAS,
OURO,
VALETES,
Atributo do Enum
ESPADA;
private int numeroDeCartas= 52;
public int getNumeroDeCartas()
{
Método do Enum
return numeroDeCartas;
21
}
} Higor Neto - higornetto@gmail.com
OBSERVAÇÕES SOBRE TIPOS ENUM

 Tipos enum são implicitamente final(constantes).


U1
 Constantes enum são implicitamente static.

 Objetos do tipo enum não podem ser criados usando o


operador new.

22

Higor Neto - higornetto@gmail.com


Slide 22

U1 Verificar esta informação (Deitel).


Usuário; 30/6/2010
QUANDO USAR TIPOS ENUM?

 Constantes relacionadas por um tipo específico: Dias da


semana, Cartas de um baralho etc.

 O universo das constantes deve ser pequeno. Mas deve


ser avaliado se vale a pena usar-lo com uma
quantidade considerável de valores.

23

Higor Neto - higornetto@gmail.com


EXERCÍCIO 3.3

 Modifique o exercício 3.1 e classifique os funcionários


em: (RH, Programador, Diretoria e Serviçõs Gerais).

 Use enum para criar estes quatro valores.

 Coloque um novo atributo na classe funcionário do tipo


do enum criado.

 Teste a aplicação.

24

Higor Neto - higornetto@gmail.com