4.3.1. Операции «увеличить» и «уменьшить» (increment, decrement)Операции "увеличить на единицу" и "уменьшить на единицу" могут быть префиксными и постфиксными. К высшему приоритету относятся постфиксные операции x++ и x--. Префиксные операции имеют на единицу меньший приоритет. Главной особенностью как префиксных, так и постфиксных операций является побочный эффект, в результате которого значение x увеличивается (++) или уменьшается (—) на единицу. Для префиксных (++x, --x) операций результатом их выполнения является измененное значение x, постфиксные операции возвращают в качестве результата значение x до изменения. Приведем пример применения этих операций, дополнив метод Express новым фрагментом: //операции increment и decrement Обратите внимание, что хотя у постфиксной операции высший приоритет, это вовсе не означает, что при вычислении выражения вначале выполнится операция in1++, затем ++in1, и только потом будет проводиться сложение. Ничего подобного, вычисления проводятся в том порядке, в котором они записаны. Поскольку на входе значение in1 было равно 6, то выражение будет вычисляться следующим образом: 7(7) + 7 + 7(8), где в скобках записан побочный эффект операции. Так что консольный вывод даст следующий результат: in1 = 21. Операциями «увеличить» и «уменьшить» не следует злоупотреблять. Уже оператор, приведенный в нашем фрагменте, сложен для понимания из-за побочного эффекта.
|