Java学习之赋值运算符

image.png

赋值运算符

赋值运算符是指为变量或常量指定数值的符号。

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

其语法格式: 变量名称=表达式内容

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

例如:

int a = 3;
int b = 3.5;

他们两个的值最后都为3.

注意:赋值运算符的优先级低于算术运算符,结合方向是自右向左

赋值运算符不是数学中的等号,它表示一个动作,即将其右侧的值送到左侧的变量中(左侧只允许是变量,不能是表达式或其他形式)

不要将赋值运算符与相等运算符“==”混淆

赋值运算符与其他运算符一起使用,可以表达多种赋值运算的变异效果。

例如,在基本的赋值运算符的基础之上,可以结合算术运算符,以及后面要学习的位运算符,组合成复合的赋值运算符。

赋值运算符和算数运算符组成的复合赋值运算的含义及其使用实例 所示如下:

运算符 含义 实例 结果
+= 将该运算符左边的数值加上右边的数值, 其结果赋值给左边变量本身 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
image.png

练习

赋值运算使用场景:

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

举例练习题:
一件商品的单价从 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); // 输出总价
}

结果如下:

image.png

注意:虽然 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

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

image.png

你可能感兴趣的:(Java学习之赋值运算符)