/*
赋值运算符
字符串连接运算符
三目运算符/三元运算符/条件运算符
关于JAVA中的赋值类运算符:
赋值类运算符包括两种:
*基本的赋值运算符
=
*扩展的赋值运算符
+=
-=
*=
/=
%=
1.赋值类的运算符优先级:先执行等号右边的表达式,将执行结果赋值给左边的变量
2.注意以下代码:
byte i=10;
i+=5;等同于:i=(byte)(i+5);
int k=10;
k+=5;等同于:k=(int)(k+5);
long x=10L;
int y=20;
y+=x;等同于:y=(int)(y+x);
3.重要结论:扩展类的赋值运算符不改变运算结果类型。
*/
public class OperatorTest04 {public static void main(String[] args) {//基本的赋值运算符//将10赋值给变量iint i=10;//先运算等号右边的算式,将右边的值赋值给变量ii=i+5;//相当于上式简化,+=运算符可以翻译为"追加"/"累加"//例如数据里面要追加数据,就是用此方法+=i+=5;//举例子//10没有超过byte类型的取值范围,可以直接赋值byte b=10;//以下代码编译错误。为什么?//编译器只检查语法,不运行程序,编译器发现b+5的类型是int类型,b变量的数据类型是byte//大容量向小容量转换需要加强制转换类型转换符,所以以下程序段编译报错//b=b+5;//纠正错误b=(byte)(b+5);//下面又是一个例子,反驳上面byte x=10;x+=5;//等同于x=(byte)(x+5);并不等同于x=x+5;System.out.println(x);//编译成功15//举例子byte z=0;z+=128;//等同于: z=(byte)(z+128);强制转换System.out.println(z);//-128 可以执行但是损失精度z+=10000;System.out.println(z);//用计算执行出-112,说明可以执行,但是损失精度}
}