В Java:
a = a + b;
означает, что старое значение «а» добавляется к значению b, и результат этой суммы становится новым значением «а». Это утверждение можно переписать как:
a += b;
+= — оператор присваивания сложения. + слева, а = справа. Если + стоит справа, то это будет означать плюс b (операнд).
Еще на Яве:
a = a — b;
означает, что b вычитается из старого значения «а», и результат этой разницы становится новым значением «а». Это утверждение можно переписать как:
a -= b;
-= — это оператор присваивания вычитания. — слева, а = справа. Если — справа, то это будет означать минус b (операнд).
В этой статье показано использование операторов += и -= с числовыми типами Java. Он также иллюстрирует использование оператора += со строковым типом.
Числовые типы
Целое число
Addition Assignment
Рассмотрим следующий сегмент кода:
int a = 5;
int b = 3;
a += b;
System.out.println(a);
«a» и b — целочисленные переменные, содержащие разные числа. Результат равен 8, что означает, что старое значение «а» было добавлено к значению b, чтобы получить новое значение «а».
Subtraction Assignment
Рассмотрим следующий сегмент кода:
int a = 5;
int b = 3;
a -= b;
System.out.println(a);
«a» и b — целочисленные переменные, содержащие разные числа. Выход равен 2, что означает, что значение b было вычтено из старого значения «а», чтобы получить новое значение «а».
Float
Addition Assignment
Рассмотрим следующий сегмент кода:
float a = 5.5f;
float b = 3.5f;
a += b;
System.out.println(a);
«a» и b — переменные с плавающей запятой, содержащие разные числа. В Java число с плавающей запятой отличается от двойного числа буквой «f» в конце. Результат равен 9,0, что означает, что старое значение «а» было добавлено к значению b, чтобы получить новое значение «а».
Subtraction Assignment
Рассмотрим следующий сегмент кода:
float a = 5.5f;
float b = 3.5f;
a -= b;
System.out.println(a);
«a» и b — переменные с плавающей запятой, содержащие разные числа. В Java число с плавающей запятой отличается от двойного числа буквой «f» в конце. Результат равен 2,0, что означает, что значение b было вычтено из старого значения «а», чтобы получить новое значение «а».
Double
Addition Assignment
Рассмотрим следующий сегмент кода:
double a = 5.5;
double b = 3.5;
a += b;
System.out.println(a);
’a’ и b — двойные переменные, содержащие разные числа. В Java число с плавающей запятой отличается от двойного числа буквой «f» в конце. Двойное число не имеет на конце букв «f» или «d». Результат равен 9,0, что означает, что старое значение «а» было добавлено к значению b, чтобы получить новое значение «а».
Subtraction Assignment
Рассмотрим следующий сегмент кода:
double a = 5.5;
double b = 3.5;
a -= b;
System.out.println(a);
«a» и b — переменные с плавающей запятой, содержащие разные числа. В Java число с плавающей запятой отличается от двойного числа буквой «f» в конце. Результат равен 2,0, что означает, что значение b было вычтено из старого значения «а», чтобы получить новое значение «а».
byte
Addition Assignment
Рассмотрим следующий сегмент кода:
byte a = 5;
byte b = 3;
a += b;
System.out.println(a);
’a’ и b — байтовые переменные, содержащие разные числа. Результат равен 8, что означает, что старое значение «а» было добавлено к значению b, чтобы получить новое значение «а».
Subtraction Assignment
Рассмотрим следующий сегмент кода:
byte a = 5;
byte b = 3;
a -= b;
System.out.println(a);
’a’ и b — байтовые переменные, содержащие разные числа. Выход равен 2, что означает, что значение b было вычтено из старого значения «а», чтобы получить новое значение «а».
String Class
+ и Strings
Для строк + означает, что две строки должны быть объединены. Рассмотрим следующий сегмент кода:
String c = «Tough» + » Guy»;
System.out.println(c);
Результат — «Крутой парень». Таким образом, две строки были объединены.
В Java есть += для строк, но нет -= для строк.
Со строками Java,
a = a + b;
означает, что старое строковое литеральное значение ’a’ объединяется перед литеральным строковым значением b, и результатом этого объединения становится новое значение ’a’. Это утверждение можно переписать как:
a += b;
+= — оператор присваивания сложения. + слева, а = справа.
Рассмотрим следующий сегмент кода:
String a = «Tough»;
String b = » Guy»;
a += b;
System.out.println(a);
’a’ и b — строковые переменные, содержащие разные литералы. Результатом является «Крутой парень», что означает, что старое значение «а» было объединено перед значением b, чтобы получить новое значение «а».
Это все еще можно сделать с помощью b как строкового литерала, как в следующем фрагменте кода:
String a = «Tough»;
a += » Guy»;
System.out.println(a);
Выход по-прежнему «Крутой парень».
char
+= и -= работают с символами, например, с идеей, что «B» + 1 = «C» и «B» — 1 = «A».
Addition Assignment
Рассмотрим следующий сегмент кода:
char a = ‘B’;
int b = 1;
a += b;
System.out.println(a);
’a’ — символьная переменная, а b — целочисленная переменная; они содержат разные «номера». Результатом является «C», что означает, что старое значение «a» было добавлено к значению b, чтобы получить новое значение «a».
Subtraction Assignment
Рассмотрим следующий сегмент кода:
char a = ‘B’;
int b = 1;
a -= b;
System.out.println(a);
’a’ — символьная переменная, а b — целочисленная переменная; они содержат разные «номера». Результатом является «A», что означает, что значение b было вычтено из старого значения «a», чтобы получить новое значение «a».
Заключение
Заявление,
a += b;
означает, что старое значение «а» добавляется к значению b, и результат этой суммы становится новым значением «а». Заявление,
a -= b;
означает, что b вычитается из старого значения «а», и результат этой разницы становится новым значением «а».
Строковый класс имеет +=, но не имеет -=; и это для конкатенации.