& && | || 什么意思?怎么用?

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 17:17   879   0
package mycom;

public class t7 {
 public static void main(String[] args) {
  int x=0,y=1,z=3;

  if(++x==y--&x++==1||--y==0||--z==2){
   System.out.println("x="+x+",y="+y+",z="+z);
  }else{
   System.out.println("y="+y+",x="+x);
  }
 }
}

题目:说说上面代码的结果。并给出解释。


逻辑运算符,一直很迷糊,这好,今天笔试,小考题一道,果不其然,做错了。哈哈


自己简单总结下吧:

&&

A&&B A、B同为true,才返回true,否则false。会短路的

&不短路的与

A&B 作用同&&。但不会短路

||

A||B A、B中有一个true,就返回true,否则false。会短路的

|不短路的或

A|B 作用同||。但不会短路。


什么叫短路?

举例说明,一目了然。

A||B。A为true,则B不会被执行。这,就是短路。-.-

A&&B,A为false,则B就不会执行了。


回到开篇的问题。执行结果是

x=2 y=0 z=3

++x==y--&x++==1||--y==0||--z==2
true&true -> true,所以||后面的部分都没有执行



分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP