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

news2024/9/23 7:26:31

在这里插入图片描述

  咦咦咦,各位小可爱,我是你们的好伙伴——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的值赋给a
        a = 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的值赋给a
        a = 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乘以2
        a *= 2;

        // 输出a的值
        System.out.println("a = " + a);

        // 使用/=运算符将a除以4
        a /= 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.coloradmin.cn/o/1228796.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

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

在传参和传值返回的过程中&#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 …

【原创】WeChat Server搭建

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

商业化三年,OceanBase在忙什么?

文&#xff5c;刘雨琦 2020年&#xff0c;国产数据库厂商OceanBase&#xff08;以下简称OB&#xff09;商业化的第一年&#xff0c;只有18个客户。 如何打开局面&#xff0c;让这个从蚂蚁场景中走出来的数据库活下去&#xff0c;并进入到更多的场景里&#xff0c;发挥更大的价…

【开源】基于Vue和SpringBoot的教学过程管理系统

项目编号&#xff1a; S 054 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S054&#xff0c;文末获取源码。} 项目编号&#xff1a;S054&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 教师端2.2 学生端2.3 微信小程序端2…

【Java】线程池源码解析

目录 一、线程池介绍 1.1、什么是线程池 1.2、线程池的工作原理 二、Executor框架接口 2.1、JDK提供的原生线程池 2.2、类关系 三、线程池核心源码分析 3.1、关键属性 3.2、状态控制 3.3、线程池状态的跃迁 3.4、execute方法源码分析 3.5、addWorker方法源码分析 3…

【LeetCode刷题日志】232.用栈实现队列

&#x1f388;个人主页&#xff1a;库库的里昂 &#x1f390;C/C领域新星创作者 &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏✨收录专栏&#xff1a;LeetCode 刷题日志&#x1f91d;希望作者的文章能对你有所帮助&#xff0c;有不足的地方请在评论区留言指正&#xff0c;…

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

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

【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】

&#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】&#x1f30f;题目描述&#x1f30f;输入格…

项目自动化构建工具——make/Makefile

目录 一、概念 二、使用实例 三、原理 四、进度条程序 1、缓冲区问题 1、概念 2、\r和\n 2、代码编写 一、概念 一个工程中的源文件不计数&#xff0c;其按类型、功能、模块分别放在若干个目录中&#xff0c;makefile定义了一系列的规则来指定&#xff0c;哪些文件需要先…

第五篇 《随机点名答题系统》——抽点答题详解(类抽奖系统、在线答题系统、线上答题系统、在线点名系统、线上点名系统、在线考试系统、线上考试系统)

目录 1.功能需求 2.界面设计 3.流程设计 4.关键代码 随机点名答题系统&#xff08;类抽奖系统、在线答题系统、线上答题系统、在线点名系统、线上点名系统、在线考试系统、线上考试系统&#xff09;&#xff0c;是基于php&#xff08;8.2.11&#xff09;&#xff0c;Java…

迪克森电荷泵

迪克森电荷泵&#xff08;Dickson Charge Pump&#xff09;是一种电压倍增器电路&#xff0c;可以将低电压升高到较高电压&#xff0c;相对于其他电压升压电路&#xff0c;迪克森电荷泵具有较高的效率和较简单的电路结构。该电路的基本原理是通过电容和开关来实现电荷的积累和转…

上海亚商投顾:三大指数小幅上涨 HBM概念股全天强势

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 三大指数早盘窄幅震荡&#xff0c;午后集体拉升翻红&#xff0c;黄白二线走势分化&#xff0c;题材热点快速轮…

计算两个向量的叉积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…

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> …

初刷leetcode题目(3)——数据结构与算法

&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️Take your time ! &#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️…

Go语言常用命令详解(二)

文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令&#xff0c;这些命令可以帮助您在Go开发中进行编译、测试、运行和…

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

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

应用开发平台集成表单设计器系列之3——整体集成思路及表单设计器功能深度了解

背景 平台需要实现自定义表单功能&#xff0c;作为低代码开发的一部分&#xff0c;通过技术预研和技术选型&#xff0c;选择form-create和form-create-designer这两个组件进行集成作为实现方案。通过深入了解和技术验证&#xff0c;确认了组件的功能能满足需求&#xff0c;具备…

移动机器人路径规划(二)--- 图搜索基础,Dijkstra,A*,JPS

目录 1 图搜索基础 1.1 机器人规划的配置空间 Configuration Space 1.2 图搜索算法的基本概念 1.3 启发式的搜索算法 Heuristic search 2 A* Dijkstra算法 2.1 Dijkstra算法 2.2 A*&&Weighted A*算法 2.3 A* 算法的工程实践中的应用 3 JPS 1 图搜索基础 1.1…

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

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