//赋值运算符 "+" 是 java唯一一个自右向左的运算符,他的优先级最低
/*
赋值运算符 :
基础赋值运算符
=
=是java中唯一一个自右向左运算的符号
优先级最低
扩展赋值运算符(算数运算符+基础 赋值运算符 )
+=
a=a+10;==> a+=10;
-=
*=
/=
%=
优点:
执行效率快
自动做强制类型转换
注意: 编译期间编译器会自动把可以实现的位置优化成为扩展赋值运算符
*/
// 自动做强制类型转换
short a = 10;
a += 20; // a = (short)(a+20);
/*
比较运算符|关系运算符
> < >= <=
byte,short,int,long,float,double,char
== !=
基本,引用
结果都为boolean类型
*/
double d = 0.0;
d = 10/3; // 结果为int3 在向上转型
System.out.println(d);
d = 10/3.0; // 都向上转型 在计算
System.out.println(d);
/*
逻辑运算符
& 与
两个都为真true,结果才为true,一个为false就是false
| 或
一个为true就是true,两个都为false才是false
! 非
取反
!true -> false
!false -> true
^ 异或
相同为false,不同为true
短路 : 如果左边的操作数的值能够决定最终表达式的结果 ,第二个操作数不会执行
&& : 两个都为真true,结果才为true,一个为false就是false
|| : 一个为true就是true,两个都为false才是false
注意:
操作数必须为boolean,值为boolean的表达式
建议使用短路运算符
*/
// && || 主要前面的条件能欧却行结果,后面的条件就不运行了
int a = 30;
if (a > 0 || ++a>30){
System.out.println(a);
}
/*
条件运算符
条件表达式 ? 值1 : 值2 ;
条件表达式 : 值为boolean类型的表达式
执行流程:
1.计算条件表达式,得到boolean结果
2.为true,结果为值1
为false,结果为值2
*/
int a = 3;
String b =a>2?"正确":"错误";
System.out.println(b);