请教一个程序的输出结果,请各位指教 用 || 运算会短路,当前一个表达式成立后,b就用true了,后一个methodB (8)就不做。用|的话,要算到底的。所以是4。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 j是全局变量,只要methodA(int i) 中i的值小于10,结果都会是4。 这就是非简洁与'|'和间接与'||'的区别了。如果用'|'连接两个逻辑表达式,不管前面这个逻辑表达式的结果如何,第二个逻辑表达式也都还要运算。而如果用'||'连接两个逻辑表达式时,若前面这个逻辑表达式的结果为true,此时其实已经决定了整个表达式的结果,这时因此它是“简洁的”,所以第二个逻辑表达式就不再运算了。其实用"|"和"||"的boolean运算返回结果肯定是相同的,但"||"会有可能更快,有可能会经历更少的运算。因此看methodA(0):第一行因为是"|", (0<10)这个表达式运算了,methodB(4)也运算了,因此j变为4。第二行因为(0<10)返回的true所以methodB(8)就不再运算,j也就不会变化了。 ` java多线程出现溢出 急!急!急! 这是什么错误啊。。当我在保存一个实体时出现的错误。。。 [高分]Struts2 Action泛型的问题-提供安全的替换方案 SSH2中配置proxool报错 关于单例的一个问题 怎么修改MyEclipse自带的spring版本? 急~~ String转换byte[] 百度bae上传JAVA网站出现404错误 ****************Rumble in the jungle: J2EE versus .Net******************** 分数太多,大家共享 我的jbuilder project完成了,如何脱离jbuilder环境运行呢?
如果用'|'连接两个逻辑表达式,不管前面这个逻辑表达式的结果如何,第二个逻辑表达式也都还要运算。
而如果用'||'连接两个逻辑表达式时,若前面这个逻辑表达式的结果为true,此时其实已经决定了整个表达式的结果,这时因此它是“简洁的”,所以第二个逻辑表达式就不再运算了。
其实用"|"和"||"的boolean运算返回结果肯定是相同的,但"||"会有可能更快,有可能会经历更少的运算。
因此看methodA(0):
第一行因为是"|", (0<10)这个表达式运算了,methodB(4)也运算了,因此j变为4。
第二行因为(0<10)返回的true所以methodB(8)就不再运算,j也就不会变化了。
`