Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jvPmNuPP 48 of 420 menu
◀ ▶

Префикс и постфикс в Java

Инкремент и декремент можно записать двумя способами. Разберем их на примере ++, для -- правила те же.

В первом способе операция записывается после имени переменной: num++. Во втором - перед именем: ++num.

Первая форма называется постфиксной, вторая - префиксной. Разница проявляется, когда операция стоит внутри другого выражения.

В записи System.out.println(num++) переменная сначала участвует в выводе, а потом увеличивается на единицу. В записи System.out.println(++num) она сначала увеличивается, а потом выводится:

int num = 0; System.out.println(num++); System.out.println(num);
int num = 0; System.out.println(++num);

Такое поведение относится не только к выводу, но и к присваиванию:

int num1 = 0; int num2 = num1++; System.out.println(num2); System.out.println(num1);
int num1 = 0; int num2 = ++num1; System.out.println(num2);

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

int num = 0; ++num; num++; System.out.println(num);

Не запуская код, определите, что выведется на экран:

int num = 3; System.out.println(++num);

Не запуская код, определите, что выведется на экран:

int num = 3; System.out.println(num++);

Не запуская код, определите, что выведется на экран:

int num1 = 3; int num2 = ++num1; System.out.println(num1); System.out.println(num2);

Не запуская код, определите, что выведется на экран:

int num1 = 3; int num2 = num1++; System.out.println(num1); System.out.println(num2);
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить