黑马程序员技术交流社区

标题: 关于java循环语句的问题 [打印本页]

作者: flyidea    时间: 2014-7-26 22:22
标题: 关于java循环语句的问题
比如在if语句中if(1<=a<=9)这是错误的,非得用if(a>=1&&a<=9)为什么不支持前者?简便多了啊。
作者: 黑马-胡明    时间: 2014-7-26 22:30
你仔细看看java的预算符吧,前者不符合java的运算逻辑。后者将2个条件用&&(与)连接起来了
作者: ztw    时间: 2014-7-26 22:36
两个条件同时满足就必须用&&来连接,不能用连续的符号,这是语法规则。
作者: 7418695lp    时间: 2014-7-26 22:38
这是编java的人定义的,没啥解释吧。。。语法。。
作者: /mg依恋    时间: 2014-7-26 23:27
1<=a<=9, 赋值运算符,当a>=1时,是赋值给a,赋值以后,a和9的类型类型,此时如果继续赋值会出现报错。出现2次转换类型,所以报错
作者: 付士长    时间: 2014-7-26 23:30
同意楼上正解
作者: icris    时间: 2014-7-27 00:27
本帖最后由 icris 于 2014-7-27 00:29 编辑

1<=a<=9
首先1<=a得到一个boolean型,记为b,则原式等效于b<=9。
事实上观察报错就能看出来:The operator <= is undefined for the argument type(s) boolean, int





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2