1、=,==,!=可以操作所有类型,其他操作符只能操作基本数据类型(String类支持+和+=)。
2、优先级
先乘除后加减(用括号明确规定计算顺序)
3、赋值(=)
基本类型直接将内容复制,改变不影响原值(String类型为内容复制)。对象赋值复制的事引用,改变后原值也会改变。
方法调用时传递的参数如果是对象,则传递的是引用,只有基本类型和String传递的是值(传递引用方法可能会改变原值)。
4、算数操作符(+,-,*,/,%)
整数除法会直接去掉小数位,而不是四舍五入,可在加减乘除后加等号进行结果赋值操作。
a++表示先赋值后自增,++a表示先自增后赋值,自减等同自增。
5、关系操作符(<,>,<=,>=,==,!=)
基本数据类型可直接使用==、!=比较,对象类型需要重写equals方法。
6、逻辑操作符(&&,||,!)
在应该使用String类型的地方使用boolean会自动转化为"true"或“false”
7、指数计数法
Java中e-23表示10的-23次幂
8、按位操作符(&,|,~,^)
操作对象为二进制数,&=,|=,^=都是合法的,~为一元运算符,~=不合法
9、移位操作符(<<,>>,>>>)
10、三元运算符
可读性较差(与if else相比)
11、类型转换
扩展转换 安全 不需要显式的转换
窄化转换 可能会造成信息丢失,需显式的转换