Сложение с присваиванием в Java
Development, Java | Комментировать запись
В Java есть специальный оператор сложения с присваиванием, +=. В этом мануале мы попробуем разобраться, как он работает, и научиться им пользоваться в повседневной разработке.
В Java x += y – то же самое, что и x = x + y.
+= – это составной оператор присваивания. Чаще всего он используется для увеличения значения переменной, поскольку x++ увеличивает значение только на единицу.
Увеличение значений с помощью +=
Следующий код увеличит значение переменной a на 2. Давайте посмотрим на примеры внимательнее:
int a = 1; a+=2; System.out.println(a);
Вы получите такой результат:
Если бы мы использовали a++:
int a = 1; a++; System.out.println(a);
Результат был бы следующим:
Значение а увеличилось всего на 1.
Оператор += в циклах Java
Оператор сложения с присваиванием также можно использовать в циклах:
for(int i=0;i<10;i+=2) { System.out.println(i); }
Вы получите:
При каждой итерации значение увеличивается на 2.
Работа с несколькими типами данных
Еще одна интересная вещь, которую следует отметить: в Java сложение целого числа с числом с плавающей точкой при помощи регулярного выражения приведет к ошибке.
int a = 1; a = a + 1.1; // Gives error a += 1.1; System.out.println(a);
Первая строка выдает ошибку, так как эти типы данных нельзя складывать.
error: incompatible types: possible lossy conversion from double to int a = a + 1.1; // Gives error
Однако при использовании оператора += в Java сложение работает нормально, поскольку Java преобразует число с точкой в целое значение и прибавляет его как 1. Вот что получится, если запустить код с оператором +=.
E1 op= E2 эквивалентно E1 = (T) ((E1) op (E2)), где T — тип E1, а E1 оценивается только один раз. Так Java выполняет приведение типов, чтобы сложить два числа.
Конкатенация строк
Оператор += также может работать со строками, например, выполнять слияние строк. Посмотрим на этот пример:
String a = "Hello"; a+="World"; System.out.println(a);
Как видите, строка Hello изменилась: к ней добавилась строка World.
Заключение
+= — важный оператор присваивания. Чаще всего он используется в циклах. Подобным образом работает присваивание с другими операторами, такими как -=, *=, /=.
Читайте также: Как работают принципы ООП в Java: примеры
Tags: Java