赋值运算符是以符号“=”表示,它是一个二元运算符(对两个操作数作处理),其功能是将右方操作数所含的值赋值给左方的操作数。其语法格式如下:
变量 = 表达式;
例如:
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 |
说明:赋值运算符的左边必须为变量,不能为任何表达式。