Java运算符

java有算术运算符、关系运算符、逻辑运算符、位运算符、移位运算符、条件运算符。

在这里主要介绍逻辑运算符


 逻辑运算符主要有3个: &&   ||   !

需要注意的是:逻辑运算符的操作数(操作数往往是关系运算符的结果)和返回值都是boolean。

逻辑与&&

规则:两个操作数都为true,结果才为true,否则为false 。

//比如下面代码:结果为true
public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int c = 30;
        System.out.println(a < b && b < c);
    }

逻辑或||

规则:两个操作数都为false,结果才为false,否则结果为true

public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int c = 30;
        System.out.println(a > b || b > c); //由于操作数都为false,所以结果为false
    }

逻辑非!

规则:操作数为true,结果为false,操作数为false,结果为true()这个是单目运算符,只有一个操作数

 &和 | (不推荐使用)

&和 | 如果操作数为boolean时,也表示逻辑运算,但是核&&以及||相比,它们不支持短路求值。

System.out.println(10>20 & 10/0 == 0); //程序抛出异常
System.out.println(10<20 | 10/0 == 0); //程序抛出异常

短路求值

&&和||遵守短路求值的规则。

System.out.println(10>20 && 10/0 == 0);    //打印false
System.out.println(10<20 || 10/0 == 0);    //打印true

我们都知道,除数不可以为0,计算10/0会导致程序抛出异常,但是上面代码都可以运行,说明10/0这个表达式并没有执行,原因如下:

  1. 对于&&,如果左侧表达式值为false,则表达式整体的值一定是false,无需再计算右侧表达式。
  2. 对于||, 如果左侧表达式值为true,则表达式整体的值一定是true,无需再计算右侧表达式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值