Java运算符
1、Java运算符包括:算数运算符、关系运算符、位运算符、逻辑运算符、赋值运算符、其他运算符。
按照含有操作数个数来分又可以分为:一元运算符、二元运算符、三元运算符。。。以此类推。
2、数字运算时一些需要注意的点:
(1)在整型与浮点数运算时运算结果为浮点数。如2+2.5结果为4.5、5/2.0 结果为2.5。
(2)除法运算中两个整数相除结果不会四舍五入,结果仅将小数点后面的数舍弃。
(3)Java中浮点数在除法运算中除数为0不会报错。如100.0/0结果为Infinity(无穷大),0.0/0结果为NaN(非数字)。但是整型数字在除法运算中不允许除数为0。
(4)当数字与字符串相加时的加号不是算数运算符而是字符串连接符。如12+”22”结果为字符串1222。
3、赋值语句语法:变量=表达式。 int a = 100 + 200 a的结果为300 (算数运算符优先级高于赋值运算符)。
4、运算符优先级:(从上至下优先级降低)
优先级 | 运算符 | 结合性 |
1 | () [] . | 从左到右 |
2 | ! +(正) -(负) ~ ++ -- | 从右向左 |
3 | * / % | 从左向右 |
4 | +(加) -(减) | 从左向右 |
5 | << >> >>> | 从左向右 |
6 | < <= > >= instanceof | 从左向右 |
7 | == != | 从左向右 |
8 | &(按位与) | 从左向右 |
9 | ^ | 从左向右 |
10 | | | 从左向右 |
11 | && | 从左向右 |
12 | || | 从左向右 |
13 | ?: | 从右向左 |
14 | = += -= *= /= %= &= |= ^= ~= <<= >>= >>>= | 从右向左 |
5、“=”、“==”、“instanceof”的区别:
(1)“=”用于赋值,如:a = b 表示将b的值赋给a。
(2)“==”用于比较,返回的是boolean值,如:a == b,表示比较a与b的值,若相等则返回true,否则返回false。
(3)“instanceof”用于判断某对象是否是某类的对象,如:“a” instanceof String,返回true,“b” instanceof Double,返回false。
6、“&”与“&&”的区别:
(1)“&”除了表示逻辑运算符与之外可以表示按位与运算。即当“&”左右均为整数时它表示位运算符,左右均为boolean值时表示逻辑运算符。而“&&”不具备这种功能。
(2)“&&”表达式中当左边表达式的值为false时不用再计算右面表达式的值。而“&”不管何种情况都需要计算两边的值。
“&”、“|”、“^”这三个运算符都有两种功能:位运算符、逻辑运算符。