关于i+++++i问题 如果int i=4;int y=i+++++i;则y等于多少??如何判断?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 结果是10i++ 是 4 ++i 是 6(i++在后一次用到i时,是5,然后++i是6)y=4+6 应该是这样子写的y = i++ + ++i; 没空格不行吧:int y = i++ + ++i;i++ =4 随后i=5++i = 64+6 = 10 i++的值为4,i变成5++i的值为6,i变成6所以 y=4+6=10 你这句话,应该没法编译吧?要加上空格:int y=i++ + ++i;加上空格后,其实就很容易理解了吧?因为 ++ 运算符的特殊性,i++会在整个表达式运算完成后才执行,而++i会在表达式计算之前就执行,所以上面这句话相当于被拆解成:++i;int y = i+i;i++;所以y=5,i=6 我想问的就是为什么我写那个编译不通过呢??如何判断是否能编译通过呢????比如int i=4;int y=i+++i+++i++;就能通过 基于lz的纠结,我去eclipse上面测试了一下,发现编译的时候 i++ 后面可以有 + 号,但是 ++i 前面不能有加号。 int y = (i++) + (++i); 如果int i=4;int y=i+++++i;计算步骤:int y = (i++) + (++i); int y = 4 + (++i); //这个时候i变成了5int y = 4 + (++5)//++5 等于6int y = 4+ 6=10 不管是先i++,还是先++i,结果都是10。。i++ + ++i中间的+必须有空格。。 如果int i=4;int y=i+++++i;计算步骤:int y = (i++) + (++i); int y = (i++) + 5; int y = 5 + 5=10; y = i++ + ++i相当于// 解析i++t1 = i;i = i +1;// 解析++ii = i + 1;t2 = i;// 等式结果y = t1 + t2; 用jquery实现桌面始终一秒钟局部刷新一次的问题 请教高手一个关于EJB TimerService定时处理的问题。 servlet访问不到! 高分求JAVA一个程序?!!我没学过JAVA 100 分求大家帮个忙 websercice调用 不够再+ Tomcat与OracleOraHome92TNListener冲突如何解决? 关于在tomcat中实现JNDI与dataSource的问题 一个郁闷了一天的struts问题,那位高手来给看看,分不够可再加! 送分题 运行 EJB 容器, 又出错, 请帮忙 请大家推荐一下有关学习J2EE的好书~~ struts2中文参数乱码
i++ 是 4
++i 是 6(i++在后一次用到i时,是5,然后++i是6)
y=4+6
int y = i++ + ++i;
i++ =4 随后i=5
++i = 64+6 = 10
++i的值为6,i变成6
所以 y=4+6=10
++i;
int y = i+i;
i++;所以y=5,i=6
如何判断是否能编译通过呢????
比如
int i=4;
int y=i+++i+++i++;
就能通过
int y=i+++++i;
计算步骤:
int y = (i++) + (++i);
int y = 4 + (++i); //这个时候i变成了5
int y = 4 + (++5)//++5 等于6
int y = 4+ 6=10
int y=i+++++i;
计算步骤:
int y = (i++) + (++i);
int y = (i++) + 5;
int y = 5 + 5=10;
相当于// 解析i++
t1 = i;
i = i +1;
// 解析++i
i = i + 1;
t2 = i;
// 等式结果
y = t1 + t2;