Java的运算符 - 逻辑运算符

Java的逻辑运算符主要有3个:逻辑与(&&),逻辑或(||),逻辑非(!)

运算符 名称 说明 示例
&& 逻辑与 两边都为true,则为true,否则为false 3>1 && 5!=4,结果为true
|| 逻辑或 有一边为true,则为true,否则为fasle 2>1 || 5>100,结果为true
逻辑非 为true时,值为false,为false时,值为true !(2<1),结果为true

 

 

 

 

 

逻辑与、或、非通常用在条件语句判断中,其返回的结果为boolean类型。

示例:

int a = 1;
int b = 2;
int c = 10;

a<2 && c/b=5;
a>0 || b<=2;
!(a>1);

第一个式子a<2 && c/b=5; 逻辑与&&的左边  a<2为真(true),右边 c/b=5也为真(true),因此 a<2 && c/b=5为真(true)

第二个式子a>0 || b<=2;逻辑或||的左边,a>0为真(true),右边b<=2也为真,因此a>0 || b<=2为真(true)

第三个式子!(a>1),逻辑非!中a>1为假,所以!(a>1)为真(true)

 

下面,我们来看一个有意思的例子。

 

public class Demo05 {
    public static void main(String[] args) {
        int num1 = 1;
        int num2 = 1;
        if(num1++==1 && num2++==1){
            System.out.println("逻辑与&&的条件判断,这是条件为真的输出结果");
            System.out.println(num1);
            System.out.println(num2);
        }else{
            System.out.println("逻辑与&&的条件判断,这是条件为假的输出结果");
            System.out.println(num1);
            System.out.println(num2);
        }
  
    }
}

 

我们看下num1和num2的输出结果:

 

这边就会有一个疑问了?为什么num2不是2呢?按照num1++,num2++,都是有自增,num2应该输出的2才对。

所以,这边需要特别注意的是:

当逻辑与&&的左边 为false的时候,那么结果就会false,程序不会再去执行右边的运算了,同样对于逻辑或也是如此,如果左边为true时,那么也不会执行右边的运算。

 

posted @ 2020-10-13 17:33  Danny·茄子  阅读(841)  评论(0)    收藏  举报