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
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.