5-布尔运算

坚强是说给别人听的谎言 提交于 2019-11-28 17:46:15
布尔运算
对于布尔类型 boolean,永远只有 true 和 false 两个值,即 真 和 假。
布尔运算是一种关系运算,包括 :比较 、与、或、非 四类

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


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

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!