运算符介绍:运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。
- 算术运算符
- 赋值运算符
- 关系运算符
- 逻辑运算符
- 位运算符
- 三元运算符
算术运算符
算术运算符是对数值类型的变量进行运算的。
% 取模,取余
在 % 的本质,a % b = a - a/b*b
++ 自增
i ++ == ++i == i += 1
作为表达式使用:
前++,++i 先自增后赋值
后自增,i++ 先赋值后自增
关系运算符
关系运算符的结果都是boolean型,也就是要么是true,要么是false。
逻辑运算符
用于连接多个条件(多个关系表达式),最终的结果也是一个boolean值。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wZaVbQzN-1688810547228)(https://cdn.789ak.com/img/image-20230708162445841.png)]
说明逻辑运算规则:
a & b
:&
叫逻辑与,规则为 当 a 和 b 同为true,否则为false。a && b
:&&
叫短路与,规则为 当 a 和 b 同时为true,则结果为true,否则为false。a | b
:|
叫逻辑或,规则为 当a 和 b有一个为true,则结果为true,否则为false。a || b
:||
叫短路或,规则为 当a 和 b有一个为true,则结果为true,否则为false。!a
:!
叫取反,或者非运算。当a为true,则结果为false,当a为false时结果为true。a ^ b
:^
叫逻辑异或,规则为 当a 和 b 不同时,则结果为true,否则为false。
&&短路与和&逻辑与的使用区别:
- &&短路与:如果第一个条件为false,则第二个条件不会判断,最终结果为false,效率高。
- &逻辑与:不管第一个条件是否为false,第二个条件都要判断,效率低。
||短路或 和 |逻辑或的使用区别:
- ||短路或:如果第一个条件为true,则第二个条件不会判断,最终结果为true,效率高。
- |逻辑或:不管第一个条件是否为true,第二个条件都要判断,效率低。
赋值运算符
赋值运算符就是将某个运算后的值赋给指定的变量。
- 基本赋值运算符: =
- 复合赋值运算符:+= -= *= /= %=
赋值运算符特点:
- 运算顺序从右往左
- 赋值运算符的左边只能是变量,右边可以是变量、表达式、常量
- 复合赋值运算符等价于下面的效果:a x= b --> a = a x b
- 复合赋值运算符会进行类型转换
三元运算符
基本语法: 条件表达式 ?表达式1:表达式2;
运算规则:
- 如果条件表达式为true,运算后的结果是表达式1;
- 如果条件表达式为false,运算后的结果是表达式2;
int a = 3; b = 4;
int ma = a > b ? a : b;
运算符优先级
-
运算符有不同的优先级,所谓优先级就是表达式运算中的运算顺序。
-
只有单目运算符、赋值运算符是从右向左运算的。
-
() {} 等
-
单目运行 ++ –
-
算术运算符
-
位移运算符
-
比较运算符
-
逻辑运算符
-
三元运算符