算术运算符
单目:+(取正)-(取负) ++(自增1) - -(自减1)
双目:+ - * / %(取余)
三目:a>b?true:false说明:当a大于b的时候,为true(也就是冒号之前的值),否则为false;这整个运算符 包括一个关系运算符(可以是“>”"<""!="等等),一个“?”,一个“:”,冒号前后需要有两个表达式或者是值或者是对象。
关系运算符
等于符号:==,不等于符号: != ,大于符号:>, 小于符号:<,大于等于符号: >= ,小于等于符号: <= 。
位运算符逻辑运算符
位运算符 与(&)、非(~)、或(|)、异或(^)优先级:(~>&>^>|)
&:当两边操作数的位同时为1时,结果为1,否则为0。如1100&1010=1000
| :当两边操作数的位有一边为1时,结果为1,否则为0。如1100|1010=1110
~:0变1,1变0
^:两边的位不同时,结果为1,否则为0.如1100^1010=0110,记住同0异1
逻辑运算符
与(&&)、非(!)、或(||)优先级:(!>&&>||)
赋值运算符
= += -= *= /= %= &= ^= |= <<= >>=
instanceof运算符
该运算符是双目运算符,左面的操作元是一个对象,右面是一个类。当左面的对象是右面的类创建的对象时,该运算符运算结果是true,否则是false。
移位运算符
<<左移 >> 右移
记住:
上面都是百科的一些基础知识,我进行了部分提取,下面我分析一下做题时遇到的一些常见的运算符的优先级顺序:
1、一般按优先级从高到低排列如下:[ ] ( ) ++ -- ! ~ instanceof
2、~的优先级高于“>>”和“+”, “+”的优先级高于“>>”
3、If语句中的表达式只能是boolean类型,if(1)在java中是错误的。
4、其实运算符之间的优先级有交叉,一般是: 算术运算符>移位运算符>关系运算符>位运算符>逻辑运算符>赋值运算符最低
5、一般的运算符顺序都是从左到右的顺序(基本赋值运算除外),当不清楚两者之间的优先级时,可以按照从左到右的顺序执行。
6、做到运算符的复杂题目时,一定要记住,关系运算符>位运算符>逻辑运算符这三者的一般顺序,然后记住一些特殊的运算顺序。