CodeGym学习(三):布尔类型及短路运算

布尔类型

布尔类型:boolean,此类型变量只能取两个值:true和false。if语句、for循环、while循环等很多地方都会使用到布尔类型。boolean变量的默认值为false,即定义一个boolean变量但没给它赋值时,它的初始值为false。

逻辑运算符

boolean变量的操作运算往往需要使用到逻辑运算符,它的结果也是一个布尔值(true或false)。通过逻辑运算符,可以对boolean变量进行操作运算。

逻辑运算符Java表示法表达式结果
AND&&true && truetrue
true && falsefalse
false && truefalse
false && falsefalse
OR||true || truetrue
true || falsetrue
false || truetrue
false || falsefalse
NOT!! truefalse
! falsetrue

其中AND运算符和OR运算符是双目运算符,两者优先级相同,运算时从左往右进行。NOT运算符较为特殊,是单目运算符,它更像是负数前面的负号。NOT运算符的优先级极高,仅次于括号。在组合运算时,可通过括号改变逻辑运算的顺序。

短路运算

AND运算符的特点为有假则假,全真则真,OR运算符的特点为有真则真,全假则假。进行AND运算时,若求得前面表达式的值为false,此时无论后面的表达式取何值,运算结果均为false。因此可忽略后面的计算,这就是短路运算。同理,进行OR运算时,若求得前面表达式的值为true,此时无论后面的表达式取何值,运算结果均为true。

实战演习

运算优先级
class test  
{
    public static void main(String[] args) throws Exception {
        //在此编写你的代码
        System.out.println(false && false || true);
        System.out.println(false && (false || true));
    }
}

AND运算符与OR运算符的优先级相同,默认运算顺序为从左往右。当有括号存在时,优先进行括号运算。
输出结果为:
true
false

短路运算
class test  
{
    public static void main(String[] args) throws Exception {
        //在此编写你的代码
        int i=0;
        if(true || ++i > 0)
            System.out.println(i);
        if(false || ++i > 0)
            System.out.println(i);
    }
}

进行OR运算时,有真则真。因此当前面的表达式出现真值时,后面的表达式不进行运算,即被短路。故此,i 不进行自增操作。只有当前面的表达式的值为假时,后面的表达式才进行运算。此时 ,i 进行自增操作。
输出结果:
0
1

总结

boolean类型的变量是一种经常被使用到的变量类型,常常出现在各种条件判断中。对boolean变量进行操作运算往往需要使用到逻辑运算符,其中AND运算符遵循有假则假,全真则真的原则,OR运算符遵循有真则真,全假则假的原则。根据运算符的运算原则,存在对应的短路运算。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值