Java基础逻辑运算符

简介: Java基础逻辑运算符

逻辑运算符:


& 逻辑与【并且】(两边的算子都是true,结果才是true)

| 逻辑或【或者】(两边的算子只要有一个是true,结果就是true)

! 逻辑非(取反,!false就是true,!true就是false,这是一个单目运算符)

^ 逻辑异或(两边的算子不一样,结果就是true)


&& 短路与

|| 短路或


1.逻辑符要求两边的算子都是布尔类型,并且逻辑运算符最终的运算结果也是一个布尔类型。


2.短路与和逻辑与最终的运算结果是相同的,只不过短路与存在短路现象。


3.短路或和逻辑或最终的运算结果是相同的,只不过短路或存在短路现象。


4.什么情况下发生短路现象呢?


5.什么时候选择使用逻辑与运算符?什么时候选择使用短路与运算符?


public class OperatorTest03{
  public static void main(String[] args){
    //运算符优先级不确定,加小括号
    System.out.println( 5 > 3 & 5 > 2);//true
    System.out.println( 5 > 3 & 5 > 6);//true
    System.out.println( 5 > 3 | 5 > 6);//true
    System.out.println( true & true);//true
    System.out.println( true & false);//false
    System.out.println( false & true);//false
    System.out.println( false & false);//false
    System.out.println( true | false);//true
    System.out.println( false | false);//false
    System.out.println( !false );//true
    System.out.println( !true );//false
    System.out.println( true ^ false );//true
    System.out.println( false ^ false );//false
    System.out.println( true ^ true );//false
    //逻辑与和短路与
    int x = 10;
    int y = 8;
    //逻辑与
    System.out.println(x < y & ++x < y);
    System.out.println(x);//11
    //逻辑与和短路与
    int x = 10;
    int y = 8;
    //短路与
    //x < y结果是false,整个表达式结果已经确定是false
    //所有后面的表达式没有在执行,这种现象被称为短路现象。
    //短路与才会有短路现象,逻辑与是不会存在短路现象的。
    System.out.println(x < y && ++x < y);
    System.out.println(x);//10
    /*
        从某个角度来看,短路与更智能。由于后面的表达式可能不执行,
      所以执行效率较高。这种方式在实际的开发中使用较多。短路与
      比逻辑与使用的多。短路与更常用。
      但是,在某些特殊业务当中,要求运算符两边的算子必须全部执行
      ,此时必须使用逻辑与,不能使用短路与,使用短路与可能导致右边的
      表达式不执行。
    */
    /*
        什么情况下发生短路或?
          * 第一个表达式执行结果是true,会发生短路或。
      什么情况下发生短路与?
          *第一个表达式执行结果是false,会发生短路与。
    */
  }
}
相关文章
|
1月前
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
73 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
5月前
|
Java
【Java基础】输入输出流(IO流)
Java基础、输入输出流、IO流、流的概念、输入输出流的类层次结构图、使用 InputStream 和 OutputStream流类、使用 Reader 和 Writer 流类
172 2
|
2月前
|
安全 Java API
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
String常量池、String、StringBuffer、Stringbuilder有什么区别、List与Set的区别、ArrayList和LinkedList的区别、HashMap底层原理、ConcurrentHashMap、HashMap和Hashtable的区别、泛型擦除、ABA问题、IO多路复用、BIO、NIO、O、异常处理机制、反射
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
|
3月前
|
Java C# 容器
逻辑运算符Java代码的注释
这段代码及文字介绍了一个简单的Java程序以及Java编程的基础概念。代码展示了如何输出“Hello Word”。接着,用贴近生活的比喻解释了`package`(包)、`public`(访问修饰符)、`class`(类)、`static`(静态)和`void`(空)的概念。此外,还介绍了`System.out.println()`方法。进一步讲解了Java中的注释、数据类型(包括整型、浮点型、字符型和布尔型),变量和常量的概念,以及运算符、类型转换、赋值运算符、关系运算符与逻辑运算符等基础知识点。通过生动的例子帮助初学者更好地理解和记忆。
27 2
|
3月前
|
Java 测试技术 数据安全/隐私保护
Java零基础(20) - Java逻辑运算符,了解一下!
【8月更文挑战第20天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
53 2
|
5月前
|
安全 Java
|
5月前
|
Java
天呐!Java 逻辑运算符的秘密,你绝对不知道!
【6月更文挑战第14天】Java 逻辑运算符包括&&, ||和!,分别对应与、或和非操作。&&仅当两边操作数都为真时结果才为真,如`flag1 && flag2`;||只要一个操作数为真即为真,如`flag3 || flag4`。!用于取反,如`!flag5`。在复杂条件判断中,可组合使用这些运算符,如`(num1 &gt; num2 && num1 &lt; num3) || (num2 &gt; num1 && num2 &lt; num3)`。逻辑运算符还有短路特性,如`flag6 && (value++) &gt; 0`,若flag6为假,则不会计算后半部分。
30 1
|
5月前
|
Java 数据安全/隐私保护
尖叫!逻辑运算符如何重塑 Java 基本语法!
【6月更文挑战第14天】Java编程中的逻辑运算符(&&, ||, !)是构建复杂逻辑的关键。与运算符要求两边表达式均真,或运算符只需一侧为真,非运算符则对布尔值取反。在实际应用如登录检查、条件判断中,这些运算符组合使用能实现灵活的控制流程。理解并熟练运用逻辑运算符,能增强程序的逻辑处理能力,为编程带来广阔的可能性。探索和实践,让逻辑运算符在代码中释放更大潜力!
23 1
|
5月前
|
Java
崩溃!Java 逻辑运算符,让你重新认识基本语法!
【6月更文挑战第14天】Java中的逻辑运算符“&&”、“||”和“!”用于构建复杂的逻辑结构。例如,“&&”要求两边操作数均为真,表达式才为真;“||”只需一个操作数为真即为真;“!”是对布尔值取反。通过这些运算符,我们可以编写条件判断和逻辑推理,如示例所示,它们在程序设计中扮演着关键角色,使程序能根据不同条件作出相应反应。理解和熟练使用逻辑运算符对于编写智能灵活的程序至关重要。
33 1
|
5月前
|
搜索推荐 算法 Java
【Java基础】 几种简单的算法排序
几种简单的JAVA算法排序
54 4
下一篇
无影云桌面