当前位置: 代码迷 >> J2SE >> 求教 关于++的有关问题
  详细解决方案

求教 关于++的有关问题

热度:29   发布时间:2016-04-24 00:36:20.0
求教 关于++的问题?
Java code
int i=1,m;m=(i++)+(++i)+(++i)+(++i)+(i++);System.out.println(m);System.out.print(i);

这个m的值为什么是18 怎么计算的,还有刚才那个帖子里的
Java code
int i=0;while(true){i=i++;System.out.println(i);}

怎么回事 为什么会循环输出0?
应该是0 1 2 3……
才对啊?

------解决方案--------------------
说的简单一点
i=i++;
相当于
int temp=i++; //先取i的值0,然后i自增变为1,然后把0赋给temp,即temp是0
i=temp;

同理
(i++)+(++i)+(++i)+(++i)+(i++);
相当于
int temp1=i++;
int temp2=++i;
int temp3=++i;
int temp4=++i;
int temp5=i++;
m=temp1+temp2+temp3+temp4+temp5
  相关解决方案