当前位置: 首页 > news >正文

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

在这里插入图片描述

  咦咦咦,各位小可爱,我是你们的好伙伴——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电子书籍、简历模板等海量资料。


相关文章:

  • 20个Golang最佳实践
  • 模拟滴答声
  • 零代码编程:用ChatGPT自动合并多个Word文件
  • Tensorflow2.0:CNN、ResNet实现MNIST分类识别
  • 宝塔https403默认串站问题解决
  • 【数据结构】树与二叉树(十八):树的存储结构——Father链接结构、儿子链表链接结构
  • C++ 编写动态二维double型数据类Matrix
  • IDEA导入jar包
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • modbusRTU通信简单实现(使用NModbus4通信库)
  • 【喵叔闲扯】--迪米特法则
  • 23111708[含文档+PPT+源码等]计算机毕业设计基于javaweb的旅游网站前台与后台旅景点
  • 元宇宙3D云展厅应用到汽车销售的方案及特点
  • DAO和增删改查通用方法-BasicDao
  • PON网络应用场景
  • ----------
  • 【Leetcode】101. 对称二叉树
  • (三)从jvm层面了解线程的启动和停止
  • CSS居中完全指南——构建CSS居中决策树
  • Java 9 被无情抛弃,Java 8 直接升级到 Java 10!!
  • java取消线程实例
  • Material Design
  • Quartz初级教程
  • 好的网址,关于.net 4.0 ,vs 2010
  • 力扣(LeetCode)56
  • 聊聊hikari连接池的leakDetectionThreshold
  • 前端面试总结(at, md)
  • 一份游戏开发学习路线
  • 一个JAVA程序员成长之路分享
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • 栈实现走出迷宫(C++)
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • $(function(){})与(function($){....})(jQuery)的区别
  • $(selector).each()和$.each()的区别
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (四)Controller接口控制器详解(三)
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • (状压dp)uva 10817 Headmaster's Headache
  • .NET Core/Framework 创建委托以大幅度提高反射调用的性能
  • .NET Framework与.NET Framework SDK有什么不同?
  • .net MVC中使用angularJs刷新页面数据列表
  • .net 重复调用webservice_Java RMI 远程调用详解,优劣势说明
  • .net解析传过来的xml_DOM4J解析XML文件
  • .NET企业级应用架构设计系列之应用服务器
  • //解决validator验证插件多个name相同只验证第一的问题
  • ??javascript里的变量问题
  • @31省区市高考时间表来了,祝考试成功
  • [ C++ ] STL priority_queue(优先级队列)使用及其底层模拟实现,容器适配器,deque(双端队列)原理了解
  • [20180129]bash显示path环境变量.txt
  • [APIO2012] 派遣 dispatching
  • [BetterExplained]书写是为了更好的思考(转载)