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时不用再计算右面表达式的值。而“&”不管何种情况都需要计算两边的值。
“&”、“|”、“^”这三个运算符都有两种功能:位运算符、逻辑运算符。