您的位置 首页 java

java学习——8运算符与表达式(三)

java学习——8运算符与表达式(三)

(4)逻辑运算符

逻辑运算即对布尔类型进行的与、或、非、 异或 等的运算,其运算结果仍为布尔类型。

逻辑运算符有6个:&(与)、(或)、!(非)、^(异或)、&&(条件与)、||(条件或)。

只有!(非)是单目运算符,其余均为双目运算符。

&与运算,当双目均为true时,结果为true。其余结果均为false。

|或运算,当双止均为false时,结果才为false。其余结果均为true。

!非运算,当 操作数 为true时,结果为false。当操作数为false时,结果为true。

^异或运算,当双目相异时,结果为true。当双目相同时,结果为false。

&&条件与,两个操作数均为true或false的表达式,当两个表达式的值均为true时,&&的结果才为true。否则,为false。

||条件或,两个操作数也是 条件表达式 ,当两个表达式的值均为false时,||的结果才为false。否则,为true。

例: 判断一个年份是否为 闰年

解:闰年的含义,能被4 整除 但不能被100整除,或能被400整除的年份即为闰年。

故,其判断条件有两个。

①:能被4整除但不能被100整除。

②:能被400整除。

①和②之间用的连接条件是“或”,故要用到||条件或。

而①中也有两个条件,“能被4整除”和“不能被100整除”,这两个条件不能并存,因此要用到&&条件与。

定义变量: year表示年份。

因此,可以得出,本例的判断条件为:

((year%4==0)&&(year%100!=0))||year%400==0.

完整代码及运行结果如下:

java学习——8运算符与表达式(三)

由于 运算符 有其自身的优先级,上述条件其实可以不加括号改为:

year%4==0&&year%100!=0||year%400==0

因为算术运算符的优先级高于逻辑运算符的。

但为了方便理解,建议还是加括号,这样更方便我们理解,到底是先计算的哪一个。

(5)条件运算符

?:

为Java中唯一一个 三目运算符 ,由3个操作数参与运算。

其格式如下:

表达式1?表达式2:表达式3

其运行流程如下:先判断表达式1的真假,如果为真,执行表达式2;否则,执行表达式3。

例:a>b?a:b

此句是判断a、b两变量的大小,如果a>b,则输出a;否则,输出b。

完整代码及运行结果如下:

java学习——8运算符与表达式(三)

在上述判断闰年的例题中,也可用条件表达式,改写如下:

java学习——8运算符与表达式(三)

所有的if…else…语句几乎都可用条件表达式来改写。

b本文转载至微信公众号——Java学习 从零开始,如有侵权请联系立删!


文章来源:智云一二三科技

文章标题:java学习——8运算符与表达式(三)

文章地址:https://www.zhihuclub.com/186645.shtml

关于作者: 智云科技

热门文章

网站地图