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

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

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

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

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

В записи print(val++) переменная сначала выводится, а потом увеличивается на единицу. В записи print(++val) она сначала увеличивается, а потом выводится.

В следующем примере первый print выведет 0, потому что сначала сработает вывод, а уже затем переменная увеличится:

var val = 0; print(val++) // 0; print(val) // 1;

А теперь переменная вначале увеличится, а уже затем будет вывод:

var val = 0; print(++val) // 1;

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

var num1 = 0; var num2 = num1++ // в переменную num2 запишется 0 print(num2) // 0; print(num1) // 1;

А теперь поменяем постфиксную форму на префиксную:

var num1 = 0; var num2 = ++num1 // в переменную num2 запишется 1 print(num2) // 1;

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

var val = 0; ++val val++ print(val) // 2;

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

var val = 3; print(++val);

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

var val = 3; print(val++);

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

var val = 3; print(--num);

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

var val = 3; print(num--);

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

var num1 = 3; var num2 = ++num1; print(num1); print(num2);

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

var num1 = 3; var num2 = num1++; print(num1); print(num2);

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

var num1 = 3; var num2 = --num1; print(num1); print(num2);

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

var num1 = 3; var num2 = num1--; print(num1); print(num2);

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

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