逻辑运算是在关系运算基础之上的运算,能处理更加复杂的问题    

逻辑运算的结果是 true 或 false      

逻辑运算的种类:

   

JAVA 实现逻辑表达式解析无运算 java逻辑或运算规则_关系运算

   

   

   

   

1、逻辑与运算:

JAVA 实现逻辑表达式解析无运算 java逻辑或运算规则_与运算_02

   

   

(1)长路与运算  

长路与运算的运算符号:&    

& 的两边都是整数时,是逐位与运算(二进制);& 的两边是关系运算时,是逻辑与运算   

长路与运算会把两边的关系运算结果都计算出来

   

如:

   

JAVA 实现逻辑表达式解析无运算 java逻辑或运算规则_与运算_03

   

   

   

(2)短路与运算   

短路与运算的运算符号:&&    

当运算符左边的关系运算结果是 false 时,不再对右边的关系运算

进行计算(这种计算特点能提高程序效率,且是安全的)

   

如:

   

JAVA 实现逻辑表达式解析无运算 java逻辑或运算规则_JAVA 实现逻辑表达式解析无运算_04

   

   

   

   

2、逻辑或运算:

   

JAVA 实现逻辑表达式解析无运算 java逻辑或运算规则_JAVA 实现逻辑表达式解析无运算_05

   

JAVA 实现逻辑表达式解析无运算 java逻辑或运算规则_JAVA 实现逻辑表达式解析无运算_06

   

   

   

(1)长路或运算   

长路或运算的运算符:|    

| 的两边都是整数时,是逐位或运算(二进制);| 的两边是关系运算时,是逻辑或运算   

长路或运算会将两边的关系运算结果都计算出来    

如:

   

JAVA 实现逻辑表达式解析无运算 java逻辑或运算规则_JAVA 实现逻辑表达式解析无运算_07

   

   

   

(2)短路或运算   

短路或运算的运算符:||    

当运算符号左边的关系运算结果是true时,不再进行右边的关系运算,

直接得出true的结果(同样能提高运算效率)    

如:

   

JAVA 实现逻辑表达式解析无运算 java逻辑或运算规则_关系运算_08

   

   

   

   

3、逻辑非运算:

   

JAVA 实现逻辑表达式解析无运算 java逻辑或运算规则_JAVA 实现逻辑表达式解析无运算_09

   

JAVA 实现逻辑表达式解析无运算 java逻辑或运算规则_运算符_10

   

   

如:

   

JAVA 实现逻辑表达式解析无运算 java逻辑或运算规则_关系运算_11

   

   

   

   

   

4、逻辑运算优先级:

   

JAVA 实现逻辑表达式解析无运算 java逻辑或运算规则_与运算_12

   

   

如:(注意:关系运算的优先级要高于所有的逻辑运算)

   

JAVA 实现逻辑表达式解析无运算 java逻辑或运算规则_java_13

   

   

   

   

   

程序应用:键盘输入一个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中:

   

JAVA 实现逻辑表达式解析无运算 java逻辑或运算规则_JAVA 实现逻辑表达式解析无运算_14

   

   

运行一览:

   

JAVA 实现逻辑表达式解析无运算 java逻辑或运算规则_与运算_15