第二章:基础语法
2.2 操作符
1. 操作符概述
操作符(Operator)是用于对变量或值执行特定操作的符号。Java中的操作符可以分为以下几类:
- 算术操作符
- 关系操作符
- 逻辑操作符
- 位操作符
- 赋值操作符
- 其他操作符(如条件操作符、instanceof操作符等)
2. 算术操作符
算术操作符用于执行基本的数学运算:
+加法(也可用于字符串连接)-减法*乘法/除法%取模(求余数)++自增(前缀或后缀)--自减(前缀或后缀)
示例:
int a = 10;
int b = 3;
System.out.println(a + b); // 13
System.out.println(a % b); // 1
3. 关系操作符
关系操作符用于比较两个值,返回布尔结果(true/false):
==等于!=不等于>大于<小于>=大于等于<=小于等于
示例:
int x = 5;
int y = 10;
System.out.println(x < y); // true
4. 逻辑操作符
逻辑操作符用于组合布尔表达式:
&&逻辑与(短路)||逻辑或(短路)!逻辑非&逻辑与(非短路)|逻辑或(非短路)^逻辑异或
示例:
boolean a = true;
boolean b = false;
System.out.println(a && b); // false
System.out.println(a || b); // true
5. 位操作符
位操作符直接操作二进制位:
&按位与|按位或^按位异或~按位取反<<左移>>右移(带符号)>>>无符号右移
示例:
int num1 = 5; // 0101
int num2 = 3; // 0011
System.out.println(num1 & num2); // 0001 (1)
6. 赋值操作符
赋值操作符用于给变量赋值:
=基本赋值+=加后赋值-=减后赋值*=乘后赋值/=除后赋值%=取模后赋值<<=左移后赋值>>=右移后赋值&=按位与后赋值^=按位异或后赋值|=按位或后赋值
示例:
int x = 10;
x += 5; // 等价于 x = x + 5
7. 条件操作符(三元操作符)
语法:条件 ? 表达式1 : 表达式2 如果条件为true,返回表达式1的值,否则返回表达式2的值。
示例:
int a = 10;
int b = 20;
int max = (a > b) ? a : b; // 20
8. 操作符优先级
当表达式中包含多个操作符时,Java会按照优先级顺序执行:
- 括号
() - 一元操作符
++,--,!,~ - 乘除取模
*,/,% - 加减
+,- - 移位
<<,>>,>>> - 关系
<,>,<=,>=,instanceof - 相等
==,!= - 位与
& - 位异或
^ - 位或
| - 逻辑与
&& - 逻辑或
|| - 条件
?: - 赋值
=,+=,-=, 等
9. 注意事项
- 整数除法会截断小数部分
- 操作符重载在Java中仅支持
+用于字符串连接 - 注意区分
==(值比较)和equals()(对象内容比较) - 避免在复杂表达式中依赖操作符优先级,建议使用括号明确优先级
