### 赋值运算符

赋值运算符是以符号“=”表示，它是一个二元运算符（对两个操作数作处理），其功能是将右方操作数所含的值赋值给左方的操作数。其语法格式如下：

变量 = 表达式;

例如：

int a = 100;

该表达式是将 100 赋值给变量 a。左方的操作数必须是一个变量，而右边的操作数则可以是任何表达式，包括变量（如 a、number）、常量(如 123、'book')、有效的表达式（如 45*12）。例如：

例 使用赋值运算符为变量赋值，实例代码如下：

int a = 10; //声明 int 型变量 a

int b = 5; //声明 int 型变量 b

int c = a+b; //将变量 a 与 b 进行运算后的结果赋值给 c

遵循赋值运算符的运算规则，可知系统将先计算 a+b 的值，结果为 15。然后将 15 赋值给变量 c。因此“c=15”。

说明：由于赋值运算符“=”处理时会先取得右方表达式处理后的结果，因此一个表达式中若含有两个以上的“=”运算符时，会从最右方“=”开始处理。

例 在项目中创建类 Eval，在主方法中定义变量，使用赋值运算符为变量赋值。

public class Eval { //创建类

public static void main(String[] args) { //主方法

int a, b, c; //声明 int 行变量 a,b,c

a = 15; //将 15 赋值给变量 a

c = b = a + 4; //将 a 与 4 的和赋值给变量 b，然后再赋值给变量 c

System.out.println("c 值为：" + c); //将变量 c 的值输出

System.out.println("b 值为：" + b); //将变量 b 的值输出

}

}

运行结果如图 1 所示。

图 1 运行结果

说明：在Java里可以把赋值运算符连在一起使用。如：

x = y = z = 5;

在这个语句中，变量 x、y、z 都得到同样的值 5，在程序开发中不建议使用这种赋值语法。

再例如，在下面的 a=a+10 表达式中，先计算表达式 a+10，结果为 19，然后执行表达式 a=19。

int a=9;

a=a+10;

System.out.println(a);

在 Java 中，类似 a=a+10 这样的表达式还可写为以下形式：

a+=10;

其中，+=称为复合赋值运算符，类似的复值运算符还有-=、*=、/=、%=、&=、|=和^=等。对于这些运算符的具体应用如表 1 所示。

表 1 复合赋值运算符

运算符 | 描 述 | 示例
+＝ | 将运算符左边的变量加上右边表达式的值赋给左边的变量 | a+=b //相当于 a=a+b
－＝ | 将运算符左边的变量减去右边表达式的值赋给左边的变量 | a-=b //相当于 a=a-b
*= | 将运算符左边的变量乘以右边表达式的值赋给左边的变量 | a*=b //相当于 a=a*b
/＝ | 将运算符左边的变量除以右边表达式的值赋给左边的变量 | a/=b //相当于 a=a/b
%＝ | 将运算符左边的变量用右边表达式的值求模，并将结果赋给左边的变量 | a%=b //相当于 a=a%b
&= | 将运算符左边的变量与右边表达式的值进行逻辑与运算，并将结果赋给左边的变量 | a&=b //相当于 a=a&b
|= | 将运算符左边的变量与右边表达式的值进行逻辑或运算，并将结果赋给左边的变量 | a|=b //相当于 a=a|b
^= | 将运算符左边的变量与右边表达式的值进行异或运算，并将结果赋给左边的变量 | a^=b //相当于 a=a^b

说明：赋值运算符的左边必须为变量，不能为任何表达式。