2 回答
TA贡献3593条经验 获得超0个赞
TA贡献112条经验 获得超42个赞
修正一下刚刚的回答:答案是j=5!
分析过程不变
int i = 1;
int j = ++i + ++i;
System.out.println(j);
此时i=3,j=5;
如果你换一种写法
int i = 1;
int j = i++ + i++
System.out.println(j);
那么此时i=3,j=3
也就是说++在变量前面,先计让变量+1再进行与其他的表达式进行运算,如果++在后面,那么就是先进行运算后将变量自身+1
(++i)/(i++)都是一个整体,按照前面的分析,如果++/--在前,那么先进行自身的自增或自减,在跟后面的表达式进行运算。若果在后面则先进行运算在对自身进行自增或自减。
你这里进行了两次自增,所以特别注意这一规则。
TA贡献112条经验 获得超42个赞
首先要肯定一下的是:答案是4!
int i = 1;
int j = ++i + ++i;
System.out.println(j);
此时i=3,j=4;
如果你换一种写法
int i = 1;
int j = i++ + i++
System.out.println(j);
那么此时i=3,j=2
也就是说++在变量前面,先计让变量+1再进行与其他的表达式进行运算,如果++在后面,那么就是先进行运算后将变量自身+1
TA贡献2条经验 获得超0个赞
答案是5,
因为:“+“在变量前面意思是:在运算之前就自动加1,在第一个自增后为2,然后去加第二个自增,这时候第二个自增会本身已经接收到了第一个自增后的结果(因为你的两个变量是一个,所以每次会用最新的数据),所以第二个自增后会变3,如果还有第3个,那它在自增前会调用第2个,自增后就会为4。
如果在变量后面例如:int i=1; int j=i++ + i++;则意思是在运算后在自增,所以答案会是2.
自减的写法一样,意思也一样,不同的是自减每次是减1.
添加回答
举报