首页 > 编程语言 >3.4 Java赋值运算符(=)

3.4 Java赋值运算符(=)

时间:2023-09-15 13:14:33浏览次数:40  
标签:Java 变量 int 左边 数值 运算符 3.4 赋值

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

其语法格式如下所示:

变量名称=表达式内容
在 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

在大型程序中,灵活运用这些赋值运算符可以提高程序的易读性,并且使程序更加容易保护。下面是一些使用赋值运算符的示例。
  1. int x, y, z; // 定义3个整型的变量
  2. x = y = z = 5; // 为变量赋初值为5
  3. x += 10; // 等价于x=x+10,结果x=15
  4. y -= 3; // 等价于y=y-3,结果y=2
  5. z *= 5; // 等价于z=z*5,结果z=25
  6. x /= 4; // 等价于x=x/4,结果x=3
  7. z %= x; // 等价于z=z%x,结果z=1

例 1

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

实现代码如下:
  1. public static void main(String[] args) {
  2.     double price = 10.25; // 定义商品的单价,赋值为10.25
  3.     double total = 0; // 定义总价初始为0
  4.     int count = 2; // 定义购买数量,赋值为2
  5.     price -= 1.25; // 减去降价得到当前单价
  6.     count *= 5; // 现在需要购买10个,即原来数量的5倍
  7.     total = price * count; // 总价=当前单价*数量
  8.     System.out.printf("商品当前的单价为:%4.2f \n", price); // 输出当前单价
  9.     System.out.printf("购买商品的数量为:%d \n", count); // 输出购买数量
  10.     System.out.printf("总价为:%4.2f \n", total); // 输出总价
  11. }
保存代码并运行,输出的结果如下:
运行结果
图 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,变量,int,左边,数值,运算符,3.4,赋值
From: https://www.cnblogs.com/szmtjs10/p/17704797.html

相关文章

  • 3.5 Java关系运算符
    关系运算符(relationaloperators)也可以称为“比较运算符”,用于用来比较判断两个变量或常量的大小。关系运算符是二元运算符,运算结果是boolean型。当运算符对应的关系成立时,运算结果是true,否则是false。关系表达式是由关系运算符连接起来的表达式。关系运算符中“关系”二字的......
  • 3.6 Java逻辑运算符(&&、||和!)
    逻辑运算符把各个运算的关系表达式连接起来组成一个复杂的逻辑表达式,以判断程序中的表达式是否成立,判断的结果是true或false。逻辑运算符是对布尔型变量进行运算,其结果也是布尔型,具体如表1所示。表1逻辑运算符的用法、含义及实例运算符用法含义说明实例结果&&a&&b短......
  • 3.8 Java自增和自减运算符(++和--)
    在对一个变量做加1或减1处理时,可以使用自增运算符++或自减运算--。++或--是单目运算符,放在操作数的前面或后面都是允许的。++与--的作用是使变量的值增1或减1。操作数必须是一个整型或浮点型变量。自增、自减运算的含义及其使用实例如表1所示。表1自增、自减......
  • 3.9 Java位运算符:Java移位运算符、复合位赋值运算符及位逻辑运算符
    Java 定义的位运算(bitwiseoperators)直接对整数类型的位进行操作,这些整数类型包括long,int,short,char和byte。位运算符主要用来对操作数二进制的位进行运算。按位运算表示按每个二进制位(bit)进行计算,其操作数和运算结果都是整型值。Java语言中的位运算符分为位逻辑运算符和位移......
  • 3.10 Java三目运算符(条件运算符? :)
    Java 提供了一个特别的三元运算符(也叫三目运算符)经常用于取代某个类型的if-then-else语句。条件运算符的符号表示为“?:”,使用该运算符时需要有三个操作数,因此称其为三目运算符。使用条件运算符的一般语法结构为:result=<expression>?<statement1>:<statement3>;其......
  • 3.12 Java直接量(字面量)
    直接量是指在程序中通过源代码直接给出的值,例如在inta=5;代码中,为变量a所分配的初始值5就是一个直接量。直接量的类型并不是所有的数据类型都可以指定直接量,能指定直接量的通常只有三种类型:基本类型、字符串类型和null类型。具体而言,Java 支持如下8种类型的直接量......
  • 3.11 Java运算符优先级
    所有的数学运算都认为是从左向右运算的,Java 语言中大部分运算符也是从左向右结合的,只有单目运算符、赋值运算符和三目运算符例外,其中,单目运算符、赋值运算符和三目运算符是从右向左结合的,也就是从右向左运算。乘法和加法是两个可结合的运算,也就是说,这两个运算符左右两边的操作数......
  • Java数据类型转换:强制类型转换+自动类型转换
    数据类型的转换是在所赋值的数值类型和被变量接收的数据类型不一致时发生的,它需要从一种数据类型转换成另一种数据类型。数据类型的转换可以分为隐式转换(自动类型转换)和显式转换(强制类型转换)两种。隐式转换(自动类型转换)如果以下2个条件都满足,那么将一种类型的数据赋给另外一种......
  • 3.3 Java算术运算符
    运算符丰富是 Java 语言的主要特点之一,它提供的运算符数量之多,在高级语言中是少见的。Java语言中的运算符除了具有优先级之外,还有一个结合性的特点。当一个表达式中出现多种运算符时,执行的先后顺序不仅要遵守运算符优先级别的规定,还要受运算符结合性的约束,以便确定是自左向右进......
  • 无涯教程-JavaScript - XOR函数
    描述XOR函数返回所有参数的逻辑异或。如果所提供条件的奇数判断为TRUE,则XOR函数返回TRUE,否则返回FALSE。语法XOR(logical1,[logical2],…)争论Argument描述Required/Optionallogical1logical1isrequiredandsubsequentlogicalvaluesareoptional.1to254c......