В результате первый a не изменяется, второй инкрементируется, а третий увеличен на 2 от первоначального значения. Причем результат не зависит от расставленных скобок, инкрементирование происходит от начала строки.
чисто на всякий случай распишу немного подробнее для тех, кто не знает.
++ имеет самый высокий приоритет среди всех операторов java (пруфлинк)
то есть эта операция всегда выполняется раньше любых других.
тут кто-нибудь может начать ругаться, что постфиксный оператор выполняется после всех вычислений, но это не так.
На самом деле компилятор просто подставляет вместо i++ старое значение переменной, а вместо ++i — уже новое, измененное значение.
Вот цитата:
The only difference is that the prefix version (++result) evaluates to the incremented value, whereas the postfix version (result++) evaluates to the original value.
Хотя если исходить из лекции 21, можно подумать что в выводе будет 2. Там был такой пример
В результате первый a не изменяется, второй инкрементируется, а третий увеличен на 2 от первоначального значения. Причем результат не зависит от расставленных скобок, инкрементирование происходит от начала строки.
равносильно, т.к. постфиксная операция
что имеет мало смысла.
++ имеет самый высокий приоритет среди всех операторов java (пруфлинк)
то есть эта операция всегда выполняется раньше любых других.
тут кто-нибудь может начать ругаться, что постфиксный оператор выполняется после всех вычислений, но это не так.
На самом деле компилятор просто подставляет вместо i++ старое значение переменной, а вместо ++i — уже новое, измененное значение.
Вот цитата:
на этом можно успокоиться, честное слово. никаких pp =… не надо
)))