Рассмотрим этот код:
public class ShortDivision {
public static void main(String[] args) {
short i = 2;
short j = 1;
short k = i/j;
}
}
При компиляции это приводит к ошибке
ShortDivision.java:5: possible loss of precision
found : int
required: short
short k = i/j;
потому что тип выражения i/j, по-видимому, является int и поэтому должен быть отброшен до короткого.
Почему тип i/j
не короткий?