public class TheGameTest
{
public static void main(String[] args)
{
int a = 5; int b = 4;
int c = a++ - --b * ++a / b-- >>2 % a--;
System.out.println(c);
}
}
(1) int a = 0 ; | (2) int c = 0;
int b = ++a + ++a ; | int d = c++ + ++c ;
int b = (0+1) + (1+1) ; | int d = (0) + (1+1);
int b = 3 ; | int d = 2;
第一个a++ 先自加 值为:1 第二个 a自加之前值已经为1 , 再自加为2 | 第一个c++是先运算再自加,值为0. 第二个++c
因为之前的c++,所以运算后赋值自身,所以++c值为2;
上面的两个表达式也算是找出了最上面问题的所在了...