本章:赋值运算符
1,赋值运算符包括“基本赋值运算符”和“扩展赋值运算符”:基本的,扩展的。
2,基本赋值运算符是什么:“=”
3,扩展赋值运算符是什么:+=,-=,*=,/=,%=(求余数等)
注意:扩展运算符在编写时,两个符号之间不能有空格。
public class Test01 {
public static void main(String[] args) {
//赋值运算符=右边优先级比较高,先执行右边表达式。
//然后将表达式执行结束的结果放到左边的盒子里(赋值)
int i = 10;
//属于重新赋值
i = 20;
byte a =10;
b = 20;
}
}
以+=运算符作为代表,学习扩展逻辑运算符,其他运算符和+=原理相似。
int k = 10;
k += 20; //K变量追加20
System.out.println(k); //30
int m =10;
m += 20;
//类似以下表达式
m=m+20;
System.out.println(m);//30
研究:
“i +=10 和 i = i +10”并不一样,相似,但是本质并不是完全相同。
结论:
使用扩展赋值运算符时,永远不会改变运算结果类型,有可能损失精度。
public class duanlu01 {
public static void main(String[] args) {
byte a = 100;
a = a + 1;
//会报错,因为1已经是int类型了,得出的结果也是int类型,byte装不下。
byte b = 100;
b += 1;
//可以通过,b开始就是byte类型,结束也是byte类型不管后面是多大的数字。
//其实:x += 1 等同于: x = (byte)(x + 1)
}
}
例题:
public class yunsuan01 {
public static void main(String[] args) {
int a = 100;
a += 10;
System.out.println(a);
int b = 100;
b -= 10;
System.out.println(b);
int c = 100;
c *= 10;
System.out.println(c);
int d = 100;
d /= 5;
System.out.println(d);
int f = 100;
f %= 3;
System.out.println(f);
}
}