黑马程序员技术交流社区

标题: 判断&&和||的一个小问题!求技术分 [打印本页]

作者: 李会成    时间: 2013-2-1 16:36
标题: 判断&&和||的一个小问题!求技术分
本帖最后由 李会成 于 2013-2-1 18:22 编辑

//&&:当左边为false,时右边可以不判断,但是左边为true时,右边要判断
          int x =0,y = 0,i = 10,j = 20;
      if(i >0 && j >15){// i >0为true ,接着判断j>15也为true
              x++;//这里x=1
              System.out.println("x="+x);//打印出也是x=1
      }
      if(i >10 || j >15){//i >10为false ,接着判断j>15为true,结果还是为true
              y++; //y=1
              System.out.println("y="+y);//打印出也是y=1
      }



新手初学java,问题可能比较菜,但是确实搞不懂,多谢各位帮助我
作者: 杨杨    时间: 2013-2-1 16:47
没发现你的问题
作者: 李尧    时间: 2013-2-1 16:49
卤主你想表达什么?我感觉你说得挺清楚的吖....
作者: 陈科宇    时间: 2013-2-1 17:10
楼主,我运行了你的代码,我不知道你是对这部分代码不懂还是怎么一回事儿。如果是对这块代码不懂,可以加Q讨论。本人QQ:1612428643。在讨论中学习,共同进步。
作者: 王昕    时间: 2013-2-1 17:18
本帖最后由 王昕 于 2013-2-1 18:05 编辑

短路运算符:&&和||
&&:左边为false不再计算右边,返回false。
||:左边为true不再计算右边,返回true。
如果想让右边的表达式无论左边是真还是假都执行,可以用非短路运算符: & 和 | ,这样右边的表达式一定会计算。
我是看的英文版,自己翻译的短路和非短路,中文好像叫短运算符&&和||和长运算符&和|。

“与”运算是全真为真,一假即假,所以左边为假肯定是假;“或”运算是一真即真,全假为假,所以左边为真肯定是真。




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