`

Java编程那些事儿23—逻辑运算符

阅读更多

Java编程那些事儿23—逻辑运算符
郑州游戏学院 陈跃峰
4.3 逻辑运算符
逻辑运算符是指进行逻辑运算的符号。逻辑运算主要包括与(and)、或(or)和非(not)三种,在程序中主要用来连接多个条件,从而形成更加复杂的条件。
逻辑运算符的运算结果是boolean类型。
参与逻辑运算的数据也必须是boolean类型。
关于逻辑运算符的种类和说明参看表4-3。
表4-3 逻辑运算符
符号
名称
功能说明
&&
逻辑与
两个条件同时为true才为true,否则为false
||
逻辑或
两个条件有一个为true则为true,否则为false
!
逻辑非
只操作一个数据,对数据取反
逻辑运算符使用示例代码:
boolean b1 = true;
boolean b2 = false;
boolean b3 = b1 && b2; //则b3的值是false
b3 = b1 || b2; //则b3的值是true
b3 = !b1; //则b3的值是false
在实际程序中,可以根据逻辑的需要使用对应的逻辑运算符号。实际使用示例:
l表示变量n是否属于[0,10)区间
int n = 4;
boolean b = (n >=0) && (n < 10);
对于变量n来说,只要n同时满足大于等于零,且小于10,则位于[0,10)区间,由于程序中无法书写0<=n<10这样的条件,则必须通过逻辑运算符进行连接。
l表示变量n不属于[0,10)区间
一种写法是:
int n = 4;
boolean b = !((n >= 0) && (n < 10));
这里,对于属于该区间的条件取反,则可以获得不属于该区间的条件。
另一种写法是:
int n = 4;
boolean b = (n < 0) || (n >= 10);
这里做了一个简单的变通,如果变量n不属于该区间,则在数学上只需要满足n小于0或者n大于等于10的任何一个条件即可,这样的或者关系在程序中实现时使用逻辑或实现。
在程序设计中,根据逻辑需要,使用对应的逻辑运算符,可以实现相对比较复杂的组合条件,从而实现对应程序的功能。
最后说一下&&和&的区别,其实在进行逻辑与运算时,既可以使用&&也可以使用&,在功能上本身没有区别。两者区别的位置在,对于&来说,如果左侧条件为false,也会计算右侧条件的值,而对于&&来说,如果左侧的条件为false,则不计算右侧的条件,这种现象被称作短路现象。
示例代码:
int n = -1;
boolean b1 = (n >= 0) && (n < 10);
boolean b2 = (n >= 0) & (n < 10);
则对于第二行代码来说,两个条件都将被计算,而对于第三行代码来说,因为n >= 0这个条件不成立,则n < 10根本不会被执行。当然,两者得到的最终结果是一样的。
对于现在的代码来说,区别不大,但是如果后续的条件是一个方法(方法的概念后续将介绍到),则将影响程序逻辑。
验证&和&&功能的示例代码如下:
public class Test{
public static void main(String[] args){
int n = 10;
boolean b = (n < 8) && ((n = 1) != 0);
int m = 20;
boolean b1 = (m < 8) & ((m = 1) != 0);
System.out.println(n);
System.out.println(m);
}
}
最后编辑:2008-5-26修正&和&&的错误
分享到:
评论

相关推荐

    第02章 Java编程基础 07 逻辑运算符与示例

    在Java编程语言中,逻辑运算符是用于处理布尔值(true或false)的关键工具,它们在构建复杂的条件语句和控制程序流程时起着至关重要的作用。本章将深入探讨Java中的逻辑运算符及其用法。 一、逻辑运算符类型 1. ...

    练习题(逻辑运算符+比大小)

    需要强调的是,编程语言的选择并不影响逻辑运算符和比较运算符的基本概念和使用,无论是C++、Java、Python等,这些逻辑构建方式都是相通的。然而,不同编程语言的具体语法细节可能会有所不同,这对于初学者来说是一...

    Java程序设计基础:逻辑运算符.pptx

    逻辑运算符 目录 课程导入 掌握逻辑运算符的运算规则 能使用逻辑运算符组合条件 已知一个三角形的三条边长已经存放在变量a,b,c中,如何确定这个三角形能成立呢?条件如何写? 引入 a c b a+b&gt;c , a+c&gt;b , b+c&gt;a a+...

    java逻辑运算符

    Java 逻辑运算符 Java 逻辑运算符是 Java 语言中的一种基本运算符,用于实现逻辑判断和控制流程。逻辑运算符包括赋值运算符、递增、递减运算符、逻辑与、逻辑或、逻辑非等。 赋值运算符: 赋值运算符的格式为变量...

    java编程逻辑

    Java编程逻辑是初学者入门Java编程的重要资源,它旨在帮助读者理解编程的基本概念,并通过Java语言来实践这些概念。这本书的PDF版本提供了便捷的在线学习途径,让对Java感兴趣的读者无需购买实体书也能进行深入学习...

    java编程那些事儿

    学习JAVA基础看他 很不错 相信你会喜欢的 这个是小弟自己做的 不好的地方请多多包含

    Java中的运算符Java中的运算符

    Java中的运算符Java中的运算符Java中的运算符Java中的运算符Java中的运算符Java中的运算符Java中的运算符Java中的运算符Java中的运算符Java中的运算符Java中的运算符Java中的运算符Java中的运算符Java中的运算符Java...

    010302_【第3章:Java基础程序设计】_运算符、表达式与语句

    Java中的运算符用于执行特定的数学或逻辑操作。它们可以分为多种类型,如算术运算符(+,-,*,/,%),关系运算符(==,!=,&lt;,&gt;,,&gt;=),逻辑运算符(&&,||,!),位运算符(&,|,^,~,,&gt;&gt;,&gt;&gt;&gt;)以及赋值...

    12.java逻辑运算符.zip

    Java语言中的逻辑运算符是程序设计中不可或缺的一部分,它们用于处理布尔值(true或false)并帮助构造复杂的条件语句。在本资料中,我们将深入探讨Java中的逻辑运算符,包括逻辑与(&&), 逻辑或(||), 逻辑非(!)以及...

    第02章 Java编程基础 09 三目运算符与优先级

    在Java编程语言中,三目运算符(Ternary Operator)和运算符的优先级是初学者常常会遇到的重要概念。这两个知识点对于编写简洁、高效的代码至关重要。让我们深入了解一下它们。 首先,三目运算符是一种简洁的条件...

    8.3 逻辑运算符.7z

    在编程领域,逻辑运算符是控制程序流程的关键元素,它们用于连接或比较布尔表达式,决定程序执行的路径。在“8.3 逻辑运算符”这个主题中,我们将深入探讨如何在各种编程语言中使用这些运算符。在这个博客源码(链接...

    Java逻辑基础题1-数据类型和运算符-答案.docx

    Java 是一种面向对象的编程语言,它的逻辑基础包括数据类型、运算符、控制流语句、方法和数组等。下面是 Java 逻辑基础题1-数据类型和运算符的答案。 一、数据类型 Java 中有八种基本数据类型:byte、short、int、...

    Java中位运算符在操作逻辑型数据时与逻辑运算符&&、-、!不同的测试

    Java中位运算符在操作逻辑型数据时与逻辑运算符&&、||、!不同的测试,测试结果逻辑运算符左侧的表达式会进行运算、右侧的不会,非运算一定会变;位运算符两侧都会变

    28.java运算符.zip

    28.java运算符.zip28.java运算符.zip28.java运算符.zip28.java运算符.zip28.java运算符.zip28.java运算符.zip28.java运算符.zip28.java运算符.zip28.java运算符.zip28.java运算符.zip28.java运算符.zip28.java运算符...

    Java中短路与和与,短路或和或逻辑运算符区别.pdf

    在Java编程语言中,逻辑运算符是用于组合布尔表达式的关键工具,它们帮助开发者基于一组条件来决定程序的流程。本文将深入探讨两种类型的“与”运算符(&&和&)以及两种类型的“或”运算符(||和|),并阐述它们之间...

    第02章 Java编程基础 08 位运算符与变量交换

    在Java编程语言中,位运算符是用于对整数类型(byte、short、int、long)的二进制表示进行操作的特殊运算符。这些运算符直接作用于数据的二进制位,提供了高效和底层的数据处理能力。本章将深入讲解位运算符及其在...

    java那些事儿

    Java那些事儿,这是一个专为Java初学者准备的学习资源,涵盖了丰富的知识内容,旨在帮助新接触Java编程的人士快速上手并深入理解这门强大的编程语言。在这个压缩包中,我们有两份重要的文件:《Java编程那些事儿》的...

Global site tag (gtag.js) - Google Analytics