一、算术运算符
二、赋值运算符
三、扩展运算符
四、关系运算符
五、逻辑运算符
短路与“&&”与逻辑与“&”的区别是:&&第一个为false,不计算第二个操作数的值;&两个都计算
六、位运算符
七、条件运算符
八、字符串连接符
运算符优先级
自动类型转换:容量小的可以向容量大的进行自动类型转化;
特例:int类型在不超过byte、char、short类型范围可以进行自动类型转化
强制类型转换
int money = 1000000000; //10亿
int years = 20;
//返回的total超过了int的范围
int total = money*years; //total = -1474836480
System.out.println("total = "+total);
//返回的total1仍然是负数,默认是int,因此结果会转成int值,再转成long,但是已经发生了数据丢失
long total1 = money*years; //total1 = -1474836480
System.out.println("total1 = "+total1);
//返回的total2正确,先将一个因子变成long,整个表达式提升。全部用long来计算
long total2 = money*(long)years; //total2 = 20000000000
System.out.println("total2 = "+total2);