Что будет напечатано на экран следующим кодом:

class Main {
    public static void main(String[] args) {
        int i = 0;
        System.out.println(++i == i++);
        System.out.println(i++ == i++);
    }
}
Explanation

Оператор ++ выполняет увеличение переменной на единицу. Значением выражения i++ является исходное значение переменной (до увеличения), а значением выражения ++i является новое значение переменной (уже увеличенное).

В первом выражении сравниваются два значения переменной i:
слева — после первого увеличения — 1
справа — перед вторым увеличением — опять 1.
Схематично: 0 → 1 == 1 → 2
Результатом будет true.

Во втором выражении сравниваются два значения переменной i:
слева — перед третьим увеличением — 2
справа — перед четвертым увеличением — 3.
Схематично: 2 → 3 == 3 → 4
На этот раз результатом будет false.

Follow CodeGalaxy

Mobile Beta

Get it on Google Play
Send Feedback
Keep exploring
Java quizzes
Cosmo
Sign Up Now
or Subscribe for future quizzes