Java学习笔记2.3.4 运算符与表达式 - 逻辑运算符
Posted howard2005
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java学习笔记2.3.4 运算符与表达式 - 逻辑运算符相关的知识,希望对你有一定的参考价值。
文章目录
零、本讲学习目标
- 掌握逻辑运算符的基本使用
- 会利用逻辑运算符表达复杂条件
一、逻辑运算符概述
- 逻辑运算符是用于对布尔类型的值或表达式进行操逻辑判断的符号,其返回值类型是布尔类型。
二、逻辑运算符使用
(一)分类说明表
运算符 | 运算 | 范例 | 结果 |
---|---|---|---|
& | 与 | a & b | a和b都为true,结果为true,否则为false |
| | 或 | a | b | a和b中只要有一个为true,则结果为true,否则为false |
^ | 异或 | a ^ b | a与b不同,结果为true,否则为false |
! | 非 | ! a | 若a为false,结果为true,否则相反 |
&& | 短路与 | a && b | a和b都为true,结果为true,否则为false |
|| | 短路或 | a || b | a和b中只要有一个为true,则结果为true,否则为false |
- 与运算真值表
&(&&) | false | true |
---|---|---|
false | false | false |
true | false | true |
- 或运算真值表
|(||) | false | true |
---|---|---|
false | false | true |
true | true | true |
- 异或运算真值表
^ | false | true |
---|---|---|
false | false | true |
true | true | false |
- 非运算真值表
! | false | true |
---|---|---|
true | false |
(二)注意事项
- 逻辑运算符可以针对结果为布尔值的表达式进行逻辑运算。如:5 > 3 && 1 != 0的结果为true。
- 运算符“&”和“&&”都表示与操作,当且仅当运算符两边的操作数都为true时,其结果才为true,否则结果为false。
- “&”和“&&”的区别:在使用“&”进行运算时,不论左边为true或者false,右边的表达式都会进行运算。如果使用“&&”进行运算,当左边为false时,右边的表达式不会进行运算,因此“&&”被称作短路与。
- 运算符“|”和“||”都表示或操作,当运算符任何一边的操作数或表达式为true时,其结果为true,当两边的值都为false时,其结果才为false。同与操作类似,“||”表示短路或,当运算符“||”的左边为true时,右边的表达式不会进行运算。
- 运算符“^”表示异或操作,当运算符两边的布尔值相同时(都为true或都为false),其结果为false。当两边布尔值不相同时,其结果为true。
(三)案例演示
任务1、闰年判断
package net.hw.lesson05;
import java.util.Scanner;
/**
* 功能:闰年判断
* 作者:华卫
* 日期:2020年3月22日
*/
public class Example508
public static void main(String[] args)
int year;
boolean isLeapYear;
Scanner sc = new Scanner(System.in);
System.out.print("year = ");
year = sc.nextInt();
isLeapYear = year % 4 == 0 && year % 100 != 0 || year % 400 == 0;
if (isLeapYear)
System.out.println(year + "是闰年。");
else
System.out.println(year + "是平年。");
运行程序,结果如下:
再运行程序,结果如下:
其实闰年条件也可以修改一下,同时用到三种逻辑运算符。
注意:Java的 !、&(&&)、|(||) 对应 Python的not、and、or。
课堂练习:计算三角形面积
- 利用三边关系定理判断能否构成三角形
三边关系定理:任意两边之和大于第三边 - 如果能构成三角形,利用海伦公式来计算。
三边为 a , b , c a, b, c a,b,c,半周长 p = a + b + c 2 p=\\displaystyle \\fraca+b+c2 p=2a+b+c
面积 a r e a = p ( p − a ) ( p − b ) ( p − c ) area=\\displaystyle \\sqrtp(p-a)(p-b)(p-c) area=p(p−a)(p−b)(p−c)
以上是关于Java学习笔记2.3.4 运算符与表达式 - 逻辑运算符的主要内容,如果未能解决你的问题,请参考以下文章