Java运算符分为:
算术运算符 ;赋值运算符 ;比较运算符 ;逻辑运算符 ;位运算符 ;三目运算符
1、算术运算符:
+ - * / 都是基本的运算法,这里不多加赘述,但需要注意的是当数据类型为 int 时,/ 表示取整操作,既取不到后面的余数,当数据类型为浮点型时,可以取到余数,在这里可以取一个整数中的任意值;当然也可以*0.1操作,因为Java中自动类型提升可以将一个运算过程中小的的类型自动转到到较大的类型。
2、赋值运算符:
符号:= , += , -= , *= , /= , %= ,其中=为基本的赋值运算符,其他的为扩展的赋值运算符;
其中拿一个*=作为展示:代码输出结果为72
int a = 8;
a*=9;
System.out.println(a);
注意:a*=9;和a=a*9;不能混为一谈:byte a = 8; a = a * 5;这个代码不能运行,因为数据类型不一样,在运算过程中默认一个整形常数为int型,在Java中会出现自动类型提升,将小类型制动转换为大的类型,这样byte就不能容纳下a了;而a*=5;这里面默认会出现一个强制类型提升。
3、比较运算符:
比较运算符的结果都是boolean型,也就是要么是true,要么是false。注意:比较运算符“==”不能误写成“=” 。
4、逻辑运算符:
逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3 & x<6 。
单&时,左边无论真假,右边都进行运算;
双&(&&短路与)时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
“|”和“||(短路或)”的区别同理,双或时,左边为真,右边不参与运算。
异或( ^ )与或( | )的不同之处是:当左右都为true时,结果为false。
5、位运算:
位运算是直接对二进制进行运算。
6、三目运算符:
(关系表达式)?表达式1:表达式2; 如果条件为true,运算后的结果是表达式1; 如果条件为false,运算后的结果是表达式2;
例:获取两个数中大数。
int a = 10;
int b = 22;
System.out.println((a > b) ? a : b);