码迷,mamicode.com
首页 > 其他好文 > 详细

5-布尔运算

时间:2019-08-27 12:57:05      阅读:75      评论:0      收藏:0      [点我收藏+]

标签:int   布尔类型   result   否则   关系运算   提前   比较   类型   amp   

布尔运算
对于布尔类型 boolean,永远只有 truefalse 两个值,即 真 和 假。
布尔运算是一种关系运算,包括 :比较 、与、或、非 四类

运算等级从高到低
!
>,>=,<,<=
==,!=
&&
||


boolean isGreater = 5 > 3; // true
int age = 12;
boolean isZero = age == 0; // false
boolean isNonZero = !isZero; // true
boolean isAdult = age >= 18; // false
boolean isTeenager = age >6 && age <18; // true


短路运算
布尔运算的一个重要特点是短路运算。如果一个布尔运算的表达式能提前确定结果,则后续的计算不再执行,直接返回结果。
例如:false && x 的结果总是false,无论x是true还是false,因此,与运算在确定第一个值为false后,不再继续计算,而是直接返回false 。
        boolean b = 5 < 3;
        boolean result = b && (5 / 0 > 0);
        //如果没有短路运算,那么 && 后面的5 / 0必然会因为除数问题,产生报错

类似对于 || 运算,只要能确定第一个值为 true ,后续计算也不再进行,而是直接返回 true 。
boolean result = true || (5 / 0 > 0); // true


三元运算符
Java还提供一个三元运算符 b ? x : y ,它根据第一个布尔表达式的结果,分别返回后续两个表达式之一的计算结果。
三元运算 b ? x : y 会首先计算 b,如果 b 为 true ,则只计算 x ,否则,只计算 y 。此外,x 和 y 的类型必须相同,因为返回值不是boolean,而是 x 和 y 之一。
int n = 9;
int a = (n>=10)?20:30;//a = 30

 

5-布尔运算

标签:int   布尔类型   result   否则   关系运算   提前   比较   类型   amp   

原文地址:https://www.cnblogs.com/nsss/p/11417415.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!