Сложение с присваиванием в 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:

Добавить комментарий