Java零基础 - 逻辑运算符

news2025/1/10 20:37:24

哈喽,各位小伙伴们,你们好呀,我是喵手。

  今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。

  我是一名后端开发爱好者,工作日常接触到最多的就是Java语言啦,所以我都尽量抽业余时间把自己所学到所会的,通过文章的形式进行输出,希望以这种方式帮助到更多的初学者或者想入门的小伙伴们,同时也能对自己的技术进行沉淀,加以复盘,查缺补漏。

小伙伴们在批阅的过程中,如果觉得文章不错,欢迎点赞、收藏、关注哦。三连即是对作者我写作道路上最好的鼓励与支持!

前言

在编程中,逻辑运算符是非常重要的组成部分。逻辑运算符用于判断条件的真假,并根据判断结果来执行相应的操作。在Java中,有三个逻辑运算符:与(&&)、或(||)、非(!)。本文将介绍逻辑运算符的基本概念和用法,并通过源代码解析、应用场景案例和优缺点分析等方式,帮助读者更好地理解和应用逻辑运算符。

摘要

本文将详细介绍Java中的逻辑运算符,包括与、或、非三种逻辑运算符的使用方法和注意事项。通过源代码解析和应用场景案例的讲解,读者可以了解逻辑运算符在实际编程中的应用。同时,本文还通过优缺点分析和测试用例的编写,帮助读者更好地理解逻辑运算符的优势和限制。

正文

简介

逻辑运算符是用于判断条件的真假的一类运算符。在Java中,有三个逻辑运算符:与(&&)、或(||)、非(!)。逻辑运算符常用于条件语句、循环语句和逻辑判断等场景中。逻辑运算符的使用需要注意运算符的优先级和短路特性。

源代码解析

下面是逻辑运算符的源代码解析:

public class LogicalOperatorExample {
    public static void main(String[] args) {
        boolean a = true;
        boolean b = false;
        
        // 与运算符
        boolean result1 = a && b;
        System.out.println("a && b = " + result1); // 输出: a && b = false
        
        // 或运算符
        boolean result2 = a || b;
        System.out.println("a || b = " + result2); // 输出: a || b = true
        
        // 非运算符
        boolean result3 = !a;
        System.out.println("!a = " + result3); // 输出: !a = false
    }
}

上述代码中,我们定义了两个boolean类型的变量a和b,并使用逻辑运算符进行计算。通过打印输出,可以得到逻辑运算符的结果。

执行结果如下:

在这里插入图片描述

代码分析:

上述代码演示了逻辑运算符的用法。

在代码中,我们定义了两个boolean类型的变量a和b,分别赋值为true和false。

接下来,我们使用了三个逻辑运算符进行演示。

第一个是与运算符(&&),用于判断两个条件是否同时为true。当a和b都为true时,结果为true;否则,结果为false。

第二个是或运算符(||),用于判断两个条件是否至少有一个为true。当a和b中至少有一个为true时,结果为true;否则,结果为false。

第三个是非运算符(!),用于取反一个条件的结果。当a为true时,结果为false;当a为false时,结果为true。

最后,我们分别输出了三个表达式的结果,可以看到运行结果与预期一致。

应用场景案例

逻辑运算符在实际编程中有很多应用场景,下面是一个简单的案例:

package com.example.javase.ms.operator;

/**
 * @Author ms
 * @Date 2023-12-15 18:05
 */
public class LogicExample {
    
    public static void main(String[] args) {
        int score = 75;
        boolean passed = score >= 60 && score <= 100;

        if (passed) {
            System.out.println("你及格了!");
        } else {
            System.out.println("很遗憾,你没通过!");
        }
    }
}

在上述代码中,我们使用逻辑运算符判断学生成绩是否及格。如果成绩大于等于60且小于等于100,则输出"你及格了!“;否则输出"很遗憾,你没通过!”。

执行结果如下:

在这里插入图片描述

优缺点分析

逻辑运算符的使用有以下优点和缺点:

优点:

  1. 简化条件判断:逻辑运算符可以将多个条件判断语句合并为一个表达式,简化代码结构。
  2. 提高代码可读性:合理使用逻辑运算符可以使代码更加简洁和易读。

缺点:

  1. 逻辑运算符计算的结果只能是布尔值,无法进行其他类型的运算。
  2. 逻辑运算符可能存在短路特性,即只要条件判断能够确定结果,后续的条件判断就不会执行。

类代码方法介绍

在Java中,逻辑运算符是通过类库中的方法实现的。下面是逻辑运算符的类代码方法介绍:

  • 与运算符(&&)的类代码方法是boolean logicalAnd(boolean a, boolean b)。该方法返回两个参数的逻辑与结果。
  • 或运算符(||)的类代码方法是boolean logicalOr(boolean a, boolean b)。该方法返回两个参数的逻辑或结果。
  • 非运算符(!)的类代码方法是boolean logicalNot(boolean a)。该方法返回参数的逻辑非结果。

测试用例

下面是针对逻辑运算符的测试用例:

public class LogicalOperatorTest {
    public static void main(String[] args) {
        assert logicalAnd(true, false) == false;
        assert logicalOr(true, false) == true;
        assert logicalNot(true) == false;
    }
    
    public static boolean logicalAnd(boolean a, boolean b) {
        return a && b;
    }
    
    public static boolean logicalOr(boolean a, boolean b) {
        return a || b;
    }
    
    public static boolean logicalNot(boolean a) {
        return !a;
    }
}

在上述测试用例中,我们使用assert语句进行断言,验证逻辑运算符的计算结果是否符合预期。如果断言失败,则会抛出异常。

全文小结

本文通过介绍逻辑运算符的基本概念和用法,帮助读者了解逻辑运算符在Java中的重要性和应用场景。通过源代码解析、应用场景案例和优缺点分析的讲解,读者可以更好地理解和应用逻辑运算符。同时,通过测试用例和类代码方法介绍的编写,读者可以进一步巩固对逻辑运算符的掌握。

总结

逻辑运算符是判断条件真假的重要工具,在Java编程中有着广泛的应用。通过本文的学习,读者可以掌握逻辑运算符的基本用法和注意事项,并了解其在实际编程中的应用。

总之,熟练掌握逻辑运算符是Java编程的基础,也是编写稳定、高效代码的关键之一。希望本文的介绍能帮助读者更好地理解和应用逻辑运算符。

… …

文末

好啦,以上就是我这期的全部内容,如果有任何疑问,欢迎下方留言哦,咱们下期见。

… …

学习不分先后,知识不分多少;事无巨细,当以虚心求教;三人行,必有我师焉!!!

wished for you successed !!!


⭐️若喜欢我,就请关注我叭。

⭐️若对您有用,就请点赞叭。

⭐️若有疑问,就请评论留言告诉我叭。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1461267.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[word] word带圈数字20以上 #笔记#笔记

word带圈数字20以上 办公中有时候需要用到带圈数字&#xff0c;超过20的数字就不能直接编辑了&#xff0c;那么20以上带圈数字要怎么输入呢&#xff1f;其实通过小技巧就能完成的&#xff0c;接下来就给大家介绍下呢&#xff0c;一起看看吧&#xff01; 20以上带圈数字输入技巧…

LaunchPad 市场的复苏,Penpad 成新兴生力军

以 Fair Launch 为主要启动方式的铭文市场的爆发&#xff0c;推动了 LaunchPad 市场的复苏&#xff0c;绝多数所铭文项目都能通过 Fairr Launch 的方式筹集资金实现启动&#xff0c;该赛道的爆发不仅推动了数百亿美元的热钱开始在链上不断涌动&#xff0c;同时也进一步形成了新…

String为什么是不可变的?

一、String字符串类型的数据结构 首先&#xff0c;String类是由 final 关键字修饰&#xff0c;这说明String 不可被继承。其次&#xff0c;由源代码可以看出String的成员字段value是一个char[ ]数组&#xff0c;在后面所有的String方法里都不提供修改Array数组的方法&#xff0…

torch.manual_seed(233333)

torch.manual_seed&#xff08;233333&#xff09; 介绍报错信息解决问题总结 介绍 这是在使用GPT-SoVITS时运行缺失pytorch导致报的错 报错信息 Traceback (most recent call last): File “D:\vits\GPT-SoVITS-beta\GPT-SoVITS-beta0217\webui.py”, line 10, in torch.m…

文件上传漏洞--Upload-labs--Pass17--条件竞争

一、条件竞争原理&#xff08;结合代码审计&#xff09; 1、首先进行代码审计&#xff0c;查看源代码。 我们可知&#xff0c;将文件上传至服务器后&#xff0c;不会被立即删除&#xff0c;而是做短暂的停留&#xff0c;中间会有一小部分时间差&#xff0c;这部分时间差是代码…

STM32使用软件SPI协议操作TFT18彩屏

时间记录&#xff1a;2024/2/20 一、SPI协议介绍 &#xff08;1&#xff09;SPI设备通过4根线进行通信&#xff0c;CS片选线&#xff0c;选择从设备&#xff0c;SCK时钟线&#xff0c;由主设备产生时钟&#xff0c;主机MOSI线连从机MISO线&#xff0c;由主机向从机发送信息&am…

HighTec编译器系列之01新建工程

HighTec编译器系列之01新建工程 继上篇《Hightec编译器系列之白嫖就是爽》小T告诉大家如何白嫖HighTec编译器长达一年之久之后&#xff0c;今天小T告诉大家如何进行HighTec编译器IDE的基础操作-即新建HighTec工程。 以下是本期内容的行文大纲&#xff1a; S1&#xff1a;创建…

Cesium for Unreal 从源码编译到应用——插件编译

一、安装环境 Unreal Engine 5.3 CMake 3.17.5 Microsoft Visual Studio 2019 二、源码准备 下载cesium-unreal-samples工程。 git clone https://github.com/CesiumGS/cesium-unreal-samples.git 然后在工程目录创建Plugins文件夹&#xff0c;并下载cesium-unreal工程。 …

java常用应用程序编程接口(API)——Objects类和包装类

前言&#xff1a; Object类和Objects类是完全不同的两个类&#xff0c;之前有说过Object类&#xff0c;这次说一下Objects类。打好基础&#xff0c;daydayup! Object类可以看这篇&#xff1a;java常用应用程序编程接口&#xff08;API&#xff09;——Object类概述及常用方法 O…

IIC通信驱动硬件编程 (1)

1、IIC协议基础 I2C( IIC )属于两线式串行总线&#xff0c;由飞利浦公司开发用于微控制器(MCU)和外围设备(从设备)进行通信的一种总线&#xff0c;属于一主多从即一个主设备(Master)&#xff0c;多个从设备(Slave))的总线结构&#xff0c;总线上的每个设备都有一个特定的设备地…

MR(混合现实)系统的开发流程

MR&#xff08;混合现实&#xff09;系统是一种将虚拟信息与真实世界环境相结合的技术&#xff0c;通过头戴式显示器、智能手机等设备将虚拟对象叠加在用户的真实感知中。它可以让用户与虚拟对象进行互动&#xff0c;并在真实环境中观察虚拟对象的行为。MR&#xff08;混合现实…

this的指向问题总结

this一般会出现在函数里面&#xff0c;但是一般情况下只有在函数被调用执行时&#xff0c;才能确定this指向哪个对象。一般情况下this是指调用函数的对象。 1.在全局作用域下或者普通函数中this的指向一般都是window对象 window.fn&#xff08;&#xff09;&#xff0c;普通函…

​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】

欢迎来CILMY23的博客喔&#xff0c;本期系列为​【C语言】长篇详解&#xff0c;字符系列篇3-----strstr&#xff0c;strtok&#xff0c;strerror字符串函数的使用【图文详解​】&#xff0c;图文讲解各种字符串函数&#xff0c;带大家更深刻理解C语言中各种字符串函数的应用&am…

35年的卓越成就:威步在网络安全和软件授权领域持续领先

1989-2023&#xff1a;威步成立35年里程碑。这35年中&#xff0c;公司始终致力于业务连续性、技术进步和团队凝聚力。 ​全球信任与在地优势&#xff1a;威步凭借其全球渠道合作伙伴网络&#xff0c;确保国际客户像信赖本地优质企业一样信赖他们。 传统与创新&#xff1a;威步…

Solidworks:焊件(型材)结构构件设计

焊件&#xff08;型材&#xff09;结构构件设计是Solidworks的一大特色。使用这一功能&#xff0c;能够体会到这款软件的架构设计在逐步递进增加软件功能方面做出的特别努力。 设计一个三角形框架 正面&#xff1a; 换个角度观察&#xff1a; 再来一个练习&#xff0c;包含…

顺序表详解(SeqList)

本文使用C语言进行顺序表的代码实现。 博主将使用代码和相关知识相结合的方式进行讲解&#xff0c;简单易懂&#xff0c;懵懂的大学生一听就会~ 顺序表是一种线性表的存储结构&#xff0c;它将数据元素存储在一段连续的存储空间中&#xff0c;每个元素占据一个存储单元&#x…

Spring Security 认证授权安全框架

Spring Security概述 1.什么是Spring Security? Spring Security是一个Java框架&#xff0c;用于保护应用程序的安全性。它提供了一套全面的安全解决方案&#xff0c;包括身份验证、授权、防止攻击等功能。Spring Security基于过滤器链的概念&#xff0c;可以轻松地集成到任…

白盒测试接口测试自动化测试

一、白盒测试&#xff1a;一种测试策略&#xff0c;允许我们检查程序的内部结构&#xff0c;对程序的逻辑结构进行检查&#xff0c;从中获取测试数据。白盒测试的对象基本是源程序&#xff0c;所以它又称为结构测试或逻辑驱动测试&#xff0c;白盒测试方法一般分为静态测试和动…

Cesium 问题:加载 gltf 格式的模型之后太小,如何让相机视角拉近

文章目录 问题分析问题 刚加载的模型太小,如何拉近视角放大 分析 在这里有两种方式进行拉近视角, 一种是点击复位进行视角拉近一种是刚加载就直接拉近视角// 模型三加载 this.damModel = new Cesium.Entity({name: "gltf模型",position:</

leetcode hot100零钱兑换Ⅱ

本题可以看出也是背包问题&#xff0c;但区别于之前的01背包问题&#xff0c;这个是完全背包问题的变形形式。 下面介绍01背包和完全背包的区别与联系&#xff1a; 01背包是背包中的物品只能用一次&#xff0c;不可以重复使用&#xff0c;而完全背包则是可以重复使用。01/完全…