Expressões em Java

Java para Iniciantes (Oracle) - Jul 6 - - Dev Community

Componentes de Expressões

  • Operadores, variáveis e literais são componentes de expressões.
  • Expressões são similares às equações algébricas.

Conversão de Tipos em Expressões

  • É possível usar diferentes tipos de dados em uma expressão se forem compatíveis (e.g., short e long).
  • Tipos diferentes são convertidos para o mesmo tipo usando regras de promoção de tipos.

Regras de Promoção de Tipos

  • Promoção a int: Valores char, byte e short são promovidos a int.
  • Promoção a long: Se um operando for long, a expressão inteira é promovida a long.
  • Promoção a float: Se um operando for float, a expressão inteira é promovida a float.
  • Promoção a double: Se algum operando for double, o resultado será double.

Efeitos da Promoção de Tipos

  • Promoções de tipos são aplicadas apenas durante a avaliação da expressão.
  • A variável original mantém seu tipo após a avaliação.
  • Promoções podem levar a resultados inesperados.

Exemplo de Promoção de Tipos
PromDemo.java

Coerção em Operações com char
Operações com char podem precisar de coerção devido à promoção a int:

char ch1 = 'a', ch2 = 'b';
ch1 = (char) (ch1 + ch2); // Coerção necessária para atribuir int a char

Enter fullscreen mode Exit fullscreen mode

Uso de Coerção para Divisão com Fração
Coerção é útil para obter resultados fracionários em divisões:
exemplo> UseCast.java

Pontos Importantes
Promoção de tipos: altera temporariamente o tipo dos operandos para garantir a compatibilidade durante a avaliação da expressão.
Coerção: usada para converter explicitamente o resultado de uma expressão para um tipo específico, quando necessário.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Terabox Video Player