ForUpdate
должен быть StatementExpressionList
, то есть список StatementExpression
с.
i+2
является выражением, но не выражением оператора.
Выражения операторов можно неофициально (*) рассматривать как выражения, которые могут иметь побочный эффект, и поэтому для них имеет смысл стоять в одиночестве в утверждении. i+2
не имеет побочного эффекта, поэтому нет смысла его оценивать.
(*) Неофициально, потому что method1() + method2()
может иметь побочный эффект, потому что methodN()
может иметь побочный эффект; и тем не менее, это не выражение оператора, потому что «основное» выражение здесь - сложение - само по себе не имеет побочных эффектов.
Вы можете написать это как for (;; method1(), method2()) { ... }
(без добавления), если это было то, что вы хотели в вашем ForUpdate
.