1、Java还有提供了对两个量之间的关系进行比较的
运算,称为关系运算。
2、关系运算的结果是true或false。
例1:5-2 == 9/3
步骤1、进行两边的数学运算,结果是:3 == 3;
步骤2、做等于比较,结果是true。
例2、7*2<12,结果是false。
例3、8!=8,结果是false。
例4、8>=8,结果是true。
例5、8<=8,结果是true。
【示例】键盘输入分数,显示该分数是否及格。
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("输入分数:");
int score=scanner.nextInt();
boolean isPass=score>=60;
System.out.println(score+"及格:"+isPass);
}
1、逻辑运算是在关系运算基础之上的运算,
能处理更加复杂的问题。
2、逻辑运算的结果是true或false。
与运算的特点:当两个关系运算的结果都是true时,
运算的结果是true,否则是false。
1、长路与运算的运算符号:&
2、&在两边都是整数时,是逐位与运算;在两边是关系运算时,是逻辑运算。
3、长路与运算会把两边的关系运算结果都计算出来。
4<3&5*3〉12
计算4< 3 结果false
计算5*3〉12 结果true
flase&true 结果flase
1、短路与运算的运算符号:&&
2、短路与运算的特点:当运算符左边的关系运算结果是false时,不再对右边的关系运算进 行计算。
4<3&&5*3〉12
计算4< 3 结果false
flase&&5*3〉12 结果flase
或运算
1、长路或运算的运算符:|
2、长路或运算在两边都是整数时,是逐位或运算;在两边是关系运算时,是逻辑运算。
3、长路或运算会将两边的关系运算结果都计算出来。
5*3〉12|4<3
计算5*3〉12 结果true
计算4< 3 结果false
true|flase 结果true
1、短路或运算的运算符:||
2、短路或运算的特点:当运算符号左边的关系运算结果是true时,
不再进行右边的关系运算,直接得出true的结果。
5*3〉12|4<3
计算5*3〉12 结果true
!( 5*3〉12)
计算5*3〉12 结果true
!true 结果是flase
三种逻辑运算的优先级:
非运算最高
其次是与运算
优先级最低的是或运算
示例:5>=7 || 4<5 && !false
步骤1、计算关系运算:5>=7,结果:false;
步骤2、计算关系运算:4<5,结果:true;
步骤3、计算逻辑非运算:!false,结果:true;
false || true && true
步骤4、计算逻辑运算: true && true,结果:true;
步骤5、计算逻辑或运算:false || true,结果:true。
【示例-1】键盘输入一个5分制分数,用与运算运算并显示该数是否为5分制分数。
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分制的分数。
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分制的分数。
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);
}