В программах часто можно увидеть выражения i++ или ++i. Эта операция называется инкрементом. Существует два вида инкремента: «префиксный инкремент», т.е. ++i и «постфиксный инкремент»,  т.е. i++. Чтобы лучше понять «как это работает» рассмотрим пример:

int a,i = 7;
a = ++i;
System.out.println("a = " + a + "\ni = " + i);		

Сначала i увеличили на 1, т.е. i = 8, потом a присвоили i. Т.е. a тоже равно 8

Вывод программы:

a = 8
i = 8

Теперь пусть будет такая программа:

int a,i = 7;
a = i++;
System.out.println("a = " + a + "\ni = " + i);

Тут сначала мы a присвоили i, т.е. а = 7, i увеличивается на 1, т.е. i = 8

Вывод программы:

a = 7
i = 8

Рассмотрим сложный пример ( это только пример, в реальных проектах такое не нужно использовать).

int i = 7;
System.out.println(++i + ++i*7 + 13*i++);

Что будет выведено на экран ?

Давайте считать:
++i — (i = 8)
++i*7 — (9*7)
13*i++ — (13*9)
Т.е. ответ:
8 + 7*9 + 13*9 = 188

 

 

Реклама