滚雪球学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的值赋给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电子书籍、简历模板等海量资料。


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

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

相关文章

C#入门(13):特性Attribute

C# 特性(Attributes)是用于在运行时为程序元素(如类、方法、属性等)添加声明性信息的一种方式。这些信息可以在程序运行时通过反射(Reflection)访问。特性可以用来控制程序行为、添加元数据或者影响程序的运…

数据结构【DS】图的遍历

BFS 要点 需要一个辅助队列visited数组,防止重复访问 复杂度 时间复杂度:访问结点的时间访问所有的边的时间 广度优先生成树 邻接表存储的图的表示方式不唯一,生成树也不唯一 DFS 复杂度 时间复杂度:访问结点的时间访问所有…

【Flink】核心概念:任务槽(Task Slots)

任务槽 每个 worker(TaskManager)都是一个 JVM 进程,可以在单独的线程中执行一个或多个 subtask。为了控制一个 TaskManager 中接受多少个 task,就有了所谓的 task slots(至少一个)。 每个任务槽&#xf…

CICD 持续集成与持续交付——git

git使用 [rootcicd1 ~]# yum install -y git[rootcicd1 ~]# mkdir demo[rootcicd1 ~]# cd demo/ 初始化版本库 [rootcicd1 demo]# git init 查看状态 [rootcicd1 demo]# git status[rootcicd1 demo]# git status -s #简化输出 [rootcicd1 demo]# echo test > README.md[roo…

树,二叉树,二叉树遍历,哈夫曼树(详解+刷题)

👂 后街男孩经典之精选 - 歌单 - 网易云音乐 👂 年轮(电视剧《花千骨》男声版插曲) - 汪苏泷 - 单曲 - 网易云音乐 目录 🌼5.1 -- 树 🌼5.2 -- 二叉树 1,性质 2,存储 3&#x…

【开源】基于Vue.js的智能教学资源库系统

项目编号: S 050 ,文末获取源码。 \color{red}{项目编号:S050,文末获取源码。} 项目编号:S050,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 课程档案模块2.3 课…

CDN是什么,能起到什么作用

随着互联网的快速发展,用户对于快速、稳定、高效的互联网体验的需求日益增长。为了满足这一需求,内容分发网络(CDN)应运而生,并在近年来得到了广泛应用。CDN通过在全球范围内部署大量的服务器和网络节点,实…

【C++】【Opencv】cv::Canny()边缘检测函数详解和示例

Canny边缘检测是一种流行的边缘检测算法,由John F. Canny在1986年开发。它是一种多阶段过程,包括噪声滤波、计算图像强度的梯度、非最大值抑制以及双阈值检测。本文通过函数原型解读和示例对cv::Canny()函数进行详解,以帮助大家理解和使用。 …

[AutoSar]CP autosar 面试题

目录 关键词前言面试官提问答案 关键词 嵌入式、C语言、autosar、面试题 前言 以前面试中的一些常提到的问题,在这里整理一下,希望对要去面试的道友有所帮助。 其中问题的答案后续有时间会再更新整理。 面试官提问 1.Autosar 概述: 解释 …

MyBatis 快速入门

MyBatis 快速入门 前言什么是 MyBatis简介核心特性使用示例配置文件Mapper 接口SQL 映射文件使用 MyBatis 如果大家对以上的导读很懵怎么办!没关系 往下阅读! 1. MyBatis 介绍1.1. 什么是MyBatis1.2. 持久层1.3. 框架1.4. JDBC 弊端1.5.…

【Java】网络编程基础—InetAddress类和URL编程

🌺个人主页:Dawn黎明开始 🎀系列专栏:Java ⭐每日一句:为了那个远方,你要奋不顾身 📢欢迎大家:关注🔍点赞👍评论📝收藏⭐️ 文章目录 一.&#x…

【开源】基于Vue.js的独居老人物资配送系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统展示四、核心代码4.1 查询社区4.2 新增物资4.3 查询物资4.4 查询物资配送4.5 新增物资配送 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的独居老人物资配送系统,包含了社区档案、…

C++模拟实现——红黑树封装set和map

一、红黑树迭代器的实现 基本的框架和实现链表的迭代器思路是一样的,都是对指针进行封装处理,然后实现一些基本的运算符重载,最重要的是operator,需要不递归的实现走中序的规则,这里只实现那最核心的几个基本功能&…

Day35力扣打卡

打卡记录 相邻字符不同的最长路径(树状DP) 链接 若节点也存在父节点的情况下,传入父节点参数,若是遍历到父节点,直接循环里 continue。 class Solution:def longestPath(self, parent: List[int], s: str) -> in…

如何看待人工智能行业发展

随着人工智能技术的飞速发展,这个领域的就业前景也日益广阔。人工智能在各行各业都有广泛的应用,包括医疗、金融、制造业、教育等。因此,对于想要追求高薪、高技能职业的人来说,学习人工智能是一个非常有前景的选择。 首先&#x…

【Python进阶】近200页md文档14大体系知识点,第4篇:linux命令和vim使用

本文从14大模块展示了python高级用的应用。分别有Linux命令,多任务编程、网络编程、Http协议和静态Web编程、htmlcss、JavaScript、jQuery、MySql数据库的各种用法、python的闭包和装饰器、mini-web框架、正则表达式等相关文章的详细讲述。 全套Python进阶笔记地址…

阿里云ECS11月销量王 99元/年

这一波好像真没得说,老用户居然都有份,买来练习、测试冒似已经够了! 阿里云ECS11月销量王 99元/年 2核2G 3M固定带宽不限流量,新老同享,新购、续费同价,开发必备! 活动规则 云服务器ECS 云创季…

读像火箭科学家一样思考笔记03_第一性原理(上)

1. 思维的两种障碍 1.1. 为什么知识会成为一种缺陷而非一种美德 1.1.1. 知识是一种美德 1.1.2. 知识同样的特质也会把它变成一种缺点 1.1.3. 知识确实是个好东西,但知识的作用应该是给人们提供信息,而不是起约束作用 1.1.4. 知识应该启发智慧&#…

程序员告诉你:人工智能是什么?

随着科技的快速发展,人工智能这个词汇已经逐渐融入了我们的日常生活。然而,对于大多数人来说,人工智能仍然是一个相对模糊的概念。 首先,让我们从人工智能的定义开始。人工智能是一种模拟人类智能的技术,它涵盖了多个领…

【Flink】系统架构

DataStream API 将你的应用构建为一个 job graph,并附加到 StreamExecutionEnvironment 。当调用 env.execute() 时此 graph 就被打包并发送到 JobManager 上,后者对作业并行处理并将其子任务分发给 Task Manager 来执行。每个作业的并行子任务将在 task…