算术运算符
一般运算符
- $+$:加法
- $-$:减法
- $*$:乘法
- $/$:除法
- %:取余数
注意事项
- 整数之间相除只会得到结果的整数部分
- 小数直接参与运算结果可能不准确
- 至少有一个操作数需要是浮点类型才能得到浮点数结果
字符串的拼接操作
使用$+$让字符串前后拼接,拼接操作从左向右连续执行
字符的加法
字符和字符的加法以及字符和整型的加法是通过将字符转换成ASCII码来进行的加法
自增自减运算符
符号 | 作用 | 等效语句 |
---|---|---|
++ | 变量加一 | $a++ \iff a=a+1$ |
- - | 变量减一 | $a- - \iff a=a-1$ |
前置与后置的区别
-
单独使用时没有区别:
$$ var++ \iff ++var \iff var=var+1 \\ var-- \iff --var \iff var=var-1 $$ -
参与计算是有区别
-
后置时先使用变量的原始值计算,然后对变量加一
1 2 3 4 5 6
int a=10; int b=a++; //结果 //a:10 //b:11
-
前置时先对变量加一,再使用变量的新值进行计算
1 2 3 4 5 6
int a=10; int b=++a; //结果 //a:11 //b:11
-
赋值运算符
分类
符号 | 作用 | 说明 |
---|---|---|
= | 直接赋值 | int a=10; 将10赋值给变量a |
+= | 加后赋值 | a+=b; 将a+b赋值给变量a |
-= | 减后赋值 | a-=b; 将a-b赋值给变量a |
*= | 乘后赋值 | a*=b; 将a*b赋值给变量a |
/= | 除后赋值 | a/=b; 将a/b赋值给变量a |
%= | 余后赋值 | a%=b; 将a%b赋值给变量a |
注意事项
- 底层实现中包含了强制类型转换
- 在表达式中所有其他运算符完成后再进行计算
关系运算符
分类
$>$ | 大于 |
---|---|
$<$ | 小于 |
$\leq$ | 小于等于 |
$\geq$ | 大于等于 |
$==$ | 等于 |
$!=$ | 不等于 |
运算结果为 boolean
逻辑运算符
一般逻辑运算符
& | 逻辑与 | 全真为真 |
---|---|---|
| | 逻辑或 | 一真为真 |
! | 逻辑非 | 取反 |
^ | 逻辑异或 | 相同为假,不同为真 |
短路逻辑运算符
&& | 逻辑与 | 结果与&相同但是具有短路效果 |
---|---|---|
|| | 逻辑或 | 结果与|相同但是具有短路效果 |
短路效果指的是当左边的表达式可以确定最终结果那么就不会执行右边的表达式
三元运算符
语法格式
|
|
计算规则
- 计算关系表达式的值
- 判断关系表达式的运算结果
- 若为 true 执行表达式1
- 若为 false 执行表达式2