赋值运算符是指为变量或常量指定数值的符号。赋值运算符的符号为“=”,它是双目运算符,左边的操作数必须是变量,不能是常量或表达式。

其语法格式如下所示:

变量名称=表达式内容

在 Java 语言中,“变量名称”和“表达式”内容的类型必须匹配,如果类型不匹配则需要自动转化为对应的类型。

赋值运算符的优先级低于算术运算符,结合方向是自右向左;不是数学中的等号,它表示一个动作,即将其右侧的值送到左侧的变量中(左侧只允许是变量,不能是表达式或其他形式);不要将赋值运算符与相等运算符“==”混淆。

赋值运算符与其他运算符一起使用,可以表达多种赋值运算的变异效果。例如,在基本的赋值运算符的基础之上,可以结合算术运算符,以及后面要学习的位运算符,组合成复合的赋值运算符。赋值运算符和算数运算符组成的复合赋值运算的含义及其使用实例如表 1 所示。

表 1 赋值运算符和算数运算符组成的复合赋值运算的含义及其使用实例

运算符

含义

实例

结果

+=

将该运算符左边的数值加上右边的数值, 其结果赋值给左边变量本身

int a=5; a+=2;

a=7

-=

将该运算符左边的数值减去右边的数值, 其结果赋值给左边变量本身

int a=5; a-=2;

a=3

*=

将该运算符左边的数值乘以右边的数值, 其结果赋值给左边变量本身

int a=5; a*=2;

a=10

/=

将该运算符左边的数值整除右边的数值, 其结果赋值给左边变量本身

int a=5; a/=2;

a=2

%=

将该运算符左边的数值除以右边的数值后取余,其结果赋值给左边变量本身

int a=5; a%=2;

a=1

在大型程序中,灵活运用这些赋值运算符可以提高程序的易读性,并且使程序更加容易保护。下面是一些使用赋值运算符的示例。

int x, y, z; // 定义3个整型的变量

x = y = z = 5; // 为变量赋初值为5

x += 10; // 等价于x=x+10,结果x=15

y -= 3; // 等价于y=y-3,结果y=2

z *= 5; // 等价于z=z*5,结果z=25

x /= 4; // 等价于x=x/4,结果x=3

z %= x; // 等价于z=z%x,结果z=1

例 1

例如,一件商品的单价从 10.25 元降了 1.25 元,而自己购买的数量由原来的两个增加到 10 个,可以使用复合赋值运算符来计算购买商品的总价。

实现代码如下:

public static void main(String[] args) {

double price = 10.25; // 定义商品的单价,赋值为10.25

double total = 0; // 定义总价初始为0

int count = 2; // 定义购买数量,赋值为2

price -= 1.25; // 减去降价得到当前单价

count *= 5; // 现在需要购买10个,即原来数量的5倍

total = price * count; // 总价=当前单价*数量

System.out.printf("商品当前的单价为:%4.2f \n", price); // 输出当前单价

System.out.printf("购买商品的数量为:%d \n", count); // 输出购买数量

System.out.printf("总价为:%4.2f \n", total); // 输出总价

}

保存代码并运行,输出的结果如下:

图 1  运行结果

注意:虽然 Java 支持这种一次为多个变量赋值的写法,但这种写导致程序的可读性降低,因此不推荐这样写。

在该程序中,表示商品单价的 price 变量值为 10.25,而现在降了 1.25,在原来的基础上减去 1.25 即可获取现在的单价。而原来购买的数量为两个,现在需要购买 10 个,可以使用“count*=5”将数量乘以 5 倍之后的值赋值给 count 本身。

赋值运算符还用于将表达式的值赋给变量,如下代码是正确的。

double d1 = 12.34

double d2 = d1 + 5; // 将表达式的值赋给d2

System.out.println(d2); // 输出 d2 的值,将输出 17.34

赋值运算符还可与其他运算符结合,扩展成功能更加强大的赋值运算符。

java赋_Java赋值运算符(=)相关推荐

  1. 【源码+教程】Java课设项目_12款最热最新Java游戏项目_Java游戏开发_Java小游戏_飞翔的小鸟_王者荣耀_超级玛丽_推箱子_黄金矿工_贪吃蛇

    马上就要期末了,同学们课设做的如何了呢?本篇为大家带来了12款热门Java小游戏项目的源码和教程,助力大家顺利迎接暑假![源码+教程]Java课设项目_12款最热最新Java游戏项目_Java游戏开发 ...

  2. 黑马程序员全套Java教程_Java基础教程_异常(含扩展)(二十三)

    黑马程序员全套Java教程_Java基础教程_异常(含扩展)(二十三) 1.1 异常概述与异常体系结构 1.2 JVM遇到异常时的默认处理方案 1.3 异常处理 1.4 异常处理之try--catch ...

  3. 复合的赋值运算符例题_Java千问:关于Java语言复合赋值运算符的两个问题,快来瞧瞧!...

    我们知道,在Java以及很多高级编程语言当中,都有一种运算符叫做复合赋值运算符.复合赋值运算符由两个符号组成,它所能完成的运算操作也分为两步:第一步是运算,第二步是赋值.比如说: 上面的这两条语句相当 ...

  4. java的赋值运算符_Java赋值运算符

    Java赋值运算符 赋值运算符目前也是只需要掌握=.+=.-=.*=./=.%=,其它和二进制相关的内容也是到后面遇到的时候再详细学习.赋值类的运算符包括基本赋值运算符(=)和扩展的赋值运算符(+=. ...

  5. enum java 赋值_java enum无法赋初始值

    各位大虾,想问一个有关的java enum 问题 在.net 中 enum元素可以赋值如: enum Direction { None = 0xff, Up = 2, Down = 4, Left = ...

  6. int** 赋值_关于Java语言复合赋值运算符的两个问题,快来瞧瞧

    短文涨姿势,看了不白看,不关注等啥? 我们知道,在Java以及很多高级编程语言当中,都有一种运算符叫做复合赋值运算符.复合赋值运算符由两个符号组成,它所能完成的运算操作也分为两步:第一步是运算,第二步 ...

  7. Java学习之赋值运算符

    image.png 赋值运算符 赋值运算符是指为变量或常量指定数值的符号. 赋值运算符的符号为"=",它是双目运算符,左边的操作数必须是变量,不能是常量或表达式. 其语法格式: 变 ...

  8. java程序设计_Java程序设计:学习笔记(4-5)(未完工)

    声明: 本文内容基于"吉首大学软件学院-Java程序设计(Java面向对象程序设计)"网课与个人实践经验修改编写而成.本文属于Arcadia项目组成部分.若有错误或不足之处存在请联 ...

  9. java包装_Java基础之神奇的包装类(一)

    1. 导读 JAVA中针对八种基本数据类型提供了相对应的包装类, 今天主要基于几个问题来分享下个人对于包装类的理解, 本期先分享下面两个问题: .1 什么是包装类? 有了基本类型, 为什么还需要有包装 ...

最新文章

  1. 「重返18岁」!英特尔首任CTO重磅回归,以CEO身份重掌帅印
  2. 深刻剖析与实战BCELoss详解(主)和BCEWithLogitsLoss(次)以及与普通CrossEntropyLoss的区别(次)
  3. [异常解决] ubuntu上安装虚拟机遇到的问题(vmware坑了,virtual-box简单安装,在virtual-box中安装精简版win7)
  4. OPPO A59s手机系统时间停止运行
  5. 统计特性和概率估计-2 (数学推导与证明)
  6. Linux 下 离线下载服务部署 CCAA的安装使用
  7. [LeetCode-JAVA] Remove Linked List Elements
  8. 计算机组成原理 北理,北京理工大学计算机组成原理期末复习.pdf
  9. mysql开发平台_搭建mysql编程平台
  10. 浣溪沙·江畔芦花【两首】
  11. xshell、xftp官方免费版下载
  12. colab配合谷歌云盘使用
  13. IDCC2018|上海数据港股份有限公司副总裁、数据中心首席架构师王海峰:标杆管理驱动数据中心建设变革...
  14. 新浪微博与微信公众号开发总结
  15. 关于mvn repository的one more step人机验证问题的解决
  16. Go语言核心之美 1.2-变量及声明篇
  17. 关于emacs字体放大问题
  18. ExcelToMySQL-批量导入Excel文件到MySQL数据库的自动化工具
  19. Qt 与 Qt Creator 简介
  20. Bazel编译教程(基础篇)

热门文章

  1. C#--WinForm项目主窗体设计
  2. Mui --- app与服务器之间的交互原理、mui ajax使用
  3. 京东三级列表页持续架构优化—前端优化实践
  4. 第四章 Lua模块开发
  5. 携程基于Storm的实时大数据平台实践
  6. promise使用promise进行封装http请求接口
  7. 织梦 自定义属性 调用 php,dedecms通过增加自定义属性达到文章分类的效果
  8. tp的echo输出字符串后换行
  9. CentOs7 无可用“Chinese Support“
  10. GitHub 的前世今生