课程
/后端开发
/Java
/Java入门第一季(IDEA工具)
我想问下,为什么我这里的three=one+two.运算出来的结果是0呢?three1既然已经被我赋予one+two不该是10+20是30吗?
2016-10-01
源自:Java入门第一季(IDEA工具) 3-3
正在回答
理解java中各运算符的优先级即可,一步一步往下执行
经过最后int three6=three1%=one;
最终
three1=0;
three3=30;
three4=300;
three5=30;
three6=0;
慕雪1790920 提问者
慕粉4021294 回复 慕雪1790920 提问者
程序都是依照顺序结构执行的,即自上而下一步步执行。因此,在你还没有使用System.out.println()的时候,three1的值已经有了多次的变化。第一次的确是30,但后面就又改变了,因为你使用了+=运算符(加上数后再赋值),相比+运算符多了个赋值的变化。具体情况分析,参照楼上同学。
可是后面那些three1+=one、three1-=one、three1*=one....语句都是先对three1进行复合赋值操作,再把three1赋值给左边的变量...最后一个操作也就是three1%=one让three1的值变为0了
因为数据都被定义成的静态变量 (static)
举报
0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始
1 回答three=one+two
2 回答为什么 three = one + two;不能int three = one + two 吗
3 回答 int one = 10 ; int two = 20 ; int three = 0; three=one+two; three=three/one;=0 three/=one;=30我始终不明白three/=one为什么等于30
3 回答int one = 10 ; int two = 20 ; int three = 0 ;为什么three=one+two
2 回答three=one+two;有什么用?
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号