滚雪球学Java(09-6):Java中的条件运算符,你真的掌握了吗?

在这里插入图片描述

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


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

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

文章目录

  • 前言
  • 摘要
  • Java-条件运算符
    • 简介
    • 源代码解析
    • 应用场景案例
      • 计算两个数的最大值
      • 判断一个数是否为偶数
      • 判断一个数是否为正数、负数或者零
      • 判断一个字符串是否为空
    • 优缺点分析
    • 类代码方法介绍
      • 1. 判断两个数的大小
      • 2. 判断一个数是否为偶数
      • 3. 判断一个数是否在指定范围内
      • 4. 判断一个字符串是否为空
    • 测试用例
      • 测试代码演示
      • 测试结果
      • 测试代码分析
    • 全文小结
  • 总结
    • 附录源码
  • ☀️建议/推荐你
  • 📣关于我

前言

  Java作为一种安全高效性能强大的语言,深受广大开发者的喜爱。但是对于初学者来说,有时候会觉得Java的语法复杂。因此,在学习Java的过程中,我们需要掌握一些基础的知识,这样才能更好的理解和运用Java。本文将介绍Java中的条件运算符,希望能帮助到初学者更好地理解和应用条件运算符。

摘要

  条件运算符,也称为三目运算符,是Java中的一种特殊的运算符。它与if-else语句类似,用于根据条件的真假来执行不同的操作。条件运算符由三个操作数组成,语法格式为:

(条件) ? 表达式1 : 表达式2

  如果条件为真,则执行表达式1;如果条件为假,则执行表达式2。

Java-条件运算符

简介

  条件运算符是一种非常简洁的语法结构,它可以用来代替if-else语句。使用条件运算符的好处是,可以让代码更加简洁和清晰,减少代码的复杂度和冗余性。

  条件运算符可以嵌套使用,这样可以实现更复杂的判断。但是,我们需要注意,过多的嵌套会让代码难以阅读和维护,因此在使用条件运算符时,需要注意适当的使用嵌套。

源代码解析

现在让我们来看一下条件运算符的源代码解析。

public class ConditionOperator {
    public static void main(String[] args) {
        int a = 10;
        String result = (a > 5) ? "a大于5" : "a小于等于5";
        System.out.println(result);
    }
}

  上面的代码中,我们定义了一个整型变量a,并将其赋值为10。然后我们使用了条件运算符,判断a是否大于5,如果是,则返回字符串"a大于5",否则返回字符串"a小于等于5"。最后我们将结果输出到控制台上。

运行上述代码,输出结果为:

a大于5

  从上面的代码中,我们可以看出,使用条件运算符可以使代码更加简洁,而且可以让我们更加专注于代码的逻辑实现。

应用场景案例

  现在我们来看一些应用场景案例,这些场景都可以使用条件运算符来实现。

计算两个数的最大值

public class MaxNumber {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int max = (a > b) ? a : b;
        System.out.println("Max=" + max);
    }
}

判断一个数是否为偶数

public class IsEvenNumber {
    public static void main(String[] args) {
        int a = 10;
        String result = (a % 2 == 0) ? "偶数" : "奇数";
        System.out.println(result);
    }
}

判断一个数是否为正数、负数或者零

public class CheckNumber {
    public static void main(String[] args) {
        int a = 10;
        String result = (a > 0) ? "正数" : (a < 0 ? "负数" : "零");
        System.out.println(result);
    }
}

判断一个字符串是否为空

public class IsNullOrEmpty {
    public static void main(String[] args) {
        String str = "Hello World";
        String result = (str != null && !str.equals("")) ? "不为空" : "为空";
        System.out.println(result);
    }
}

优缺点分析

使用条件运算符的优点是:

  • 简洁:使用条件运算符可以让代码更加简洁,减少代码的冗余性。
  • 可读性:条件运算符的结构简单,容易理解和阅读。
  • 易于维护:简洁的代码结构通常也意味着代码的易于维护。

但是,在使用条件运算符时,也需要注意一些缺点:

  • 可读性差:如果嵌套过多的条件运算符,那么代码的可读性会变得很差。
  • 可扩展性差:使用条件运算符的代码结构通常比if-else语句结构更加紧凑,这就意味着这种代码结构的可扩展性会变得比较差。

类代码方法介绍

  现在我们来看一下Java中的条件运算符的一些常用方法介绍。

1. 判断两个数的大小

public static int max(int a, int b) {
    return (a > b) ? a : b;
}

2. 判断一个数是否为偶数

public static boolean isEven(int a) {
    return (a % 2 == 0) ? true : false;
}

3. 判断一个数是否在指定范围内

public static int checkRange(int x, int min, int max) {
    return (x >= min && x <= max) ? x : -1;
}

4. 判断一个字符串是否为空

public static boolean isNullOrEmpty(String str) {
    return (str != null && !str.equals("")) ? false : true;
}

测试用例

我们可以编写以下测试用例来测试上面的类代码中的方法。

测试代码演示

package com.demo.javase.day09;

/**
 * Java之条件运算符案例演示
 *
 * @Author bug菌
 * @Date 2023-11-08 23:11
 */
public class ConditionOperatorTest {


    public static int max(int a, int b) {
        return (a > b) ? a : b;
    }

    public static boolean isEven(int a) {
        return (a % 2 == 0) ? true : false;
    }

    public static int checkRange(int x, int min, int max) {
        return (x >= min && x <= max) ? x : -1;
    }

    public static boolean isNullOrEmpty(String str) {
        return (str != null && !str.equals("")) ? false : true;
    }

    public static void main(String[] args) {
        // 测试1:判断两个数的大小
        System.out.println("Max=" + ConditionOperatorTest.max(10, 20));

        // 测试2:判断一个数是否为偶数
        System.out.println("10是偶数吗?" + ConditionOperatorTest.isEven(10));

        // 测试3:判断一个数是否在指定范围内
        System.out.println("20在10-30的范围内吗?" + ConditionOperatorTest.checkRange(20, 10, 30));

        // 测试4:判断一个字符串是否为空
        System.out.println("\"Hello World\"是否为空字符串?" + ConditionOperatorTest.isNullOrEmpty("Hello World"));
    }
}

测试结果

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

在这里插入图片描述

测试代码分析

  根据如上测试用例,在此我给大家进行深入详细的解读一下测试代码,以便于更多的同学能够理解并加深印象。
  如上测试用例代码定义了一个类ConditionOperatorTest,包含了四个静态方法:maxisEvencheckRangeisNullOrEmpty

  max方法用于比较两个数的大小,通过条件运算符进行判断,如果a>b,则返回a,否则返回b

  isEven方法用于判断一个数是否为偶数,通过条件运算符进行判断,如果a%2==0,则返回true,否则返回false

  checkRange方法用于判断一个数字是否在指定的范围内,通过条件运算符进行判断,如果xminmax之间,则返回x,否则返回-1

  isNullOrEmpty方法用于判断一个字符串是否为空,通过条件运算符进行判断,如果str不为null并且不为空字符串,则返回false,否则返回true

  在main方法中,分别调用了这四个方法并输出结果。

全文小结

  通过本文的介绍,我们了解了Java中的条件运算符,学会了如何使用条件运算符进行条件判断。此外,我们还介绍了一些应用场景案例和常用方法,以及条件运算符的优缺点分析。希望本文能帮助大家更好地理解和应用条件运算符,从而提高Java编程的效率和质量。

总结

  Java是一门非常强大的编程语言,学会Java可以为我们的编程生涯打下坚实的基础。本文介绍了Java中的条件运算符,通过学习条件运算符的基本语法和应用场景,我们能够更好地理解和掌握Java的这一特殊运算符。希望大家在学习Java的过程中能够不断积累经验和知识,开发出更加高效和优秀的程序。

  …

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

附录源码

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

☀️建议/推荐你


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

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

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

📣关于我

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


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

亿图图示9.4——办公人士的瑞士刀

今天博主将带来一款强悍的制图软件——亿图图示。相信接触过万兴喵影的同学们&#xff0c;对万兴科技都不陌生。今天学长带来的亿图图示&#xff0c;也是其旗下产品哦。亿图图示&#xff0c;即亿图图示专家(EDraw Max)&#xff0c;是一款基于矢量的绘图工具&#xff0c;包含大量…

Linux安装rabbitMq(亲测可用)解决只能本地访问的问题

安装er https://blog.csdn.net/laterstage/article/details/131513793?spm1001.2014.3001.5501下载mq wget --content-disposition "https://packagecloud.io/rabbitmq/rabbitmq-server/packages/el/7/rabbitmq-server-3.10.0-1.el7.noarch.rpm/download.rpm?distro_v…

从字典到 CookieJar 的转换技巧

在使用requests库进行HTTP请求时&#xff0c;经常需要传递cookies参数来实现一些特定的功能&#xff0c;例如保持用户会话状态或者进行身份验证。 在HTTP请求中&#xff0c;Cookie是一种用来在客户端和服务器之间传递状态信息的方式&#xff0c;通常用于记录用户的身份验证信息…

智慧城市科普:最近很火的概念“智慧城市 ”到底是啥?

在当今飞速发展的数字时代&#xff0c;智慧城市的兴起成为城市管理与科技创新的焦点。本文将深入科学原理和技术细节&#xff0c;揭示智慧城市的奥秘&#xff0c;以及它对城市未来发展的深远影响。 1. 智慧城市的概念&#xff1a; 智慧城市并非抽象的未来愿景&#xff0c;而是…

SpringCloud之Feign

文章目录 前言一、Feign的介绍二、定义和使用Feign客户端1、导入依赖2、添加EnableFeignClients注解3、编写FeignClient接口4、用Feign客户端代替RestTemplate 三、自定义Feign的配置1、配置文件方式全局生效局部生效 2、java代码方式 四、Feign的性能优化连接池配置 五、Feign…

一种可度量的测试体系-精准测试

行业现状 软件行业长期存在一个痛点&#xff0c;即测试效果无法度量。通常依赖于测试人员的能力和经验&#xff0c;测试结果往往不可控&#xff0c;极端情况下同一个业务功能&#xff0c;即使是同一个人员在不同的时间段&#xff0c;测试场景和过程也可能不一致&#xff0c;从而…

【Windows 常用工具系列 11 -- win11怎么设置不睡眠熄屏 |win11设置永不睡眠的方法】

文章目录 win11 怎么设置不睡眠熄屏 使用笔记本电脑的时候&#xff0c;如果离开电脑时间稍微长一点就会发现息屏了&#xff0c;下面介绍 设置 Win11 永不睡眠息屏的方法&#xff0c;有需要的朋友们快来看看以下详细的教程。 win11 怎么设置不睡眠熄屏 在电脑桌面上&#xff0c…

jenkins传参给robotframework

在做自动化的时候&#xff0c;需要使用jenkins传参给rf&#xff0c;rf根据传来的变量运行&#xff0c;在将变量传递给py脚本文件。特此记录。 一、配置jenkins 构建的命令使用如下格式即可&#xff08;注意空格&#xff09;&#xff1a; cd D:\xxx\test call pybot --variabl…

leetcode 每日一题复盘(11.20~11.26)

leetcode 746 使用最小花费爬楼梯 虽然是简单题但还是要说一下,感觉做题的思路还是不够清晰,好的是知道状态是最低花费,知道围绕所求的目标进行展开,倒推出递推公式 一开始写的递推公式是dp[i]dp[i-1]min(cost[i-2],cost[i-1]),写出了一个类似贪心算法的东西,归根结底还是对dp…

[Spring Cloud] Nacos 实战 + Aws云服务器

文章目录 前言一、拥有一台Aws Linux服务器1.1、选择Ubuntu版本Linux系统1.2、创建新密钥对1.3、网络设置1.4、配置成功&#xff0c;启动实例1.5、回到实例区域1.6、进入具体的实例1.7、设置安全组 二、在Mac上连接Aws云服务&#xff0c;并安装配置JDK112.1、解决离奇的错误2.2…

Java Enumeration 接口

Java Enumeration 接口 这段代码展示了如何使用 Enumeration 接口来遍历 Properties 对象的键。在这里&#xff0c;foo.getProp() 返回一个 Properties 对象&#xff0c;而 propertyNames() 方法返回一个 Enumeration 对象&#xff0c;它包含了 Properties 对象中所有键的枚举。…

hadoop 配置历史服务器 开启历史服务器查看 hadoop (十)

1. 配置了三台服务器&#xff0c;hadoop22, hadoop23, hadoop24 2. hadoop文件路径: /opt/module/hadoop-3.3.4 3. hadoop22机器配置历史服务器的配置文件&#xff1a; 文件路径&#xff1a;/opt/module/hadoop-3.3.4/etc/hadoop 文件名称&#xff1a;mapred-size.xml 新增历…

uml时序图插件

1&#xff0c;打开pycharm或者idea 2&#xff0c;找到plugins 3&#xff0c;搜索 PlantUML integration 4&#xff0c;安装&#xff0c;重启 5&#xff0c;新建uml文件 6&#xff0c;写代码&#xff1a; startuml participant "APP" as app participant "serve…

WPS或Excel查找A列中有B列没有的值

就这一行代码&#xff1a; 在C列输入&#xff1a; IF(COUNTIF(B:B,A1)>0,"该行A列中值B列有","该行A列中值B列没有")

图像的傅里叶变换

目录 ​编辑 傅里叶基础 傅里叶基础numpy实现 逆傅里叶numpy实现 频域的高通滤波 傅里叶OpenCV实现 傅里叶OpenCV逆变换实现 频域的低通滤波 傅里叶变换有什么应用场景 傅里叶变换matlab实现 傅里叶基础 法国数学家吉恩巴普提斯特约瑟夫傅里叶被世人铭记的最大的贡献…

验证码常见安全问题与测试方法汇总

系统使用验证码主要是意图一般有两个个目的&#xff0c;即辅助身份验证&#xff08;短信或邮箱验证码&#xff09;和防止攻击者利用自动化脚本恶意攻击网站&#xff08;数字&#xff0c;图片&#xff0c;视频&#xff0c;行为式等验证码&#xff09;。 验证码的生命周期 验证码…

《向量数据库指南》——Range Search 使用方法和参数检查

Range Search 使用方法 如需使用 Range Search,只需要修改搜索请求中的搜索参数。接下来我会讲一下的详细使用指南,在指南的最后还提供了 Python 示例代码。 开始前 请确保已安装并运行 Milvus Cloud。请确保已创建 1 个 Collection,并为该 Collection 创建索引。 Ra…

TensorFlow实战教程(二十六)-什么是生成对抗网络GAN?基础原理和代码普及

从本专栏开始,作者正式研究Python深度学习、神经网络及人工智能相关知识。前一篇文章分享了Keras实现经典的深度学习文本分类算法,包括LSTM、BiLSTM、BiLSTM+Attention和CNN、TextCNN。这篇文章将详细介绍生成对抗网络GAN的基础知识,包括什么是GAN、常用算法(CGAN、DCGAN、…

vue2.0中使用v-if/v-show切换后echarts不显示和宽高问题

vue2.0中使用v-if/v-show切换后echarts不显示和宽高问题 需求描述问题描述问题解析 解决方案使用v-show替代&#xff08;不推荐&#xff09;v-if使用$nextTick&#xff08;推荐&#xff09; 需求描述 使用ehcarts时&#xff0c;请求数据时加loading,请求结束后取消loading并显示…

XmlElement注解在Java的数组属性上,以产生多个相同的XML元素

例如&#xff0c;下面这段XML数据&#xff0c;有多个data元素&#xff0c;并且它们级别相同: <?xml version"1.0" encoding"UTF-8"?><request><reqtype>05</reqtype><secret>test</secret><body><userid&…