Java中的三目运算符,你真的掌握了吗?

举报
bug菌 发表于 2023/11/08 23:35:31 2023/11/08
【摘要】 🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!!

在这里插入图片描述

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


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

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

@[toc]

前言

  在Java开发中,三目运算符是比较常用的一种运算符,也是Java基础语法的一部分。在本篇文章中,我们将介绍三目运算符的基本使用方法和应用场景,使读者能够更好地理解和运用三目运算符。

摘要

  本篇文章主要介绍Java中的三目运算符。首先从概念入手,阐述了三目运算符的意义和特点。接着,重点介绍了三目运算符的使用方法、应用场景以及优缺点分析。最后,我们通过实例代码和测试用例来验证三目运算符的应用效果和正确性。本文将帮助Java零基础的读者掌握三目运算符的基本使用方法,并能熟练应用到实际开发中。

Java-三目运算符

简介

  三目运算符是Java中一种特殊的条件运算符,也被称为条件运算符或者三元运算符。它是一种由三个操作数组成的运算符,格式如下:

表达式1 ? 表达式2 : 表达式3;

  其中,表达式1必须是一个布尔类型的表达式,如果表达式1的值为true,则执行表达式2,否则执行表达式3。表达式2和表达式3可以是任何类型的表达式,但类型必须一致。

  三目运算符可以简化代码,并且提高代码的可读性。例如,可以使用三目运算符来代替if…else语句,使得代码更加简洁明了。

源代码解析

  下面我们通过一个简单的例子来解析三目运算符的源代码:

public class Demo {
    public static void main(String[] args) {
        int a = 1;
        int b = 2;
        int max = (a > b) ? a : b;
        System.out.println("Max value is: " + max);
    }
}

  在上面的代码中,我们使用三目运算符来比较a和b的大小,如果a > b,则max的值为a,否则max的值为b。最终,我们输出max的值。

应用场景案例

  三目运算符的应用场景非常广泛,下面是一些常见的应用场景:

1. 判断两个数的大小关系

int a = 1;
int b = 2;
int max = (a > b) ? a : b;

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

int num = 6;
String type = (num % 2 == 0) ? "even" : "odd";

3. 判断一个数是否等于0

int num = 5;
String type = (num == 0) ? "zero" : "non-zero";

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

String str = null;
String result = (str == null || str.isEmpty()) ? "empty" : "not empty";

优缺点分析

优点

  1. 三目运算符可以简化代码,减少代码量,提高代码的可读性。

  2. 可以把if…else语句转化为一行代码,使代码更加简洁明了。

  3. 三目运算符可以避免代码重复,提高代码的复用性。

缺点

  1. 过度使用三目运算符会让代码变得更加难懂,降低代码的可读性和可维护性。

  2. 如果使用不当,三目运算符可能会让代码过于简单,失去了代码本身的意义。

类代码方法介绍

1. 三目运算符基本使用方法

public static void main(String[] args) {
        int a = 1;
        int b = 2;
        int max = (a > b) ? a : b;
        System.out.println("Max value is: " + max);
    }

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

public static void main(String[] args) {
        int num = 6;
        String type = (num % 2 == 0) ? "even" : "odd";
        System.out.println(num + " is " + type);
    }

3. 判断一个数是否等于0

public static void main(String[] args) {
        int num = 5;
        String type = (num == 0) ? "zero" : "non-zero";
        System.out.println(num + " is " + type);
    }

测试用例

我们通过main函数来编写测试用例,以验证三目运算符的正确性。下面是一些测试用例:

1. 测试两个数的大小关系

    public static void test1(){
        int a = 1;
        int b = 2;
        int max = (a > b) ? a : b;
        System.out.println("(a > b) ? a : b ->"+max);
    }

2. 测试一个数是否为偶数

    public static void test2(){
        int num = 6;
        String type = (num % 2 == 0) ? "even" : "odd";
        System.out.println("(num % 2 == 0) ? \"even\" : \"odd\" ->" + type);
    }

3. 测试一个数是否等于0

    public static void test3(){
        int num = 5;
        String type = (num == 0) ? "zero" : "non-zero";
        System.out.println("(num == 0) ? \"zero\" : \"non-zero\" ->" + type);
    }

测试代码演示

package com.demo.javase.day09;

/**
 * Java之三目运算符案例演示
 *
 * @Author bug菌
 * @Date 2023-11-08 23:30
 */
public class TernaryOperatorTest {

    public static void test1(){
        int a = 1;
        int b = 2;
        int max = (a > b) ? a : b;
        System.out.println("(a > b) ? a : b ->"+max);
    }

    public static void test2(){
        int num = 6;
        String type = (num % 2 == 0) ? "even" : "odd";
        System.out.println("(num % 2 == 0) ? \"even\" : \"odd\" ->" + type);
    }

    public static void test3(){
        int num = 5;
        String type = (num == 0) ? "zero" : "non-zero";
        System.out.println("(num == 0) ? \"zero\" : \"non-zero\" ->" + type);
    }

    public static void main(String[] args) {
        test1();
        test2();
        test3();
    }
}

测试结果

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

在这里插入图片描述

测试代码分析

  根据如上测试用例,在此我给大家进行深入详细的解读一下测试代码,以便于更多的同学能够理解并加深印象。
  这段代码演示了Java中三目运算符的使用,包含三个测试方法:test1、test2和test3。

  test1方法中声明了两个int类型的变量a和b,并且将它们与三目运算符结合起来,获取它们中的最大值,并将结果输出。

  test2方法中声明了一个int类型的变量num,并且将它与三目运算符结合起来,判断它是否为偶数,并输出结果。

  test3方法和test2类似,但其判断的是变量num是否等于0。

  在main方法中,将这三个测试方法依次调用执行。

全文小结

  本篇文章介绍了Java中的三目运算符,包括概念、基本使用方法、应用场景、优缺点分析、类代码方法介绍和测试用例。通过本篇文章的学习,读者可以更加深入地了解三目运算符的使用方法和应用场景,从而更加熟练地运用三目运算符到实际开发中。

总结

  三目运算符是Java中的一种特殊的条件运算符,它可以简化代码,提高代码的可读性。在实际开发中,三目运算符的应用场景非常广泛,能够帮助开发者更好地完成各种功能。但是,在使用三目运算符时,我们需要注意代码的可读性和可维护性,避免过度使用三目运算符,从而降低代码的可读性和可维护性。

  …

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

附录源码

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

☀️建议/推荐你


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

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

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

📣关于我

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


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。