WildSery пишет:
напрмер говорят что в C++: int i = 5; int j = ++i + ++i; j == 14, а нодо бы 13
- сам не проверял
Всё правильно, 14.
Префиксные плюсы отрабатывают до вычисления выражения.
Хм. Java так не думает. :)
Промежуточный результат подставляется в выражение. То бишь j = 6 + 7.
Java
====
public class PlusPlusTest
{
public static void main(String[] args)
{
int i = 5;
i = ++i + ++i;
System.out.println(i);
}
}
C:\j2sdk1.4.2_10\bin>javac.exe PlusPlusTest.java
C:\j2sdk1.4.2_10\bin>java PlusPlusTest
13
JScript
=======
var i = 5;
i = ++i + ++i;
WScript.Echo(i);
C:\>cscript PlusPlusTest.js
Сервер сценариев Windows (Microsoft (R) ), версия 5.1 для Windows
(C) Корпорация Майкрософт 1996-1999. Все права защищены.
13