为什么会这样呢? 应该是4,因为在Java中,&&和||是按“短路”方式进行求值的,即:对于&&,例如A&&B,如果A的值为假,那么B就不再计算。对于||,例如A||B,如果A的值为真,那么B也就不再计算。所以对于你的代码,methodB(8)并没有被执行。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 注意区别“|”和“||”当用“||”进行运算的时候, 如第一个表达式为真,则不进行第二个表达式的运算,因为如果第一个表达式为真, 不管第二个表达式为何,整个表达式的值都是真, 所以,b=i<10||methodB(8);在这一句中,只运行了,i<10,methodB(8),而没有进行计算。“|”这个是将两边的都进行运算。 对!“|”是按位OR,它是Bitwise operators(位运算符),将两边的BIT按位与产生结果。“||”是逻辑OR,它是Logical operators(逻辑运算符),如果第一个值为TRUE,不论后面的值是什么,则按OR操作结果都是TRUE,JAVA就不在继续运行后面的表达式了。 一个Java初学者的困惑:ActionEvent事件 JAVA写的单件模式 如何求圆周率(pai)的,前100位? mysql驱动问题 请高手指点 新手读Excel小问题 将数据集中的数据输出到文本*.txt中,要求每一个字段一行,应该怎么做. 带包名的java文件怎样编译运行?? 我的JSDK出问题了 如何连接SQL Server 7.0 java 多线程添加数据 真是奇怪,Applet在JBuilder里面测试与直接通过IE浏览效果两样 请高手给指点迷津
当用“||”进行运算的时候, 如第一个表达式为真,则不进行第二个表达式的运算,因为如果第一个表达式为真, 不管第二个表达式为何,整个表达式的值都是真, 所以,b=i<10||methodB(8);在这一句中,只运行了,i<10,methodB(8),而没有进行计算。
“|”这个是将两边的都进行运算。
“|”是按位OR,它是Bitwise operators(位运算符),将两边的BIT按位与产生结果。
“||”是逻辑OR,它是Logical operators(逻辑运算符),如果第一个值为TRUE,不论后面的值是什么,则按OR操作结果都是TRUE,JAVA就不在继续运行后面的表达式了。