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