02 - 运算符
一、运算符的基本介绍
运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。
1) 算术运算符
2) 赋值运算符
3) 关系运算符 [比较运算符]
4) 逻辑运算符
5) 位运算符 [需要二进制基础]
6) 三元运算符
二、算术运算符
运算符 | 运算 | 范例 | 结果 |
---|---|---|---|
+ | 正号 | +7 | 7 |
- | 负号 | b=11; -b | -11 |
+ | 加 | 9+1 | 10 |
- | 减 | 6-2 | 4 |
* | 乘 | 2*3 | 6 |
/ | 除 | 9/3 | 3 |
% | 取余 | 11%9 | 2 |
++ | 自增(前) | a=2; b=++a; | a=3,b=3 |
++ | 自增(后) | a=2; b=a++; | a=3,b=2 |
-- | 自减(前) | a=2; b=--a; | a=1,b=1 |
-- | 自减(后) | a=2; b=a--; | a=1,b=2 |
+ | 字符串相加 | "Spock"+"Hi" | "SpockHi" |
1.对于除号"/",它的整数除和小数除是有区别的: 整数之间做除法时,只保留整数部分而舍弃小数部分。
例如: int x= 10/3; 结果是3
2. 当对一个数取模时,可以等价 a%b = a-a/b*b,这样我们可以看到取模的一个本质运算。
3. 当自增当做一个独立语言使用时,不管是++i;还是i++;都是一样的,等价
4. 当自增当做一个表达式使用时j=++i
++i: 先自增,后赋值
5.当自增当做一个表达式使用时j=i++
i++: 先赋值,后自增
三、关系运算符
运算符 | 运算 | 范例 | 结果 |
---|---|---|---|
== | 相等于 | 8==7 | false |
!= | 不等于 | 8!=7 | true |
< | 相等于 | 8<7 | false |
> | 相等于 | 8>7 | true |
<= | 相等于 | 8<=7 | false |
>= | 相等于 | 8>=7 | true |
instanceof | 检查是否是类的对象 | "Spock" instanceof String | true |
四、逻辑运算符
逻辑运算规则:
1) a&b : & 叫逻辑与
规则:当 a 和 b 同时为 true ,则结果为 true, 否则为 false
2) a&&b : && 叫短路与
规则:当 a 和 b 同时为 true ,则结果为 true,否则为 false
3) a|b : | 叫逻辑或
规则:当 a 和 b ,有一个为 true ,则结果为 true,否则为 false
4) a||b : || 叫短路或
规则:当 a 和 b ,有一个为 true ,则结果为 true,否则为 false
5) !a : 叫取反,或者非运算
当 a 为 true, 则结果为 false, 当 a 为 false 是,结果为 true
6) a^b: 叫逻辑异或
当 a 和 b 不同时,则结果为 true, 否则为 false
使用细节:
&& 和 & 使用区别:
1) &&短路与:如果第一个条件为 false,则第二个条件不会判断,最终结果为 false,效率高
2) & 逻辑与:不管第一个条件是否为 false,第二个条件都要判断,效率
|| 和 | 使用区别
1) ||短路或:如果第一个条件为 true,则第二个条件不会判断,最终结果为 true,效率高
2) | 逻辑或:不管第一个条件是否为 true,第二个条件都要判断,效率低
五、赋值运算符
基本赋值运算符 =
int a = 10;
复合赋值运算符 += ,-= ,*= , /= ,%= 等
1) 运算顺序从右往左
int num = a + b + c;
2) 赋值运算符的左边只能是变量, 右边可以是变量、表达式、常量值
int num = 20;
int num2= 78 * 34 - 10;
int num3 = a;
3) 复合赋值运算符等价于下面的效果 比如:
a+=3;
等价于
a=a+3; 其他类推
4) 复合赋值运算符会进行类型转换。 byte b = 2;
六、三元运算符
条件表达式 ? 表达式 1: 表达式 2;
运算规则:
1. 如果条件表达式为 true,运算后的结果是表达式 1
2. 如果条件表达式为 false,运算后的结果是表达式 2
a = 10;
b = 8;
c = a > b ? a : b;
七、位运算符
运算规则:
按位与 & :两位全为 1,结果为 1,否则为 0。
按位或 | :两位有一个为 1,结果为 1,否则为 0。
按位异或 ^ :两位一个为 1,一个为 0,结果为 1,否则为 0。
Record Our Mind
本文作者:SpockC
本文链接:https://www.cnblogs.com/SpockC/p/15779505.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步