标签:运算符 info 符号 不一致 ceo com 算术 分享 lsp
运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。
算术运算符
赋值运算符
比较运算符(关系运算符)
逻辑运算符
位运算符
三元运算符
运算符 |
运算 |
范例 |
结果 |
+ |
正号 |
+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后的代码块可有多个语句
标签:运算符 info 符号 不一致 ceo com 算术 分享 lsp
原文地址:https://www.cnblogs.com/lxk-python/p/9873091.html