赋值运算符左面的操作数必须是变量,不能是常量或表达式,赋值表达式的值就是=左面变量的值。
注意:
1)不要将赋值运算符=与关系运算符==混淆。
2)除赋值运算符=外,还有扩展赋值运算符。
赋值运算符 | 说明 | 举例 |
= | 将右操作数的值赋给左操作数 | c=a+b |
+= | 将左操作数和右操作数相加的值赋给左操作数 | c+=a等价于c=c+a |
-= | 将左操作数和右操作数相减的值赋给左操作数 | c-=a等价于c=c-a |
*= | 将左操作数和右操作数相乘的值赋给左操作数 | c*=a等价于c=c*a |
/= | 将左操作数和右操作数相除的值赋给左操作数 | c/=a等价于c=c/a |
%= | 将左操作数和右操作数取余后的值赋给左操作数 | c%=a等价于c=c%a |
&= | 按位与赋值运算符 | c&=1等价于c=c&1 |
|= | 按位或赋值运算符 | c|=1等价于c=c|1 |
^= | 按位异或赋值运算符 | c^=1等价于c=c^1 |
>>= | 按位右移赋值运算符 | c>>=1等价于c=c>>1 |
<<= | 按位左移赋值运算符 | c<<=1等价于c=c<<1 |
实例:
public class Main { public static void main(String[] args) { int a = 1; int b = 2; int c = 0; c = a + b; System.out.println("c = a + b = " + c ); c += a ; System.out.println("c += a = " + c ); c -= a ; System.out.println("c -= a = " + c ); c *= a ; System.out.println("c *= a = " + c ); a = 3; c = 4; c /= a ; System.out.println("c /= a = " + c ); a = 5; c = 6; c %= a ; System.out.println("c %= a = " + c ); c &= a ; System.out.println("c &= a = " + c ); c |= a ; System.out.println("c |= a = " + c ); c ^= a ; System.out.println("c ^= a = " + c ); c >>= 1 ; System.out.println("c >>= 1 = " + c ); c <<= 1 ; System.out.println("c <<= 1 = " + c ); } }
运行结果如下:
c = a + b = 3 c += a = 4 c -= a = 3 c *= a = 3 c /= a = 1 c %= a = 1 c &= a = 1 c |= a = 5 c ^= a = 0 c >>= 1 = 0 c <<= 1 = 0
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程