Недавно я заметил идиосинкразию Java относительно основных арифметических операций в Java. Со следующим кодом
byte a = 3;
byte b = 4;
byte c = a * b;
Я получаю ошибку компиляции типа "несоответствие"...
Являются ли основные арифметические операции в Java (+, -, *, /) выполняются только для примитивных типов данных int и более высокого порядка (long, double и т.д.), тогда как арифметические операции на byte и short сначала переносятся на int, а затем вычисляются?