В чем разница между a + = b и a = + b, а также ++ и ++ a?
Как я упоминал в названии,
В чем разница между a = = b и a = + b, а также ++ и ++ a? Я немного запутался
Ответы
Ответ 1
a += b
эквивалентно a = a + b
a = +b
эквивалентно a = b
a++
и ++a
оба приращения a
на 1.
Разница в том, что a++
возвращает значение a
до приращения, тогда как ++a
возвращает значение после приращения.
То есть:
a = 10;
b = ++a; //a = 11, b = 11
a = 10;
b = a++; //a = 11, b = 10
Ответ 2
a += b
эквивалентно a = a + b
a = +b
эквивалентно a = b
a++
- это приращение постфикса, а ++a
- приращение префикса. Они не отличаются при использовании в автономном заявлении, однако их результат оценки отличается: a++
возвращает значение a
до приращения, а ++a
после. То есть.
int a = 1;
int b = a++; // result: b == 1, a == 2
int c = ++a; // result: c == 3, a == 3
Ответ 3
a + = b ======== > a = a + b
a = + b ======== > a = b
++ a будет увеличивать переменную и возвращать добавочное значение.
a ++ увеличит эту переменную, но вернет значение до того, как оно будет увеличено.
Ответ 4
Другие ответили на большинство ваших вопросов. Тем не менее, они немного пропускают ваш второй пример.
a = +b
присваивает значение +b
a
. "Унарный плюс" - это не операция для числовых типов, но ошибка времени компиляции для других типов объектов (например, вы не можете использовать ее со строкой). Он предоставляется в основном, чтобы вы могли писать цифры с ведущим знаком +
, когда захотите. Это никогда не требуется, но в некоторых случаях это может улучшить читаемость.
Ответ 5
Операторы Java
a += b; // a = a + b
a = +b; // a = b
a++; // a = a + 1 (returning a if used inside some expression)
++a; // a = a + 1 (returning a + 1 if used inside some expression)
Ответ 6
a += b <=> a = a + b
a =+ b <=> a = b
a++ // post increment, means the value gets used, and after that, a is incremented by one
++a //pre increment, a is incremented by one before the value is used
Ответ 7
a ++ сначала считывает значение a, а затем увеличивает его значение. ++ сначала увеличивает значение, а затем читает его. Вы можете легко увидеть разницу в их печати.
int a = 4;
System.out.println(a++); // prints 4, after printing, a == 5
System.out.println(++a); // first increments a, then reads its value (6), and that what got printed.
для a += b
и a = +b
, @Péter Török ответил четко.
Ответ 8
Вы можете найти разницу здесь Есть примеры для всех случаев, о которых вы упоминаете!