qq_流年坠繁花_04322302
2016-11-20 20:12
int one = 10 ;
int two = 20 ;
int three = 0 ;
int a=one+two,b=a+=one,c=b-=one,
d=c*=one,e=d/=one,f=e%=one;
System.out.println(a+"\n"+b+"\n"+c+"\n"+d+"\n"+e+"\n"+f);
显示结果是
40
30
300
30
0
0
很是纳闷,怎么后面多了个0,前面少了个30
在你给后面的变量赋值时改变了前面的变量的大小。
比如a=one+two=30,当你给b赋值时,用了b=a+=one,这个时候先计算a+=one,意思是a=a+one=40,这个时候a=40,然后b=a+=one=40,所以当你给b赋值完后,结果是这样的,a=b=40。依次类推。
System.out.println(+a+"\n"+b+"\n"+c+"\n"+d+"\n"+e+"\n"+f);再试试
Java入门第一季(IDEA工具)升级版
1165550 学习 · 17586 问题
相似问题