运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。
算术运算符
赋值运算符
比较运算符(关系运算符)
逻辑运算符
位运算符
三元运算符
| 运算符 | 运算 | 范例 | 结果 | 
| + | 正号 | +3 | 3 | 
| - | 负号 | b=4; -b | -4 | 
| + | 加 | 5+5 | 10 | 
| - | 减 | 6-4 | 2 | 
| * | 乘 | 3*4 | 12 | 
| / | 除 | 5/5 | 1 | 
| % | 取模(取余) | 7%5 | 2 | 
| ++ ++ | 自增(前):先运算后取值 自增(后):先取值后运算 | a=2;b=++a; a=2;b=a++; | a=3;b=3 a=3;b=2 | 
| - - - - | 自减(前):先运算后取值 自减(后):先取值后运算 | a=2;b=- -a a=2;b=a- - | a=1;b=1 a=1;b=2 | 
| + | 字符串相加 | “He”+”llo” | “Hello” | 
1、算数运算符的注意问题
如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。 但被模数是负数则不可忽略。此外,取模运算的结果不一定总是整数。
对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。 例如:int x=3510;x=x/1000*1000; x的结果是?
“+”除字符串相加功能外,还能把非字符串转换成字符串.例如:System.out.println("5+5="+5+5); //打印结果是?
2、赋值运算符
符号:= 
当“=”两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理。
支持连续赋值。
扩展赋值运算符: +=, -=, *=, /=, %=
3、比较运算符
| 运算符 | 运算 范例 结果 | 
| == | 相等于 4==3 false | 
| != | 不等于 4!=3 true | 
| < | 小于 4<3 false | 
| > | 大于 4>3 true | 
| <= | 小于等于 4<=3 false | 
| >= | 大于等于 4>=3 true | 
| instanceof | 检查是否是类的对象 “Hello” instanceof String true | 
比较运算符的结果都是boolean型,也就是要么是true,要么是false。
比较运算符“==”不能误写成“=” 。
4、逻辑运算符
&—逻辑与 | —逻辑或 !—逻辑非
&& —短路与      || —短路或        ^ —逻辑异或 
| a | b | a&b | a&&b | a|b | a||b | !a | a^b | 
| true | true | true | true | true | true | false | false | 
| true | false | false | false | true | true | false | true | 
| false | true | false | false | true | true | true | true | 
| false | false | false | false | false | false | true | false | 
逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3 & x<6 。
“&”和“&&”的区别:
单&时,左边无论真假,右边都进行运算;
双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
“|”和“||”的区别同理,||表示:当左边为真,右边不参与运算。
异或( ^ )与或( | )的不同之处是:当左右都为true时,结果为false。
      理解:异或,追求的是“异”!
5、位运算符
位运算是直接对二进制进行运算
| 位运算符 | ||
| 运算符 | 运算 | 范例 | 
| << | 左移 | 3 << 2 = 12 --> 3*2*2=12 | 
| >> | 右移 | 3 >> 1 = 1 --> 3/2=1 | 
| >>> | 无符号右移 | 3 >>> 1 = 1 --> 3/2=1 | 
| & | 与运算 | 6 & 3 = 2 | 
| | | 或运算 | 6 | 3 = 7 | 
| ^ | 异或运算 | 6 ^ 3 = 5 | 
| ~ | 反码 | ~6 = -7 | 
| 位运算符的细节 | |
| << | 空位补0,被移除的高位丢弃,空缺位补0。 | 
| >> | 被移位的二进制最高位是0,右移后,空缺位补0; 最高位是1,空缺位补1。 | 
| >>> | 被移位二进制最高位无论是0或者是1,空缺位都用0补。 | 
| & | 二进制位进行&运算,只有1&1时结果是1,否则是0; | 
| | | 二进制位进行 | 运算,只有0 | 0时结果是0,否则是1; | 
| ^ | 相同二进制位进行 ^ 运算,结果是0;1^1=0 , 0^0=0 不相同二进制位 ^ 运算结果是1。1^0=1 , 0^1=1 | 
| ~ | 正数取反,各二进制码按补码各位取反 负数取反,各二进制码按补码各位取反 | 





6、三元运算符
格式:
(条件表达式)?表达式1:表达式2;
                      为true,运算后的结果是表达式1;
            为false,运算后的结果是表达式2;
表达式1和表达式2为同种类型
三元运算符与if-else的联系与区别:
	1)三元运算符可简化if-else语句
	2)三元运算符要求必须返回一个结果。
	3)if后的代码块可有多个语句

原文:https://www.cnblogs.com/lxk-python/p/9873091.html