滚雪球学Java(09-3):Java中的逻辑运算符,你真的掌握了吗?

news2024/11/18 3:43:56

在这里插入图片描述

  咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及Java SE相关知识点了,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好习惯,别被干货淹没了哦~


🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!!

环境说明:Windows 10 + IntelliJ IDEA 2021.3.2 + Jdk 1.8

文章目录

  • 前言
  • 摘要
  • Java-逻辑运算符
    • 简介
    • 案例解析
      • 测试代码演示
      • 测试结果
      • 测试代码分析
    • 应用场景案例
    • 优缺点分析
    • 类代码方法介绍
      • Boolean类
      • Math类
    • 测试用例
    • 全文小结
  • 总结
    • 附录源码
  • ☀️建议/推荐你
  • 📣关于我

前言

  Java作为一种高级编程语言,涵盖了很多方面知识,其中逻辑运算符在Java编程中扮演着重要的角色。本文将为读者详细介绍Java中的逻辑运算符及其应用场景。

摘要

  本文首先会介绍逻辑运算符的概念,然后在源代码解析中会对Java中逻辑运算符的各种用法进行解析和演示,接下来在应用场景案例部分会举例说明逻辑运算符在Java编程中的常见应用,然后在优缺点分析中会对使用逻辑运算符的优缺点进行分析,接着在类代码方法介绍中,会对逻辑运算符的常见方法和类进行介绍,最后在测试用例中,我们会使用main函数编写简单的测试代码来展示逻辑运算符的使用,最后,我们会对本文内容进行全文小结和总结。

Java-逻辑运算符

简介

  逻辑运算符分为三种:与(&&),或(||)和非(!)。逻辑运算符主要用于判断两个或多个条件的关系。逻辑运算符与比较运算符配合使用可以实现很多复杂的判断。

逻辑与(&&):当两个条件都为true时,结果为true;否则结果为false。

逻辑或(||):当两个条件中任意一个为true时,结果为true;否则结果为false。

逻辑非(!):当条件为true时,结果为false;当条件为false时,结果为true。

案例解析

下面是三种逻辑运算符的代码演示:

测试代码演示

package com.demo.javase.day09;

/**
 * Java之逻辑运算符案例演示
 *
 * @Author bug菌
 * @Date 2023-11-08 22:48
 */
public class LogicalOperatorsTest {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int c = 30;

        // 逻辑与(&&)
        if (a > 0 && b > 0) {
            System.out.println("a和b都大于0");
        } else {
            System.out.println("a和b中至少有一个小于等于0");
        }

        // 逻辑或(||)
        if (b > 0 || c > 0) {
            System.out.println("b和c中至少有一个大于0");
        } else {
            System.out.println("b和c都小于等于0");
        }

        // 逻辑非(!)
        if (!(a > 0)) {
            System.out.println("a小于等于0");
        } else {
            System.out.println("a大于0");
        }
    }
}

  上述代码演示了逻辑与(&&)、逻辑或(||)、逻辑非(!)三种运算符的使用。其中,逻辑与(&&)语句中,当a大于0并且b大于0时,打印出"a和b都大于0",否则打印出"a和b中至少有一个小于等于0"。逻辑或(||)语句中,当b大于0或者c大于0时,打印出"b和c中至少有一个大于0",否则打印出"b和c都小于等于0"。逻辑非(!)语句中,当a小于等于0时,打印出"a小于等于0",否则打印出"a大于0"。

测试结果

  根据如上测试用例,本地测试结果如下,仅供参考,你们也可以自行修改测试用例或者添加更多的测试数据或测试方法,进行熟练学习以此加深理解。

在这里插入图片描述

测试代码分析

  根据如上测试用例,在此我给大家进行深入详细的解读一下测试代码,以便于更多的同学能够理解并加深印象。

  如上测试用例是一个Java程序,演示了逻辑运算符的三种用法:逻辑与(&&)、逻辑或(||)、逻辑非(!)。程序定义了三个整型变量a、b、c,并分别赋值为10、20、30。接下来,使用if条件语句,对a和b的大小关系进行判断,如果a和b都大于0,则输出字符串“a和b都大于0”,否则输出“a和b中至少有一个小于等于0”。接着,使用if条件语句,对b和c的大小关系进行判断,如果b和c中至少有一个大于0,则输出字符串“b和c中至少有一个大于0”,否则输出“b和c都小于等于0”。最后,使用if条件语句,对a的大小关系进行判断,如果a小于等于0,则输出字符串“a小于等于0”,否则输出“a大于0”。

应用场景案例

  1. 条件判断

  逻辑运算符常用于条件判断语句中。例如,判断一个数是否在某个区间内:

int num = 5;
if (num > 0 && num < 10) {
    System.out.println("num在0到10之间");
} else {
    System.out.println("num不在0到10之间");
}
  1. 复合条件的判断

  逻辑运算符也可以用于复合条件的判断。例如,判断一个人的年龄是否符合某个条件:

int age = 20;
String gender = "男";
if (age >= 18 && age <= 35 && gender.equals("男")) {
    System.out.println("符合招兵买马的条件");
} else {
    System.out.println("不符合招兵买马的条件");
}

优缺点分析

优点:

  1. 可以实现复杂的条件判断;
  2. 可以在一次判断中同时判断多个条件;
  3. 可以根据不同的条件进行不同的操作。

缺点:

  1. 过多的运用逻辑运算符会使代码可读性变差,降低代码的可维护性。

类代码方法介绍

Boolean类

  Boolean类是Java中一个基本的包装类,用于将原始的boolean类型数据包装成一个对象。Boolean类中包含了一些常用的逻辑运算方法,例如equals()、hashCode()、toString()等方法。

Math类

  Math类是Java中的一个数学库类。虽然Math类中并不包含逻辑运算符,但是它提供了很多与逻辑运算相关的方法,例如abs()、ceil()、floor()、max()、min()等方法。

测试用例

下面是一个简单的使用逻辑运算符的测试用例:

public class TestLogicalOperators {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int c = 30;
        
        if (a > 5 || b > 30) {
            if (c < 40) {
                System.out.println("a大于5或b大于30,且c小于40");
            }
        } else {
            System.out.println("a小于等于5且b小于等于30");
        }
    }
}

  根据如上测试用例,本地测试结果如下,仅供参考,你们也可以自行修改测试用例或者添加更多的测试数据或测试方法,进行熟练学习以此加深理解。

在这里插入图片描述

全文小结

  本文详细介绍了Java中的逻辑运算符及其应用场景,通过源代码解析和应用场景案例的演示,让读者更好地理解了逻辑运算符的使用方法。同时,本文还对使用逻辑运算符的优缺点进行了分析,并介绍了Boolean类和Math类的常见方法。最后,我们用一个简单的测试用例来演示了逻辑运算符的使用。

总结

  逻辑运算符是Java编程中的重要组成部分,掌握逻辑运算符的使用方法可以帮助程序员更好地编写代码。在实际应用中,程序员需要根据具体情况选择适合的逻辑运算符来进行条件判断和复合条件的判断。同时,程序员还需要注意逻辑运算符的使用,避免使用过多导致代码可读性变差的问题。

  …

  好啦,这期的内容就基本接近尾声啦,若你想学习更多,可以参考这篇专栏总结《「滚雪球学Java」教程导航帖》,本专栏致力打造最硬核 Java 零基础系列学习内容,🚀打造全网精品硬核专栏,带你直线超车;欢迎大家订阅持续学习。

附录源码

  如上涉及所有源码均已上传同步在「Gitee」,提供给同学们一对一参考学习,辅助你更迅速的掌握。

☀️建议/推荐你


  无论你是计算机专业的学生,还是对编程有兴趣的小伙伴,都建议直接毫无顾忌的学习此专栏「滚雪球学Java」,bug菌郑重承诺,凡是学习此专栏的同学,均能获取到所需的知识和技能,全网最快速入门Java编程,就像滚雪球一样,越滚越大,指数级提升。

  最后,如果这篇文章对你有所帮助,帮忙给作者来个一键三连,关注、点赞、收藏,您的支持就是我坚持写作最大的动力。

  同时欢迎大家关注公众号:「猿圈奇妙屋」 ,以便学习更多同类型的技术文章,免费白嫖最新BAT互联网公司面试题、4000G pdf电子书籍、简历模板、技术文章Markdown文档等海量资料。

📣关于我

  我是bug菌,CSDN | 掘金 | infoQ | 51CTO 等社区博客专家,历届博客之星Top30,掘金年度人气作者Top40,51CTO年度博主Top12,华为云 | 阿里云| 腾讯云等社区优质创作者,全网粉丝合计15w+ ;硬核微信公众号「猿圈奇妙屋」,欢迎你的加入!免费白嫖最新BAT互联网公司面试题、4000G pdf电子书籍、简历模板等海量资料。


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

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

相关文章

7.docker运行redis容器

1.准备redis的配置文件 从上一篇运行MySQL容器我们知道&#xff0c;需要给容器挂载数据卷&#xff0c;来持久化数据和配置&#xff0c;相应的redis也不例外。这里我们以redis6.0.8为例来实际说明下。 1.1 查找redis的配置文件redis.conf 下面这个网址有各种版本的配置文件供…

Android Studio Error “Unsupported class file major version 61“---异常信息记录

编译时异常信息 原因及解决办法 问题出在JAVA 17上&#xff0c;并且使用的Gradle JDK是&#xff1a;Android Studio java home版本17.0.1将其更改为&#xff1a;Android Studio默认JDK版本11.0.10 即可解决 操作步骤 1 2 3

基于STC12C5A60S2系列1T 8051单片的IIC总线器件模数芯片PCF8591实现模数转换应用

基于STC12C5A60S2系列1T 8051单片的IIC总线器件模数芯片PCF8591实现模数转换应用 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍IIC总线器件模数芯片PCF8591介绍通过I…

RT-Thread STM32F407 PWM

为了展示PWM效果&#xff0c;这里用ADC来采集PWM输出通道的电平变化 第一步&#xff0c;进入RT-Thread Settings配置PWM驱动 第二步&#xff0c;进入board.h&#xff0c;打开PWM宏 第三步&#xff0c;进入STM32CubeMX&#xff0c;配置时钟及PWM 第四步&#xff0c;回到R…

免费开源的区域屏幕录制(gif转换)工具(支持编辑功能)

软件优点&#xff1a;区域截屏&#xff0c;直接转换为gif即刻分享&#xff0c;免费开源&#xff0c;支持编辑功能 它可以让你轻松地录制屏幕&#xff0c;摄像头或画板的动画&#xff0c;并编辑、保存为 GIF&#xff0c;视频或其他格式。 下载并安装 ScreenToGif 首先&#xf…

CentOS挂载:解锁文件系统的力量

目录 引言1 挂载简介2 挂载本地分区3 挂载网络共享文件系统4 使用CIFS挂载结论 引言 在CentOS&#xff08;一种基于Linux的操作系统&#xff09;上挂载文件系统是一项常见而重要的任务&#xff0c;无论是将新的磁盘驱动器添加到系统&#xff0c;还是挂载网络共享资源&#xff…

C#检查服务状态,以及进行服务启停

1. linux环境 linux环境通过执行bash命令直接执行&#xff1a; public string RunCmdLinux(string cmd){var proc new Process();System.Console.Write($"Run Linux cmd > [{cmd}] START!");proc.StartInfo.CreateNoWindow true;proc.StartInfo.FileName &…

【如何学习Python自动化测试】—— 自动化测试环境搭建

1、 自动化测试环境搭建 1.1 为什么选择 Python 什么是python&#xff0c;引用python官方的说法就是“一种解释型的、面向对象、带有励志语义的高级程序设计语言”&#xff0c;对于很多测试人员来说&#xff0c;这段话包含了很多术语&#xff0c;而测试人员大多是希望利用编程…

机器学习:十大算法快速回顾

一、说明 对于机器学习的是个经典算法&#xff0c;本篇将展示一个回顾&#xff0c;注意&#xff0c;本篇不是具体原理信息介绍&#xff0c;没有代码&#xff0c;但是对于初学者是一个有益的导读。 二. 线性回归 2.1 算法描述 有没有想过数据奇才如何预测未来&#xff1f;输入线…

【spring】ApplicationContext的实现

目录 一、ClassPathXmlApplicationContext1.1 说明1.2 代码示例1.3 截图示例 二、FileSystemXmlApplicationContext2.1 说明2.2 代码示例2.3 加载xml的bean定义示例 三、AnnotationConfigApplicationContext3.1 说明3.2 代码示例3.3 截图示例 四、AnnotationConfigServletWebSe…

40 _ 初识动态规划:如何巧妙解决“双十一”购物时的凑单问题?

淘宝的“双十一”购物节有各种促销活动,比如“满200元减50元”。假设你女朋友的购物车中有n个(n>100)想买的商品,她希望从里面选几个,在凑够满减条件的前提下,让选出来的商品价格总和最大程度地接近满减条件(200元),这样就可以极大限度地“薅羊毛”。作为程序员的你…

【汇编】栈及栈操作的实现

文章目录 前言一、栈是什么&#xff1f;二、栈的特点三、栈操作四、8086cpu操作栈4.1 汇编指令4.2 汇编代码讲解问题&#xff1a;回答&#xff1a; 4.3 栈的操作4.3 push 指令和pop指令的执行过程执行入栈(push)时&#xff0c;栈顶超出栈空间执行出栈(pop)时&#xff0c;栈顶超…

Bert浅谈

优点 首先&#xff0c;bert的创新点在于利用了双向transformer&#xff0c;这就跟openai的gpt有区别&#xff0c;gpt是采用单向的transformer&#xff0c;而作者认为双向transformer更能够融合上下文的信息。这里双向和单向的区别在于&#xff0c;单向只跟当前位置之前的tocke…

【小收获】数组在声明时整体赋值的细节

在C中&#xff0c;在全局区声明的数组会自动初始化 如果没有为全局区的整数类型的数组指定初始值&#xff0c;那么它的元素都会被自动初始化为0。该特性适用于所有整数类型的数组&#xff0c;包括char、short、int、long等。&#xff08;注:char类型数组自动初始化为0&#xff…

CCF ChinaSoft 2023 论坛巡礼 | CCF-华为胡杨林基金-软件工程专项(海报)论坛

2023年CCF中国软件大会&#xff08;CCF ChinaSoft 2023&#xff09;由CCF主办&#xff0c;CCF系统软件专委会、形式化方法专委会、软件工程专委会以及复旦大学联合承办&#xff0c;将于2023年12月1-3日在上海国际会议中心举行。 本次大会主题是“智能化软件创新推动数字经济与社…

MySQL数据库——存储过程-游标(介绍-声明游标、打开游标、获取游标记录、关闭游标,案例)

目录 介绍 声明游标 打开游标 获取游标记录 关闭游标 案例 介绍 游标&#xff08;CURSOR&#xff09;是用来存储查询结果集的数据类型 , 在存储过程和函数中可以使用游标对结果集进行循环的处理。 游标的使用包括游标的声明、OPEN、FETCH 和 CLOSE&#xff0c;其语法…

机器学习第8天:线性SVM分类

文章目录 介绍 特征缩放 示例代码 硬间隔与软间隔分类 主要代码 代码解释 结语 介绍 作用&#xff1a;判别种类 原理&#xff1a;找出一个决策边界&#xff0c;判断数据所处区域来识别种类 简单介绍一下SVM分类的思想&#xff0c;我们看下面这张图&#xff0c;两种分类都…

第六十二周周报

学习目标&#xff1a; 一、实验 二、论文 学习时间&#xff1a; 2023.11.11-2023.11.17 学习产出&#xff1a; 实验 1、CB模块实验效果出来了&#xff0c;加上去效果不太行&#xff0c;后续实验考虑是否将CB模块换到其他地方 2、CiFAR100实验已完成&#xff0c;效果比Vi…

Unity 场景烘培 ——LensFlare镜头光晕(三)

提示&#xff1a;文章有错误的地方&#xff0c;还望诸位大神指出&#xff01; 文章目录 前言一、镜头光晕 (Lens Flares)是什么&#xff1f;二、使用Lens Flares组件总结 前言 一般情况下都会忽略的东西&#xff0c;镜头光晕。理论上不加镜头光晕&#xff0c;也不会有什么影响…

Pandas 累计统计函数【cumsum、cumprod、cummax、cummin】【计算前1/2/3/…/n个数的和、积、最大值、最小值】

一、累计统计函数 函数作用cumsum计算前1/2/3/…/n个数的和cummax计算前1/2/3/…/n个数的最大值cummin计算前1/2/3/…/n个数的最小值cumprod计算前1/2/3/…/n个数的积 import numpy as np import pandas as pd# np.nan &#xff1a;空值 df pd.DataFrame({key1: np.arange(1…