how frequently does the letter + appear in:
q: как работает ++ в java? учу я.п. java, в одном видео курсе человек привёл такой пример:
int a = 5;
int b = 3;
int c = a + b++;

system.out.println(b);

при выводе на экран переменная b выдаёт значение 4, но 4 это значение переменной с, а в sout выводится переменная b, изначально ведь значение переменной b=3;.
почему он мне выдаёт b++, а не b?

a: b++ - это увеличение значения b на 1 и возврат значения b до этого увеличения
++b - это увеличение значения b на 1 и возврат нового значения
соответственно
b = 999;
system.out.println(b++);
system.out.println(b);

даст вывод

999
1000

а
b = 999;
system.out.println(++b);
system.out.println(b);

даст вывод

1000
1000

это все, что вам нужно знать об инкременте (с декрементом то же самое, только значение b уменьшается на 1, а не увеличивается).
соответственно, когда вы в любом контексте пишете b++, значение b увеличивается на 1 и возвращается ее значение до увеличения на 1.

например, что выведет следующее?
int b = 1;
int a = b++ + b++ + ++b;
system.out.println(a +   + b);

для того, чтобы это узнать, поработаем компьютером.
натыкаемся на первое b++. b теперь равен (то есть в ячейку памяти с переменной b записывается такое значение) 2. возвращаем же 1 (то есть значение, которое b имело до увеличения на 1):
int a = 1 + b++ + ++b;

натыкаемся на второе b++. b теперь равен 3. возвращаем же 2:
int a = 1 + 2 + ++b;

натыкаемся на ++b. b теперь равен 4. возвращаем же 4 (то есть значение после увеличения на 1):
int a = 1 + 2 + 4;

вывод тогда будет следующим:

7 4


a: выражение b++; это инкремент. означает, что мы используем текущее значение и после увеличиваем его на единицу.
int c = a + b++; // с = 5 + 3;

в следующей строке значение b=4
system.out.println(b); // b=4

a: потому что b++ увеличивает значение b на единицу.
p.s. и значение с совсем не 4.

a: да что же вы так путано объясняете то?
b++;

эквивалентно
b=b+1;


user
I counted 56 "+"s in that text.
assistant