目录
一.关系运算
1.概述
(1)Java还有提供了对两个量之间关系进行比较的运算,称为关系运算。
(2)关系运算的结果是true或false。
2.关系运算的种类
3.Java实例讲解关系运算中判断语句和流程控制作用
键盘输入分数,显示该分数是否及格。显示效果如下所示:
二.逻辑运算
1.概述
(1)逻辑运算是在关系运算的基础上运算,能处理更复杂的问题。
(2)逻辑运算的结果是true或false。
2.逻辑运算的种类
3.Java逻辑长路短路“与”运算
(1)概述
两个关系运算中,有一个是false时,结果就是false
(2)长路与运算:&
&在两边都是整数时,是二进制的逐位与运算;在两边都是关系运算时,是逻辑运算。
长路与运算会把两边的关系运算结果都计算出来。
如:101010&000111 则结果是000010
如:5<2 & 3*5>10
5<2,结果是false
3*5>10 ,结果是true
false&true,结果是false
(3)短路与运算:&&
当运算符左边的关系运算结果是false时,不再对右边的关系运算进行计算。
可安全的提高程序的效率。
如:5<2 && 3*5>10
5<2,结果是false
false&&3*5>10,结果是false。
4.Java逻辑长路短路“或”运算
(1)概述
两个关系运算中,有一个是true时,运算结果就是true。
(2)长路或运算:|
&在两边都是整数时,是二进制的逐位或运算;在两边都是关系运算时,是逻辑运算。
长路与运算会把两边的关系运算结果都计算出来。
如:101010 | 000111 则结果是101111
如:5<2 | 3*5>10
5<2,结果是false
3*5>10 ,结果是true
false|true,结果是true
(3)短路或运算:||
当运算符左边的关系运算结果是true时,不再对右边的关系运算进行计算。
可安全的提高程序的效率。
如:3*5>10 || 5<2
3*5>10,结果是true
true || 5<2,结果是true.
5.Java逻辑“非”运算
(1)概念:将运算结果取反即为非运算结果。
(2)示例:!(3*5>10)
3*5>10,结果是true。
!true,逻辑运算结果是false。
6.Java运算优先级
关系运算>逻辑运算
非>与>或
如:
5>=8||2<5&& !false
5>=8 => false
2<5 ==> true
!false => true
false || true&&true => true
7.Java逻辑运算案例
(1)键盘输入一个5分制的分数,用与运算运算并显示该数是否为5分制分数。
package panduan;
import java.util.Scanner;
public class Test02 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("输入5分制分数");
int score=scanner.nextInt();
boolean isFiveScore=score>=0&&score<=5;
System.out.println(score+"是5分制的分数:"+isFiveScore);
}
}
(2)键盘输入一个5分制的分数,用或运算运算并显示该数是否为5分制分数。
package panduan;
import java.util.Scanner;
public class Test02 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("输入5分制分数");
int score=scanner.nextInt();
boolean isnotFiveScore=score<0 || score>5;
System.out.println(score+"不是5分制的分数:"+isnotFiveScore);
}
}
(3)键盘输入一个5分制的分数,用非运算运算并显示该数是否为5分制分数。
package panduan;
import java.util.Scanner;
public class Test02 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("输入5分制分数");
int score=scanner.nextInt();
boolean isFiveScore=!(score<0 || score>5);
System.out.println(score+"不是5分制的分数:"+isFiveScore);
}
}