Topic: java运算符优先级问题 |
Print this page |
1.java运算符优先级问题 | Copy to clipboard |
Posted by: sirius93 Posted on: 2007-08-06 12:43 最近看到一道题目 int x=5,y=3; x=x+(x++) +(x--) ; System.out.println; 调试后发现输出的x为16,我怎么都想不通为什么是这个答案. 请帮忙指示一下到底这题的运算过程是怎么样的? |
2.Re:java运算符优先级问题 [Re: sirius93] | Copy to clipboard |
Posted by: 小猴一赞 Posted on: 2007-08-06 19:15 x=5+(5+1)+((5+1)-1)=16 |
3.Re:java运算符优先级问题 [Re: sirius93] | Copy to clipboard |
Posted by: luoxiaoone Posted on: 2007-08-24 18:01 不对,可以试一下下面的就知道了 x=5; x=x+(x++); System.out.println; |
4.Re:java运算符优先级问题 [Re: sirius93] | Copy to clipboard |
Posted by: 67865695 Posted on: 2007-08-26 20:17 int x=5,y=3; y=x+(x++) +(x--) ; 实际算式为 y = 5 +5+ (5+1) 此时++,--后与前一个操作符进行,即++后于第1个+ 如果是 y = x +(++x)+(--x) 实际算式为 y=5+(5+1)+(6-1) 此时++,--先与前一个操作符进行,即++先于第1个+ |
5.Re:java运算符优先级问题 [Re: 67865695] | Copy to clipboard |
Posted by: luoxiaoone Posted on: 2007-08-27 15:37 67865695 wrote: 支持 |
6.Re:java运算符优先级问题 [Re: sirius93] | Copy to clipboard |
Posted by: luoxiaoone Posted on: 2007-08-27 15:52 大家不妨看一下下面这个问题: int a=5; a+=a-=a+a; System.out.println; 然后把它写成C程序,再运行看看,,,,, |
7.Re:java运算符优先级问题 [Re: 67865695] | Copy to clipboard |
Posted by: xici Posted on: 2007-09-04 13:22 67865695 wrote: 计算正算。 要记住java中的运算式的值要看齐它最左边表达式的值。 |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |