java基础之基本操作符的使用(下)

简介: 博主简介:原互联网大厂tencent员工,网安巨头Venustech员工,阿里云开发社区专家博主,微信公众号java基础笔记优质创作者,csdn优质创作博主,创业者,知识共享者,欢迎关注,点赞,收藏。
博主简介:原互联网大厂tencent员工,网安巨头Venustech员工,阿里云开发社区专家博主,微信公众号java基础笔记优质创作者,csdn优质创作博主,创业者,知识共享者,欢迎关注,点赞,收藏。

@TOC


一、前言

  上一篇重点介绍了算术运算符,自增自减和关系运算符等内容,这篇继续深入学习java的操作符知识,主要关于逻辑运算符和短路相关内容。

   java基础之基本操作符的使用(上)

   java基础之基本操作符的使用(中)


二、逻辑运算符

   逻辑运算符能根据参数的逻辑关系,生成一个布尔值,true或者false。

格式 含义
&& AND,同时满足即为真
\ \ OR ,一个满足条件即为真
! NOT ,针对一个变量,true会变成false, false会变成true;

   举个例子。

        System.out.println((1 > 2) && (2 < 3));
        System.out.println((1 > 2) || (2 < 3));
        System.out.println(!(1 > 2));

   结果如下,可以结合表格确认一下是否正确,去理解一下。

false
true
true

三、短路

   当使用逻辑运算符时,我们会遇到一种短路现象,即一旦能够明确无误的确定整个表达式的值,就不在比较剩下部分了。
   举个例子,我们来分析一下,我们建立了三个方法,每一个方法都返回true或者false。我们调用test1(0) && test2(2) && test3(2)时,判断一下是否每个test方法都会被执行。

public class Test8 {
    public static void main(String[] args) {
        if(test1(0) && test2(2) && test3(2))
            System.out.println("expression is true");
        else
            System.out.println("expression is false");
    }


    static   boolean test1(int val) {
            System.out.println("test1(" + val + ")");
            System.out.println("result1: " + (val < 1));
            return val < 1;
        }
    static  boolean test2(int val) {
            System.out.println("test2(" + val + ")");
            System.out.println("result2: " + (val < 2));
            return val < 2;
        }
        static boolean test3(int val) {
            System.out.println("test3(" + val + ")");
            System.out.println("result2: " + (val < 3));
            return val < 3;
        }
}

   结果如下,可以看到当执行test1方法,和test2方法后,我们的结果就可以确立了,所以出现了短路现象,最终我们结果中没有打印test3里面的方法,所以test3方法没有执行。

test1(0)
result1: true
test2(2)
result2: false
expression is false

---

四、总结

  以上就是就是关于java基础操作运算符中短路和逻辑运算符的相关知识,可以参考一下,觉得不错的话,欢迎点赞、收藏、在看,欢迎微信搜索关注java基础笔记,后面会不断更新相关知识,大家一起进步。

目录
相关文章
|
2月前
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
91 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
6月前
|
Java
【Java基础】输入输出流(IO流)
Java基础、输入输出流、IO流、流的概念、输入输出流的类层次结构图、使用 InputStream 和 OutputStream流类、使用 Reader 和 Writer 流类
219 2
|
2月前
|
Java 编译器
Java“操作符 ... 不能应用于 x”解决
当Java编译器报错“操作符 ... 不能应用于 x”时,通常是因为你尝试对不支持该操作符的数据类型执行了操作。解决方法包括:确保数据类型兼容、使用正确的类型转换或选择合适的方法。检查代码中的变量类型和操作符使用是否正确。
47 4
|
3月前
|
安全 Java API
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
String常量池、String、StringBuffer、Stringbuilder有什么区别、List与Set的区别、ArrayList和LinkedList的区别、HashMap底层原理、ConcurrentHashMap、HashMap和Hashtable的区别、泛型擦除、ABA问题、IO多路复用、BIO、NIO、O、异常处理机制、反射
|
6月前
|
安全 Java
|
6月前
|
搜索推荐 算法 Java
【Java基础】 几种简单的算法排序
几种简单的JAVA算法排序
56 4
|
6月前
|
存储 缓存 Java
Java基础17-读懂Java IO流和常见面试题(二)
Java基础17-读懂Java IO流和常见面试题(二)
48 0
|
6月前
|
存储 Java Unix
Java基础17-读懂Java IO流和常见面试题(一)
Java基础16-读懂Java IO流和常见面试题(一)
80 0
|
7月前
|
Java
Java基础教程(12)-Java中的IO流
【4月更文挑战第12天】Java IO涉及输入输出,包括从外部读取数据到内存(如文件、网络)和从内存输出到外部。流是信息传输的抽象,分为字节流和字符流。字节流处理二进制数据,如InputStream和OutputStream,而字符流处理Unicode字符,如Reader和Writer。File对象用于文件和目录操作,Path对象简化了路径处理。ZipInputStream和ZipOutputStream则用于读写zip文件。
|
7月前
|
存储 Java 编译器
Java基础教程(4)-Java中的操作符
【4月更文挑战第4天】Java中的String是常用类,字符串是不可变对象,用双引号表示。String对象在编译期长度受限于65535,运行期不超过Int范围。字符串方法如length()、substring()、replace()、equals()等提供了多种操作。可变字符串可使用StringBuffer或StringBuilder。String对象通过字符串池优化内存,池中已有相同内容字符串则返回其引用。