学科分类
目录
Java基础

赋值运算符

赋值运算符的作用就是将常量、变量或表达式的值赋给某一个变量。接下来通过一张表来展示Java中的赋值运算符及其用法,如表1所示。

表1 赋值运算符

运算符 运算 范例 结果
= 赋值 a=3;b=2; a=3;b=2;
+= 加等于 a=3;b=2;a+=b; a=5;b=2;
-= 减等于 a=3;b=2;a-=b; a=1;b=2;
*= 乘等于 a=3;b=2;a*=b; a=6;b=2;
/= 除等于 a=3;b=2;a/=b; a=1;b=2;
%= 模等于 a=3;b=2;a%=b; a=1;b=2;

在赋值过程中,运算顺序从右往左,将右边表达式的结果赋值给左边的变量。在赋值运算符的使用中,需要注意以下几个问题。

1.在Java中可以通过一条赋值语句对多个变量进行赋值,具体示例如下:

int  x, y, z; 
x = y = z = 5;              // 为三个变量同时赋值

在上述代码中,一条赋值语句将变量x,y,z的值同时赋值为5。需要特别注意的是,下面的这种写法在Java中是不可以的:

int x = y = z = 5;   // 这样写是错误的,因为没有预先声明变量y、z的数据类型

2.在表1中,除了“=”,其他的都是特殊的赋值运算符,以“+=”为例,x += 3就相当于x = x + 3,首先会进行加法运算x+3,再将运算结果赋值给变量x。其余的-=、*=、/=、%=赋值运算符都可依此类推。

image-20200525160621206多学一招:赋值运算符中强制类型转换的自动实现

在前面小节中介绍过,在为变量赋值时,当两种类型彼此不兼容,或者目标类型取值范围小于源类型时,需要进行强制类型转换。例如,将一个int类型的值赋给一个short类型的变量,需要显式地进行强制类型转换。然而在使用+=、-=、=、/=、%= 赋值运算符时,强制类型转换会自动完成,程序不需要做任何显式地声明,如文件1所示。

文件1 Example05.java

 1    public class Example05 {
 2        public static void main(String[] args) {
 3            short s = 3;
 4            int i = 5;
 5            s += i;
 6            System.out.println("s = " + s);
 7        }
 8    }

运行结果如图1所示。

图1 运行结果

文件1中,第5行代码为赋值运算,虽然变量s和i相加的运算结果为int类型,但通过运算符+=将结果赋值给了short类型的变量s时,Java虚拟机会自动完成强制类型转换,从而得到s的值为8。

点击此处
隐藏目录