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

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

在这里插入图片描述

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


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

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

前言

  Java是一门功能强大的编程语言,适用于各种类型的编程。在Java中,单目运算符是一种对单个操作数进行操作的运算符。本文将着重介绍Java中的单目运算符,并提供一些实用的案例应用。

摘要

  本文主要介绍Java中的单目运算符,包括递增、递减、正负号、逻辑非等常用运算符。通过对这些运算符的深入了解,我们可以更好地理解Java中的运算符,从而更加熟练地使用Java进行编程。

Java-单目运算符

简介

  在Java中,单目运算符是一种只操作一个操作数的运算符。Java中的单目运算符包括递增(++)、递减(–)、正负号(+、-)和逻辑非(!)等运算符。这些运算符可以用于不同的数据类型,包括整型、浮点型、布尔型等。

源代码解析

递增和递减运算符

  递增和递减运算符用于对变量的值进行增加或减少操作。递增运算符(++)将变量的值加上1,递减运算符(–)将变量的值减去1。这两个运算符都可以前缀或后缀使用。

  前缀使用时,递增和递减运算符先对变量进行计算,然后将计算后的值赋给变量。后缀使用时,则是先将变量的值赋给另一个变量,然后再对原变量进行计算。

int i = 0;
int j = ++i;	// i=1, j=1
int k = i--;	// i=0, k=1

正负号运算符

  正负号运算符(+、-)用于对变量的值进行正负号的操作。当加上正号(+)时,变量的值保持不变;当加上负号(-)时,变量的值变为相反数。

int i = 5;
int j = -i;	// j = -5

逻辑非运算符

  逻辑非运算符(!)用于对布尔型变量进行取反操作。如果布尔型变量的值为true,则取反后的值为false;如果布尔型变量的值为false,则取反后的值为true。

boolean b = true;
boolean c = !b;	// c = false

应用场景案例

递增和递减运算符的应用

  递增和递减运算符可以用于循环语句中,实现循环计数器的自增或自减。

for (int i = 0; i < 10; i++) {
	System.out.println(i);
}

正负号运算符的应用

  正负号运算符可以用于计算两个数的加减法。

int a = 5, b = -3;
int c = a + b;	// c = 2

逻辑非运算符的应用

  逻辑非运算符可以用于条件语句中,实现条件的取反操作。

boolean isLogged = false;
if (!isLogged) {
	System.out.println("请先登录");
}

优缺点分析

  Java中的单目运算符简单易用,能够快速地实现对变量的操作。但是,过多地使用单目运算符会导致程序的可读性变差,不利于程序的维护和升级。

类代码方法介绍

以下是Java中常用的单目运算符:

int a = 5, b = -3;
int c = ++a;	// a=6, c=6
int d = b--;	// b=-4, d=-3
int e = +a;	// e=6
int f = -b;	// f=4
boolean g = true;
boolean h = !g;	// h=false

测试用例

测试代码演示

package com.demo.javase.day09;

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

    public static void main(String[] args) {
        int a = 5, b = -3;
        System.out.println("a=" + a + ", b=" + b);
        a++;
        System.out.println("a++=" + a);
        b--;
        System.out.println("b--=" + b);
        int c = ++a;
        System.out.println("++a=" + c);
        int d = b--;
        System.out.println("b--=" + d);
        int e = +a;
        System.out.println("+a=" + e);
        int f = -b;
        System.out.println("-b=" + f);
        boolean g = true;
        boolean h = !g;
        System.out.println("!g=" + h);
    }
}

测试结果

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

在这里插入图片描述

测试代码分析

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

  该代码演示了 Java 中的单目运算符,包括自增(++)、自减(–)、取反(!)、正号(+)和负号(-)等。运行该代码可以得到如下输出:

a=5, b=-3
a++=6
b–=-4
++a=7
b–=-4
+a=7
-b=4
!g=false

  其中,自增运算符 a++ 和 ++a 的区别在于 a++ 先赋值后自增,而 ++a 先自增后赋值,因此执行完 int c = ++a; 后, a 的值为 7,c 的值也为 7。同理,b-- 和 --b 的区别在于 b-- 先赋值后自减,而 --b 先自减后赋值。

  正号(+)和负号(-)主要作用是对数值进行符号的转换,例如执行 int f = -b; 后,f 的值为 4。

  取反(!)主要作用在布尔类型中,将 true 转为 false,false 转为 true,例如执行 boolean h = !g; 后,h 的值为 false。

全文小结

  本文介绍了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电子书籍、简历模板等海量资料。


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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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