1. 操作符
1.1. 赋值操作符(=
)
- 功能:将右侧的值赋给左侧的变量。
- 示例:
int a = 5; // 将 5 赋值给变量 a
1.2. 复合赋值操作符(
+=
、-=
、*=
、/=
、%=
) - 功能:简化对变量的操作,将右侧的值与左侧的变量进行相应的运算后再赋值给左侧的变量。
- 示例:
int a = 5; a += 3; // 等同于 a = a + 3; a 的值现在是 8 a -= 2; // 等同于 a = a - 2; a 的值现在是 6 a *= 4; // 等同于 a = a * 4; a 的值现在是 24 a /= 6; // 等同于 a = a / 6; a 的值现在是 4 a %= 3; // 等同于 a = a % 3; a 的值现在是 1
1.3. 位运算操作符
- 左移(
<<
):将一个数的位向左移动指定的位数,右侧补零。
int a = 5; // 二进制 00000101
int b = a << 2; // 结果是 20,即 00010100
- 右移(
>>
):将一个数的位向右移动指定的位数,左侧补符号位。
int a = 20; // 二进制 00010100
int b = a >> 2; // 结果是 5,即 00000101
- 无符号右移(
>>>
):将一个数的位向右移动指定的位数,左侧补零。int a = -20; // 二进制 11101011 int b = a >>> 2; // 结果是 1073741821,即 00111010 10111111
1.4. 按位与(&
)、按位或(|
)、按位异或(^
)、按位非(~
)
按位与(&
):对两个数的每一位进行逻辑与运算。
int a = 5; // 二进制 00000101
int b = 3; // 二进制 00000011
int c = a & b; // 结果是 1,即 00000001
- 按位或(
|
):对两个数的每一位进行逻辑或运算。
int a = 5; // 二进制 00000101
int b = 3; // 二进制 00000011
int c = a | b; // 结果是 7,即 00000111
- 按位异或(
^
):对两个数的每一位进行逻辑异或运算。
int a = 5; // 二进制 00000101
int b = 3; // 二进制 00000011
int c = a ^ b; // 结果是 6,即 00000110
- 按位非(
~
):对一个数的每一位进行取反操作。int a = 5; // 二进制 00000101 int b = ~a; // 结果是 -6,即 11111010
1.5. 自增和自减(
++
、--
) -
自增(
++
):将变量的值增加 1。 - 前缀自增(
++a
):在使用变量之前先增加其值。
int a = 5; int b = ++a; // a 和 b 的值都是 6
- 后缀自增(
a++
):在使用变量之后再增加其值。
int a = 5; int b = a++; // a 的值变为 6,但 b 的值是 5
-
自减(
--
):将变量的值减少 1。- 前缀自减(
--a
):在使用变量之前先减少其值。
- 前缀自减(
int a = 5;
int b = --a; // a 和 b 的值都是 4
- 后缀自减(
a--
):在使用变量之后再减少其值。
int a = 5;
int b = a--; // a 的值变为 4,但 b 的值是 5
2. 控制结构
2.1. if-else
语句
- 功能:根据条件执行不同的代码块。
- 示例:
int a = 10; if (a > 5) { System.out.println("a 大于 5"); } else { System.out.println("a 小于或等于 5"); }
2.2.
while
循环 - 功能:当条件为真时重复执行一段代码。
- 示例:
int i = 0; while (i < 5) { System.out.println(i); i++; }
2.3.
for
循环 - 功能:通常用于已知次数的循环。
- 示例:
for (int i = 0; i < 5; i++) { System.out.println(i); }
2.4. 增强型
for
循环(for-each
) - 功能:用于遍历数组或集合。
- 示例:
int[] numbers = {1, 2, 3, 4, 5}; for (int number : numbers) { System.out.println(number); }
2.5.
break
语句 - 功能:退出循环或
switch
语句。 - 示例:
for (int i = 0; i < 10; i++) { if (i == 5) { break; } System.out.println(i); }
2.6. 带标签的
break
语句 - 功能:退出指定标签的循环。
- 示例:
outerLoop: for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { if (i == 1 && j == 1) { break outerLoop; // 退出 outerLoop 标签的循环 } System.out.println(i + " " + j); } }
2.7.
switch
语句 - 功能:根据表达式的值选择执行不同的代码块。
- 示例:
int day = 2; switch (day) { case 1: System.out.println("星期一"); break; case 2: System.out.println("星期二"); break; default: System.out.println("其他日子"); break; }