滚雪球学Java(09-5):Java中的赋值运算符,你真的掌握了吗?

在这里插入图片描述

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


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

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

文章目录

  • 前言
  • 摘要
  • Java-赋值运算符
    • 简介
    • 案例解析
      • 测试结果
      • 测试代码分析
    • 应用场景案例
      • 1.对变量进行赋值和更新
      • 2.简化代码
      • 3.提高性能
    • 优缺点分析
      • 优点
      • 缺点
    • 类代码方法介绍
    • 测试用例
  • 总结
    • 附录源码
  • ☀️建议/推荐你
  • 📣关于我

前言

  Java是一门优秀的编程语言,已经成为全球最受欢迎的编程语言之一,其强大的功能和灵活性使其在不同的应用场景下得到了广泛的应用。然而,对于初学者来说,Java的语法和概念可能会让人感到困惑和压力。因此,本文将介绍Java中的赋值运算符,帮助初学者更好地理解和使用它。

摘要

  本文将介绍Java中的赋值运算符,包括赋值运算符的概念、语法、用法、注意事项等内容。同时,本文还将通过源代码解析、应用场景案例和优缺点分析等方面,深入探讨赋值运算符的实际应用。

Java-赋值运算符

简介

  Java中的赋值运算符是一种用于给变量赋值的运算符,它的作用是将右边的值赋给左边的变量。Java中常见的赋值运算符包括=、+=、-=、*=、/=和%=等。

在Java中,赋值运算符的基本语法如下:

variable = expression;

  其中,variable是要赋值的变量名,expression是要赋给变量的值或表达式。值可以是字面值、变量、方法调用等。

案例解析

  下面的示例代码演示了如何使用Java中的赋值运算符:

package com.demo.javase.day09;/*** Java之赋值运算符案例演示** @Author bug菌* @Date 2023-11-08 23:04*/
public class AssignmentOperatorTest {public static void main(String[] args) {int a = 10;int b = 5;// 使用赋值运算符将b的值赋给aa = b;System.out.println("a = " + a); // 输出结果为:a = 5// 使用+=运算符a += 3;System.out.println("a = " + a); // 输出结果为:a = 8// 使用-=运算符a -= 2;System.out.println("a = " + a); // 输出结果为:a = 6// 使用*=运算符a *= 2;System.out.println("a = " + a); // 输出结果为:a = 12// 使用/=运算符a /= 4;System.out.println("a = " + a); // 输出结果为:a = 3// 使用%=运算符a %= 2;System.out.println("a = " + a); // 输出结果为:a = 1}
}

  在上面的代码中,我们首先定义了两个整数变量a和b,并将它们分别初始化为10和5。然后,我们使用赋值运算符将变量b的值赋给变量a。最后,我们分别使用+=、-=、*=、/=和%=等运算符对变量a进行操作,并输出结果。

测试结果

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

在这里插入图片描述

测试代码分析

  根据如上测试用例,在此我给大家进行深入详细的解读一下测试代码,以便于更多的同学能够理解并加深印象。
  该程序演示了Java中的赋值运算符,包括基本的赋值运算符和复合赋值运算符。首先定义了两个整型变量a和b,并将a初始化为10,b初始化为5。然后使用基本的赋值运算符将b的值赋给a,此时a的值变为5。然后使用复合赋值运算符,分别进行加、减、乘、除和取模操作,最终输出a的值为1。

应用场景案例

  Java中的赋值运算符在实际开发中有着广泛的应用场景。下面是一些常见的应用场景案例:

1.对变量进行赋值和更新

  在Java中,赋值运算符最常见的用途就是对变量进行赋值和更新。例如,我们可以使用赋值运算符将某个值存储到一个变量中,然后使用+=、-=、*=、/=和%=等运算符对其进行更新。

int a = 10;
a += 5; // 等价于 a = a + 5;
a -= 2; // 等价于 a = a - 2;
a *= 3; // 等价于 a = a * 3;
a /= 4; // 等价于 a = a / 4;
a %= 2; // 等价于 a = a % 2;

2.简化代码

  赋值运算符不仅可以对变量进行赋值和更新,还可以简化代码,减少代码量。例如,我们可以使用+=运算符来简化代码:

int a = 10;
a = a + 5; // 普通写法
a += 5; // 简化写法

  上面的两种写法是等价的,但是使用+=运算符可以让代码更加简洁易读。

3.提高性能

  在实际开发中,赋值运算符还可以提高程序的性能。例如,我们可以使用*=运算符来替代乘法运算符,从而提高程序的执行效率。

int a = 10;
a = a * 5; // 普通写法
a *= 5; // 简化写法,提高性能

  上面的两种写法都可以将a乘以5,但是使用*=运算符可以让程序更快地执行。

优缺点分析

优点

  赋值运算符的优点主要体现在以下几个方面:

  1. 简化代码。使用赋值运算符可以减少代码量,让程序更加简洁易读。
  2. 提高程序性能。使用某些赋值运算符可以替代常规运算符,从而提高程序的执行效率。
  3. 方便操作。赋值运算符可以让程序员更方便地对变量进行赋值和更新。

缺点

  赋值运算符的缺点主要体现在以下几个方面:

  1. 容易出错。由于赋值运算符常被用于对变量进行赋值和更新,如果使用不当,容易出现各种错误。
  2. 可读性不强。虽然赋值运算符可以减少代码量,但是有时也会降低代码的可读性。

类代码方法介绍

下面是一个演示如何使用赋值运算符的类代码示例:

public class AssignmentOperatorExample {public static void main(String[] args) {// 定义两个整型变量a和b,并对其进行赋值int a = 10;int b = 5;// 将b的值赋给aa = b;// 输出a的值System.out.println("a = " + a);// 使用+=运算符将3加到a中a += 3;// 输出a的值System.out.println("a = " + a);// 使用-=运算符将2从a中减去a -= 2;// 输出a的值System.out.println("a = " + a);// 使用*=运算符将a乘以2a *= 2;// 输出a的值System.out.println("a = " + a);// 使用/=运算符将a除以4a /= 4;// 输出a的值System.out.println("a = " + a);// 使用%=运算符将a对2取余数a %= 2;// 输出a的值System.out.println("a = " + a);}
}

测试用例

下面是一个使用赋值运算符的测试用例:

public class AssignmentOperatorTest {public static void main(String[] args) {// 测试+=运算符int a = 10;a += 5;assert a == 15 : "测试失败";// 测试-=运算符a -= 3;assert a == 12 : "测试失败";// 测试*=运算符a *= 2;assert a == 24 : "测试失败";// 测试/=运算符a /= 4;assert a == 6 : "测试失败";// 测试%=运算符a %= 2;assert a == 0 : "测试失败";System.out.println("测试通过");}
}

总结

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


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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《数字图像处理-OpenCV/Python》连载(44)图像的投影变换

《数字图像处理-OpenCV/Python》连载(44)图像的投影变换 本书京东优惠购书链接:https://item.jd.com/14098452.html 本书CSDN独家连载专栏:https://blog.csdn.net/youcans/category_12418787.html 第 6 章 图像的几何变换 几何变…

V100 GPU服务器安装GPU驱动教程

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

网络割接用VRRP替换HSRP

如图3-11所示,C6500作为核心层设备上行连接出口路由器NE40E-X3,下行连接接入层设备CE6800。C6500上配置HSRP实现冗余备份网关,同时在二层网络部署MSTP破除环路。 总体思路 HSRP为CISCO私有协议,CE系列交换机(以CE1280…

【汇编】[bx+idata]的寻址方式、SI和DI寄存器

文章目录 前言一、[bxidata]寻址方式1.1 [bxidata]的含义1.2 示例代码 二、SI和DI寄存器2.1 SI和DI寄存器是什么?2.2 [bxsi]和[bxdi]方式寻址2.3 [bxsiidata]和[bxdiidata] 总结 前言 在汇编语言中,寻址方式是指指令如何定位内存中的数据。BX寄存器与偏…

计算机网络——物理层-信道的极限容量(奈奎斯特公式、香农公式)

目录 介绍 奈氏准则 香农公式 介绍 信号在传输过程中,会受到各种因素的影响。 如图所示,这是一个数字信号。 当它通过实际的信道后,波形会产生失真;当失真不严重时,在输出端还可根据已失真的波形还原出发送的码元…

C#,数值计算——插值和外推,Laplace_interp的计算方法与源程序

1 文本格式 using System; namespace Legalsoft.Truffer { /// <summary> /// Object for interpolating missing data in a matrix by solving Laplaces /// equation.Call constructor once, then solve one or more times /// </summary> …

计算两个向量的叉积numpy.cross()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 计算两个向量的叉积 numpy.cross() [太阳]选择题 请问代码中最后输出正确的是&#xff1f; import numpy as np a np.array([1, 2, 3]) b np.array([4, 5, 6]) c np.cross(a, b) pri…

iptables详解:常用模块的基本使用

目录 tcp扩展模块 multiport扩展模块 iprange扩展模块 connlimit模块 limit扩展模块 udp扩展模块 icmp扩展模块 state扩展模块 限制每分钟接收10个ICMP数据报文 允许10个数据报文快速通过&#xff0c;然后限制每分钟接收1个个ICMP数据报文 限制网络传输的带宽不可以…

【原创】WeChat Server搭建

功能 微信公众号的后端&#xff0c;为其他系统提供微信登录验证功能 源码地址 https://github.com/songquanpeng/wechat-server 创建MySQL数据库 宝塔\数据库\MySQL 添加数据库 数据库名&#xff1a;wechat_server 用户名&#xff1a;wechat_server 密码&#xff1a;fZNB…

【论文复现】QuestEval:《QuestEval: Summarization Asks for Fact-based Evaluation》

以下是复现论文《QuestEval: Summarization Asks for Fact-based Evaluation》&#xff08;NAACL 2021&#xff09;代码https://github.com/ThomasScialom/QuestEval/的流程记录&#xff1a; 在服务器上conda创建虚拟环境questeval&#xff08;python版本于readme保持一致&…

quinn源码解析:QUIC数据包是如何发送的

quinn源码解析&#xff1a;QUIC数据包是如何发送的 简介QUIC协议中的概念endpoint&#xff08;端点&#xff09;connection&#xff08;连接&#xff09;Stream&#xff08;流&#xff09;Frame (帧) 发包过程解析SendStream::write_allConnectionDriverEndpointDriver 简介 q…

拷贝对象时编译器的一些优化

在传参和传值返回的过程中&#xff0c;编译器会通过一些优化减少拷贝的次数。 class A { public:A():_a(1){cout << "A()" << endl;}A(const A& aa):_a(aa._a){cout << "A(const A& aa)" << endl;}A& operator(const …