Por que o tipo resultante de uma divisão de números inteiros curtos em Java não é um número inteiro curto?
Considere este código:
public class ShortDivision {
public static void main(String[] args) {
short i = 2;
short j = 1;
short k = i/j;
}
}
Compilar isso produz o erro
ShortDivision.java:5: possible loss of precision
found : int
required: short
short k = i/j;
porque o tipo da expressão i / j é aparentemente int e, portanto, deve ser convertido para abreviado.
Por que o tipo dei/j
Não é pequeno?