Java: aspectos básicos –
Parte II
Programação Orientada a Objeto (1COP009)
Prof. Bruno Bogaz Zarpelão
Objetivo
• Aprender mais algumas estruturas básicas do Java:
– Operador condicional ?:
– Coerção (conversão explícita e conversão implícita)
– Precisão de número de ponto flutuante
– Operadores de pré-incremento e pós-incremento
– Estrutura do...while
– Estrutura switch
2
Operador condicional ?:
• Pode ser usado no lugar de uma instrução if…else;
• É o único operador ternário do Java;
• Formato a ? b : c, onde:
– O operando a é a expressão booleana que será avaliada.
– O operando b é o valor da expressão condicional se o operando
a for true.
– O operando c é o valor da expressão condicional se o operando
a for false.
Exemplo: System.out.println(studentGrade>=60 ? “Passed” : “Failed”)
3
Conversão explícita e implícita entre tipos
primitivos
• Observe o código abaixo:
int total = 10;
int gradeCounter = 3;
double average = total / gradeCounter;
• O resultado da divisão será inteiro ou de ponto
flutuante?
4
Conversão explícita e implícita entre tipos
primitivos
• Solução: coerção (conversão explícita)!
double average = (double) total / gradeCounter
• Coerção é um operador unário.
• Ao fazermos esta conversão explícita, o Java converte
implicitamente o gradeCounter para double também.
• Executar exemplo em
https://github.com/pdeitel/JavaHowToProgram11e_EarlyObjects
/blob/master/examples/ch04/Fig04_10/ClassAverage.java
5
Precisão de número de ponto flutuante
• Números de ponto flutuantes são aproximações -> as
maquinas têm limitações de espaço para armazená-los.
• O tipo double é normalmente mais recomendado que
o float, justamente por ser capaz de representar
números de ponto flutuante com mais exatidão.
• Para cálculos que requerem mais precisão (monetários,
por exemplo), recomenda-se o uso do tipo
BigDecimal oferecido pelo Java.
6
Operadores de pré-incremento e pós-
incremento
• Operadores de incremento (++) e decremento (--) são
operadores unários bastante úteis.
• Podemos ter:
– Pré-incremento (++i) e pré-decremento (--i): incrementa
(decrementa) por 1 e então utiliza o valor da variável
atualizado na expressão onde ela se encontra.
– Pós-incremento (i++) e pós-decremento (i--): utiliza o valor
da variável na expressão onde ela se encontra e, então,
incrementa (decrementa) por 1.
7
Operadores de pré-incremento e pós-
incremento
• Vamos ver a diferença no seguinte código:
https://github.com/pdeitel/JavaHowToProgram11e_Early
Objects/blob/master/examples/ch04/Fig04_15/Incremen
t.java
8
Instrução de repetição do…while
• Primeiro o programa entra e executa o corpo do loop e
então é testada a condição.
• Vamos ver como esta estrutura funciona no seguinte
código:
https://github.com/pdeitel/JavaHowToProgram11e_EarlyObjects/blob
/master/examples/ch05/fig05_07/DoWhileTest.java
9
Estrutura switch
• Instrução de seleção múltipla.
• Realiza diferentes ações com base em valores de uma
expressão integral constante do tipo byte, short,
int, ou char.
• A partir do Java 7, a expressão pode ser também uma
String.
• Vamos ver um exemplo no seguinte código:
https://github.com/pdeitel/JavaHowToProgram11e_EarlyObjects
/blob/master/examples/ch05/fig05_09/LetterGrades.java
10