读书人

求教 关于++的有关问题

发布时间: 2012-08-03 00:12:14 作者: rapoo

求教 关于++的问题?

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

读书人网 >J2SE开发

热点推荐