Наскоро забелязах идиосинкразия на Java по отношение на основните аритметични операции в Java. Със следния код
byte a = 3;
byte b = 4;
byte c = a * b;
Получавам грешка при компилация „разминаване на типа“...
Дали основните аритметични операции в Java (+
, -
, *
, /
) се изпълняват само върху примитивни типове данни от int
и по-висок ред (long
, double
и т.н.), докато аритметичните операции върху byte
и short
първо се прехвърлят към int
и след това се оценяват ?