运算符分类
运算符指明对操作数的运算方式.组成表达式的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;//6 16 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<b?"成立":"不成立" //不成立
其功能来分
算数运算符
+,-,*,/,%,++,--
赋值运算符
=
1 1 int a; 2 a=10;
关系运算符
>,<,<=,>=,==,!=, instanceof(是否继承或者实现这个类或者接口)
1 a>b; 2 b<c; 3 a>=b; 4 a<=c; 5 a==b; 6 a!=c; 7 List list=new ArrayList(); 8 list instanceof ArrayList; //这里一定要注意,instanceof比较了类型必须是引用类型
逻辑运算符
&&,||,!
1 a<b&&a<c 2 a<b||a<c
位运算符
&,|,^,~,<<,>>,>>>
1 /* &运算符想要知道怎么算 2 首先第一步就要把数字转换成二进制 3 9=1001 5=101 4 相同位都为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转为二进制是10001 17 左移2为(就是多加两位,也就是两个0,也可理解左移动一位就是剩余2) 18 为1000100 转换成十进制就是36 19 */ 20 9>>2; //2 21 9>>>2; //2 22 /* 23 >>运算符 9转为二进制是10001 右移2为(就是去掉后面两位) 24 为10 转换成十进制就是2 25 >>>运算符类似于>>运算符 26 */
条件运算符
?,:
扩展赋值运算符
+=,-=,*=,/=
符号优先级高到低排列:
[] () ++ -- ! ~ instanceof * / % + - << >> >>> <> <= > | == != & ^ && || ? : = op=