int a=2;
1//int b=(a++)+3*a; System.out.println(b); //11
2//int b1=(++a)+3*a; System.out.println(b1); //12
3//int c=a+3*(a++); System.out.println(c); //8
4//int c2=a+3*(++a); System.out.println(c2); //11
下面的a不受上面操作的影响.
我只想问下,第一个表达式中,先执行a++,a为2,后面的a变为3,即2+3*3=11
那么第三个表达式中,先执行a++,a为2,那按结果来算的话,为什么前面的a也是2,即2+3*2=8
难道是+a放在前面跟后面的原因么?求详细解释!
果然经过计算把表达式三中变为int c=3*(a++)+a; System.out.println(c); 结果即为9,这是什么原因呢~求解+a所放位置不同的区别!(注意不是++a,是+a) |
|