运算符分类
运算符指明对操作数的运算方式.组成表达式的java操作符有很多种..运算符按照其要求的操作数数目来分,可以有单目运算符、双目运算符和三目运算符,他们分别对应1个、2个、3个操作数。运算符按其功能来分,有算术运算符、赋值运算符,关系运算符,逻辑运算符,位运算符和其他运算符
操作数数目来分
单目运算符
~(按位取反)、!(取非)、-(负号运算符)、++(自增)、--(自减)
列如
1 ~5 //按位取反
2
3 -6 boolean flg=true;4
5 !flg //取非false
6
7 -5 //负号运算符-5
8
9 int a=5;10
11 //这里一定要注意自增++的位置很重要,++在前是先计算后应用,++在后是先应用后计算
12
13 a++; //5
14
15 ++a;//616
17 //这里一定要注意自减--的位置很重要,--在前是先计算后应用,--在后是先应用后计算
18
19 a--; //5
20
21 --a; //4
双目运算符
+、-、*、/、%(取余)
1 6+5; //+运算符11
2 6-5; //-运算符1
3 6*5; //*运算符30
4 6/5; ///运算符1 这里注意两个整型相除是会舍去小数点后面的数值
5 7.25/5; //1.45 只有其中一个位浮点型时小数点后面的数值才会显示
6 7%5; //%运算符2
7 12%5 //2
三目运算符
条件?a:b; 当?前面的条件成立为真时 执行a部分代码,反之执行b部分的代码
1 int a=6;2 int b=5;3 a
其功能来分
算数运算符
+,-,*,/,%,++,--
赋值运算符
=
1 1 inta;2 a=10;
关系运算符
>,=,==,!=, instanceof(是否继承或者实现这个类或者接口)
1 a>b;2 b=b;4 a<=c;5 a==b;6 a!=c;7 List list=newArrayList();8 list instanceof ArrayList; //这里一定要注意,instanceof比较了类型必须是引用类型
逻辑运算符
&&,||,!
1 a
位运算符
&,|,^,~,<>,>>>
1 /*&运算符想要知道怎么算2 首先第一步就要把数字转换成二进制3 9=1001 5=1014 相同位都为1则取1,否则取0;5 |运算符也是要先转换成二进制6 相同位有一个为1则取1,都为0才取0;7 ^运算符也是要先转换成二进制8 不相同则取1,相同则取0;*/
9 9&5; //1
10 5&9; //1
11 9|5; //13
12 5|9; //13
13 9^5; //12
14 5^9; //12
15 9<<2; //36
16 /*9转为二进制是1000117 左移2为(就是多加两位,也就是两个0,也可理解左移动一位就是剩余2)18 为1000100 转换成十进制就是3619 */
20 9>>2; //2
21 9>>>2; //2
22 /*
23 >>运算符 9转为二进制是10001 右移2为(就是去掉后面两位)24 为10 转换成十进制就是225 >>>运算符类似于>>运算符26 */
条件运算符
?,:
扩展赋值运算符
+=,-=,*=,/=
符号优先级高到低排列:
[] () ++ -- ! ~ instanceof * / % + - << >> >>> <> <= > | == != & ^ && || ? : = op=