Если у меня есть байтовая переменная: byte b = 0;
почему работает следующее:
b++;
b += 1; // compiles
... но это не так ?
b = b + 1; // compile error
Компилятор понимает первый как байт
, а второй как int
?
[EDIT]
Я знаю кастинг, но хочу обратить ваше внимание на b ++, b + = 1 и b = b + 1
Я думаю, что они равны, поэтому почему компилятор от них отличается? в чем разница между
b += 1 and b = b + 1 ?