Найти в Дзене

Крутой курс Java для "чайников". Урок 8. Операторы присвоения.

В предыдущем уроке мы рассмотрели работу простейшего оператора присвоения =. Мы поняли, что он используется для присвоения значений константам и переменным. Причём присваивать можно простые значения любых типов данных, значения других переменных и констант, значения сложных выражений. В текущем уроке рассмотрим вариации оператора присвоения. Работают все эти операторы очень просто. += Сложение с присвоением Выражение a += b является аналогом выражения a = a + b. То есть переменной a присваивается значение, равное сумме первоначального (предыдущего) значения переменной a и значения переменной b. Пример использования c числовыми данными. Объявляем 2 целочисленные переменные int a = 2; int b = 3; Далее используем оператор сложения с присвоением a += b; Первоначальное значение переменной a: 2, значение переменной b: 3. Команда a += b; присваивает переменной a сумму исходного значения переменной a и значения переменной b. 2 + 3 = 5. Таким образом после выполнения команды a += b; значение п

В предыдущем уроке мы рассмотрели работу простейшего оператора присвоения =. Мы поняли, что он используется для присвоения значений константам и переменным. Причём присваивать можно простые значения любых типов данных, значения других переменных и констант, значения сложных выражений. В текущем уроке рассмотрим вариации оператора присвоения.

  • += Сложение с присвоением
  • -= Вычитание с присвоением
  • *= Умножение с присвоением
  • /= Деление с присвоением
  • %= Деление по модулю с присвоением

Работают все эти операторы очень просто.

+= Сложение с присвоением

Выражение a += b является аналогом выражения a = a + b. То есть переменной a присваивается значение, равное сумме первоначального (предыдущего) значения переменной a и значения переменной b.

Пример использования c числовыми данными. Объявляем 2 целочисленные переменные

int a = 2;

int b = 3;

Далее используем оператор сложения с присвоением

a += b;

Первоначальное значение переменной a: 2, значение переменной b: 3. Команда a += b; присваивает переменной a сумму исходного значения переменной a и значения переменной b. 2 + 3 = 5.

Таким образом после выполнения команды a += b; значение переменной a станет равно 5.

Если выполнить команду a = a + b; то результат будет таким же. Переменной a присваивается значение 2 + 3, равное 5.

При работе с данными строкового типа ситуация аналогичная

String a = "Привет, ";

String b = "Мир!";

Команда a += b; присвоит переменной a значение строкового типа "Привет, Мир!"

-= Вычитание с присвоением

Выражение a -= b является аналогом выражения a = a - b

Оператор -= работает только с числовыми типами данных.

Пример использования.

int a = 8;

int b = 5;

Далее используем оператор вычитания с присвоением

a -= b;

Значению переменной a присваивается значение, равное a - b, которое равно 8 - 5, то есть 3.

Таким образом, после выполнения оператора a-=b; значение переменной a станет равно 3.

*= Умножение с присвоением и /= Деление с присвоением

Эти операторы работают также с числовыми типами данных аналогично предыдущим операторам.

Выражение a *= b является аналогом выражения a = a * b;

Выражение a /= b является аналогом выражения a = a / b;

Рассмотрим примеры использования.

int a = 10;

int b = 2;

Если использовать оператор a *= b то он присвоит переменной a значение, равное a * b, которое равно 10 * 2, то есть 20.

Если использовать оператор a /= b то он присвоит переменной a значение, равное a / b, которое равно 10 / 2, то есть 5.

%= Деление по модулю с присвоением

И этот оператор работает с числовыми типами данных.

Выражение a %= b является аналогом выражения a = a % b;

Приведём пример использования.

int a = 19;

int b = 5;

Оператор a %= b; присвоит переменной a значение, равное остатку от деления по модулю 19 на 5. Высчитаем, чему оно равно. 19 / 5 = 3,8. Отбрасываем дробную часть, остаётся 3. Значит, в числе 19 содержатся 3 целых пятёрки. 3 * 5 = 15. Остаток от деления по модулю на 5 равен 19 - 15 = 4.

Таким образом, оператор a %= b; присвоит переменной a значение, равное a % b, равное 4.

Теперь на практике рассмотрим работу этих операторов.

Создадим новый класс с именем Prisv

class Prisv

{

}

Внутри фигурных скобок класса Prisv объявим главный метод main

public static void main (String[] args)

{

}

Внутри фигурных скобок метода main объявим 2 целочисленные переменные

int a = 3;

int b = 4;

и выведем на экран их начальные значения:

System.out.println("Начальное значение переменной a " + a);

System.out.println("Начальное значение переменной b " + b);

Далее применим к переменной a оператор сложения с присвоением

a += b;

Выведем на экран измененное значение переменной a

System.out.println("Значение переменной a после выполнения оператора a+=b " + a);

Затем применим к переменной a оператор вычитания с присвоением

a -= b;

Ещё раз выведем на экран измененное значение переменной a

System.out.println("Значение переменной a после выполнения оператора a-=b " + a);

Теперь применим к переменной b оператор умножения с присвоением

b *= a;

Выведем на экран измененное значение переменной b

System.out.println("Значение переменной b после выполнения оператора b *= a " + b);

Затем применим к переменной b оператор деления с присвоением

b /= a;

Выведем на экран измененное значение переменной b

System.out.println("Значение переменной b после выполнения оператора b /= a " + b);

И, наконец, применим к переменной b оператор деления по модулю с присвоением

b %= a;

и выведем на экран новое значение переменной b

System.out.println("Значение переменной b после выполнения оператора b %= a " + b);

И, напоследок, продемонстрируем работу оператора += с данными строкового типа.

Объявим 2 переменные строкового типа

String text1 = "Привет, ";

String text2 = "_____________!";

Вместо _____________ укажите своё имя. А я укажу своё.

Теперь применим к строковым данным оператор +=

text1 += text2;

и выведем на экран результат присваивания с объединением строк

System.out.println("Результат объединения строк: " + text1);

Далее сохраним программу под именем Prisv.java

скомпилируем командой javac Prisv.java и запустим командой java Prisv

-2

Выводы:

  • Выражение a += b; является аналогом выражения a = a + b;
  • Выражение a -= b; является аналогом выражения a = a - b;
  • Выражение a *= b; является аналогом выражения a = a * b;
  • Выражение a /= b; является аналогом выражения a = a / b;
  • Выражение a %= b; является аналогом выражения a = a % b;
  • Оператор += используется как с числовыми, так и со строковыми типами данных
  • Операторы +=, -=, *=, %= используются с числовыми типами данных

Ссылка на предыдущий урок

Ссылка на следующий урок

Ссылка на содержание курса