1、运算符
1.1 算术运算符
符号 | 含义 |
---|
+ | 加法运算符 |
- | 减法运算符 |
* | 乘法运算符 |
/ | 除法运算符 |
% | 取模/取余运算符 |
1.2 字符串连接运算符
- + 可以实现字符串的连接。同时可以实现字符串与其他数据类型“相连”。
1.3 关系/比较运算符
符号 | 含义 |
---|
> | 表示是否大于运算符 |
>= | 表示是否大于等于运算符 |
< | 表示是否小于运算符 |
<= | 表示是否小于等于运算符 |
== | 表示是否等于运算符 |
!= | 表示是否不等于运算符 |
- 注意:所有以关系运算符作为最终运算的表达式结果一定是boolean类型。
1.4 自增减运算符
符号 | 含义 |
---|
++ | 表示自增运算符,用于使得当前变量自身的数值加1的效果 |
- - | 表示自减运算符,用于使得当前变量自身的数值减1的效果 |
int ia = 1;
int ic = ia++;
System.out.println("ia = " + ia);
System.out.println("ic = " + ic);
int ib = 1;
int id = ++ib;
System.out.println("ib = " + ib);
System.out.println("id = " + id);
1.5 逻辑运算符
符号 | 含义 |
---|
&& | 表示逻辑与运算符,相当于"并且",同真为真,一假为假 |
|| | 表示逻辑或运算符,相当于"或者",一真为真,同假为假 |
! | 表示逻辑非运算符,相当于"取反",真为假,假为真 |
- 注意:逻辑运算符的操作数均为boolean表达式。
1.5.1 逻辑运算符的图解
b1 | b2 | b1 && b2 | b1 || b2 | ! b1 |
false | false | false | false | true |
false | true | false | true |
true | false | false | true | false |
true | true | true | true |
1.5.2 逻辑运算符的短路特性
- 对于逻辑与运算符来说,若第一个表达式为假则结果为假,此时跳过第二个表达式;
- 对于逻辑或运算符来说,若第一个表达式为真则结果为真,此时跳过第二个表达式;
1.6 条件/三目运算符
条件表达式 ? 表达式1 : 表达式2
- 判断条件表达式是否成立,若成立则执行表达式1,否则执行表达式2 。
1.7 赋值表达式
- = 表示赋值运算符,用于将=右边的数据赋值给=左边的变量,覆盖变量原来的数值。
- 赋值表达式本身也有值,其本身之值即为所赋之值。
- +=、 -=、 *=、 /=、…
1.8 移位运算符
符号 | 含义 |
---|
<< | 左移运算符,用于将数据的二进制位向左移动,右边使用0补充 |
>> | 右移运算符,用于将数据的二进制位向右移动,左边使用符号位补充 |
>>> | 表示逻辑右移运算符,用于将数据的二进制位向右移动,左边使用0补充 |
1.9 位运算符
符号 | 含义 |
---|
& | 表示按位与运算符,按照二进制位进行与运算,同1为1,一0为0 |
| | 表示按位或运算符,按照二进制位进行或运算,一1为1,同0为0 |
~ | 表示按位取反运算符,按照二进制位进行取反, 1为0, 0为1 |
^ | 表示按位异或运算符,按照二进制位进行异或运算,同为0,不同为1 |
1.10 运算符的优先级
- ( ) 的优先级极高
- = 的优先级极低
- 若无法确认优先级,则使用()来确保即可