Logo

郎哥编程

Java逻辑运算符

2018-01-19 2198

逻辑运算符用于连接两个条件表达式或布尔类型的变量,用于执行多个判断。在数学中,表示一个数值的范围时,经常用不等式来表述。例如:假设一个数值取值范围为0到100,设该数值为x,不等式0<x<100给出了x的取值范围,在Java程序语言中,逻辑运算符可以实现类似数学中的不等式。下表列出了Java语言支持的逻辑运算符,表中假设布尔变量A为真,变量B为假。

a076.PNG

逻辑与运算符“&&”,用于判断运算符两边的条件表达式或布尔变量是否同为真,如果同为真,返回结果为true,否则返回false。例如下面语句:

int   a = 10;

int   b = 20;

int   c = 15;

boolean  bJudge =  c > a && c < b;

声明了变量a、变量b、变量c,变量a和变量b分别赋值为10和20,变量c赋值为15。第四条语句逻辑与运算符“&&”连接了2个条件表达式,分别是c > a和c < b,如果这两个表达式计算结果都为真,则bJudge为真,否则bJudge为false。此时bJudge的值为true。该运算符还有一个特点,当左侧的条件表达式或布尔变量为假时,则直接返回结果false,不再执行运算符右侧的表达式或布尔变量。

逻辑或运算符“||”,用于判断运算符两边的条件表达式或布尔变量是否有一个为真,如果有一个为真,返回结果为true,否则返回false。例如下面语句:

int   a = 10;

int   b = 20;

int   c = 15;

boolean  bJudge =  c > a || c < b;

声明了变量a、变量b、变量c,变量a和变量b分别赋值为10和20,变量c赋值为15。第四条语句逻辑或运算符“||”连接了2个条件表达式,分别是c > a和c < b,这两个表达式计算结果任何一个为真时,则bJudge为真,否则bJudge为false。此时bJudge的值为true。

逻辑非运算符“!”,用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。例如下面语句:

int   a = 10;

int   b = 20;

boolean  bJudge =  !( a> b);

声明了变量a、变量b,变量a和变量b分别赋值为10和20。第三条语句逻辑非运算符“!”用于取反条件表达式a> b的结果,如果a> b为真,取反后为false,如果a> b为假,取反后为true。此时bJudge的值为true。语句中用括号把a> b括起来,用于提高a> b的优先级,先计算a> b,再取反。

示例1:逻辑运算符

在D盘Java目录下,新建“LogicSample.java”文件。用记事本打开“LogicSample.java”文件,输入以下代码:

public  class  LogicSample {
  public static void main(String args[])
  {
      //声明变量a、b、c
      int a = 10;
      int b = 20;
      int c = 15;
      //声明boolean变量
      boolean bJudge;
     // 执行逻辑与判断
      bJudge =  c > a && c < b;
      System.out.printf("c(15) > a(10) && c(15) < b(20)的结果:bJudge =%b\n",bJudge);    
     //执行逻辑或判断
      bJudge =  c > a || c < b;
      System.out.printf("c(15) > a(10) || c(15) < b(20)的结果:bJudge =%b\n",bJudge);    
     //执行逻辑非
     bJudge =  !( a> b);
     System.out.printf("!( a(10)> b(20))的结果:bJudge =%b\n",bJudge);
 
  }
}

代码结构分析

程序功能主要是演示逻辑运算符的用法。

类似语句“bJudge =  !( a> b);”,Java初学者可能会有困惑,语句中有关系运算符和逻辑非运算符,那个运算符先参与运算呢?这就涉及到运算符优先级的问题,关于运算符优先级后面会有介绍。在当前语句中,把关系运算符相关的表达式a> b用括号括起来,以提高其运算优先级,因此先执行关系运算,再执行逻辑非运算。

编译“LogicSample.java”文件,在命令行窗口输入“javac  LogicSample.java”并执行命令,编译通过后,在命令行窗口输入“java  LogicSample”运行Java程序,命令行窗口显示如下信息:

               

a077.png

                             

图 6-14 逻辑运算符示例执行结果


■ 知识点拨

 在编程过程中,经常碰到需要判断两个条件是否都满足或只有一个条件满足的情况,根据判断结果程序转向不同的分支。逻辑运算符可以解决上面的问题。

■ 思考与练习

(1)逻辑与运算符两边的操作数满足什么条件时,逻辑与运算符返回结果为真()

A.一真一假

B.同为真

C.同为假

D.无法判断真假

(2)逻辑或运算符两边的操作数满足什么条件时,逻辑或运算符返回结果为假()

A.同为真

B.一真一假

C. 同为假

D.无法判断

(3)逻辑非运算符是双目运算符还是单目运算符?


代码在线纠错(通义千问 qwen-max)

支持粘贴多个代码文件,提交后由阿里云通义千问自动分析代码漏洞、语法错误、逻辑问题并给出修改建议。
您已解锁 AI 代码纠错功能,可正常使用!

评论区

登录 后发表评论
暂无评论