一个小问题,编译器是怎样执行这些表达式的? 假设x=2,y=31. x=(y=x)*0+y;2. x=x%3+4*2+x++; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1. 1)先执行(y=x) 2)x=(结果) 3)进行运算(先乘除后加减)2. 1)先负值x=x,和x++ 2)x=x结果和3求余 3)进行运算(先乘除后加减)参考:http://lshy168.qupan.com x和y的内存分配情况是怎样的呢?对第一个表达式,x=(y=x)*0+y;对蓝色的y,会不会因为(y=x),它的值会改变,如果不变,这是为什么? 其实这个问题挺简单利用eclipse的debug的单步执行,你可以看到每步变量的值的变化 2楼不对吧,一. x=(y=x)*0+y; 1. y=x // x=2, y=22. y*0+y // = 2, y不变3. x=2的结果 // x=2, y=2二.x=x%3+4*2+x++;1. (x%3)+(4*2)+x // 2%3+4*2+2=2+8+2=122. x++ // x=33. x=1的结果 // x=12 Jacob写word的问题求助 请问一个算法问题关于Socket的(急) class生成jar,但他的配置文件怎么办 等待一个人的出现 200阶乘的问题 散分问题:一个String字符串转成String[] 如何执行一个"System.exit(0);"这样一个字符串 求认证的104和147模拟题! 想要java书籍吗? 在座各位有没有用过Forte呢? 提问专家 一段把指定文件显示在dos窗口中,并且写入到指定文件中的代码
1)先执行(y=x)
2)x=(结果)
3)进行运算(先乘除后加减)
2.
1)先负值x=x,和x++
2)x=x结果和3求余
3)进行运算(先乘除后加减)
参考:http://lshy168.qupan.com
利用eclipse的debug的单步执行,你可以看到每步变量的值的变化
一. x=(y=x)*0+y;
1. y=x // x=2, y=2
2. y*0+y // = 2, y不变
3. x=2的结果 // x=2, y=2
二.x=x%3+4*2+x++;
1. (x%3)+(4*2)+x // 2%3+4*2+2=2+8+2=12
2. x++ // x=3
3. x=1的结果 // x=12