逻辑运算是在关系运算基础之上的运算,能处理更加复杂的问题
逻辑运算的结果是 true 或 false
逻辑运算的种类:
1、逻辑与运算:
(1)长路与运算
长路与运算的运算符号:&
& 的两边都是整数时,是逐位与运算(二进制);& 的两边是关系运算时,是逻辑与运算
长路与运算会把两边的关系运算结果都计算出来
如:
(2)短路与运算
短路与运算的运算符号:&&
当运算符左边的关系运算结果是 false 时,不再对右边的关系运算
进行计算(这种计算特点能提高程序效率,且是安全的)
如:
2、逻辑或运算:
(1)长路或运算
长路或运算的运算符:|
| 的两边都是整数时,是逐位或运算(二进制);| 的两边是关系运算时,是逻辑或运算
长路或运算会将两边的关系运算结果都计算出来
如:
(2)短路或运算
短路或运算的运算符:||
当运算符号左边的关系运算结果是true时,不再进行右边的关系运算,
直接得出true的结果(同样能提高运算效率)
如:
3、逻辑非运算:
如:
4、逻辑运算优先级:
如:(注意:关系运算的优先级要高于所有的逻辑运算)
程序应用:键盘输入一个5分制分数,判断该数是否为5分制分数
代码:
package com.siwuxie095.test;
import java.util.Scanner;
public class Test18 {
public staticvoid main(String[] args) {
newin);
"请输入5分制分数:");
int score=scanner.nextInt();
//与运算
boolean0&&score<=5;
//非运算
//boolean isFiveScore=!(score<0||score>5);
"是5分制的分数:"+isFiveScore);
//或运算
//boolean isNotFiveScore=score<0||score>5;
//System.out.println(score+"不是5分制的分数:"+isNotFiveScore);
}
}
Eclipse中:
运行一览: