3.7.2 赋值运算符

3.7.2 赋值运算符

赋值运算符用于为变量指定变量值,与C类似,Java也使用=作为赋值运算符。

直接量赋值给变量

通常,使用赋值运算符将一个直接量值赋给变量。例如如下代码

1
2
3
String str = "Java"; // 为变量str赋值为Java
double pi = 3.14; // 为变量pi赋值为3.14
boolean visited = true; // 为变量visited赋值为true

变量赋值给变量

除此之外,也可使用赋值运算符将一个变量的值赋给另一个变量。如下代码是正确的

1
String str2 = str; // 将变量str的值赋给str2

赋值运算符左边只能是变量

按前面关于变量的介绍,可以把变量当成一个可盛装数据的容器。而赋值运算就是将被赋的值“装入”变量的过程。赋值运算符是从右向左执行计算的,程序先计算得到=右边的值,然后将该值“装入”ˉ左边的变量,因此赋值运算符(=)左边只能是变量

赋值表达式的值 连续赋值

值得指出的是,赋值表达式是有值的,赋值表达式的值就是右边被赋的值。例如String str2=str这个语句中,表达式str2=str的值就是str。因此,赋值运算符支持连续赋值,通过使用多个赋值运算符,可以一次为多个变量赋值。如下代码是正确的:

1
2
3
4
5
6
7
int a;
int b;
int c;
// 通过为a, b , c赋值,三个变量的值都是7
a = b = c = 7;
// 输出三个变量的值。
System.out.println(a + "\n" + b + "\n" + c);

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

将表达式的值赋值给变量

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

1
2
3
double d1 = 12.34;
double d2 = d1 + 5; // 将表达式的值赋给d2
System.out.println(d2); // 输出d2的值,将输出17.34