В чем разница между 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

Вы можете найти разницу здесь Есть примеры для всех случаев, о которых вы упоминаете!