复制运算符的作用是将一个表达式的值赋给左边,左边必须是可修改的,不能是常量。
符号 | 作用 | 说明 |
|---|---|---|
- | 赋值 | a=10 ,将10赋值给变量a |
+= | 加后赋值 | a+=b ,将a+b的值给a |
-— | 减后赋值 | a-=b ,将a-b的值给a |
*= | 解赋值 | a*=b ,将axb的值给a |
/= | 除后赋值 | a/=b ,将a+b的商给a |
%= | 取余后赋值 | a%=b ,将a+b的余数给a |
注意:
扩展的赋值运算隐含了强制类型转换。
short s = 10;
s = s + 10; //此行代码报出,因为运算中s提升为int类型,运算结果int赋值给short可能损失精度
s += 10; //此行代码没有问题,隐含了强制类型转换,相当于s = (short) (s + 10);符号 | 作用 | 说明 |
|---|---|---|
++ | 自增 | 变量的團口1 |
- | 自减 | 变量的值减1 |
int 1 = 10; i++; //单独使用 System.out.println("i:" + i); // i:11 int j = 10; ++j ; //单独使用 System.out.println("j:" + j); // j:11 int x = 10; int y = x++; //赋值运算,++在后边,所以是使用x原来的值赋值给y , x本身自增丄 System.out.println("x:" + x + ", y:" + y); // x:11, y: 10 i nt m = 10; int n = ++m; //赋值运算,++在前边,所以是使用m自增后的值赋值给n , m本身自增1 System.out.println("m:" + m + ", m:" + m); // m:11 , m: 11
练习:
int x = 10; int y = x++ + x++ + x++; System.out.println(y) ; // y的值是多少? /* 解析,三个表达式都是++在后,所以每次使用的都是自增前的值,但程序自左至右执行,所以第一次自增时,使用的是 10进行计算,但第二次自增时,x的值已经自增到11 了,所以第二次使用的是11,然后再次自增… 所以整个式子应该是:int y = 10 + 11 + 12; 输出结果为3 3。 */ 注意:通过此处联系深刻理解自增和自减的规律,但实际开发中强烈建议不要这样写代码!容易挨打!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。