ОЧ
Оксана Чернышева
Java отличие = от +=? Обьясните пожалуйста!
В чем отличие = от +=? Я писал код и ответ был неверный но как я изменил += на = то ответ получился верный, прошу обьясните!
В чем отличие = от +=? Я писал код и ответ был неверный но как я изменил += на = то ответ получился верный, прошу обьясните!
= присвоение
+= Это все равно, что, например: i = i + 1. Можно написать i += 1
i = i + 1 не совсем эквивалентно i += 1. Есть одна тонкость - в случае i += 1 идет автоматическое приведение к типу i. Если написать:
byte i = 0;
i = i + 1;
будет ошибка, так как i + 1 автоматически приводится к типу int. Поэтому нужно будет написать:
i = (byte) (i + 1);
В случае же i += 1 ошибки не будет.
То есть получается в данном случае как бы i += 1 эквивалентно i = (byte) i + 1;
В общем случае получается, что i += 1 эквивалентно i = (T) (i + 1), где T - это тип i.
Эдакий инкремент (но с параметром)