一、if 选择结构:条件判断与多分支选择
if
语句是最基本的条件判断语句,根据表达式的真假来决定是否执行某段代码。可以通过 else if
来判断多个条件,或者使用 else
来处理所有条件都不成立的情况。
代码示例::
java">int num = 1;
if (num == 1) {System.out.println("壹");
} else if (num == 2) {System.out.println("贰");
} else if (num == 3) {System.out.println("参");
} else {System.out.println("其他");
}
执行结果:
壹
详细解析:
- 程序通过
if
语句判断变量num
的值,并根据条件输出对应的中文数字。如果条件都不成立,执行else
部分的代码。
使用建议:
- 当需要判断多个条件时,使用
if-else
是一种清晰的做法。 if
语句适合用于条件不多的简单逻辑判断。
二、switch 选择结构:多分支选择的最佳实践
switch
语句根据变量的值跳转到对应的 case
语句处执行,常用于多个条件分支的选择结构中。switch
能够提升代码的可读性,尤其是在判断固定值时。
语法:
java">switch (表达式) {case 值1:// 代码块break;case 值2:// 代码块break;default:// 默认代码块
}
1.代码示例:
java">int numTwo = 1;
switch (numTwo) {case 1:System.out.println("壹");case 2:System.out.println("贰");break;case 3:System.out.println("参");break;default:System.out.println("没有匹配项");
}
执行结果:
壹
贰
- 注意:
case
后没有break
时,代码会继续执行后续的case
,直到遇到break
或switch
语句的结束。
2.代码示例(字符串类型):
java">String computer = "小米";
switch (computer) {case "办公本":System.out.println("办公本");break;case "游戏本":System.out.println("游戏本");break;default:System.out.println("没有匹配项!");break;
}
执行结果:
没有匹配项!
解释:
switch
语句会根据表达式的值跳转到匹配的case
标签,并执行对应的代码块。- 如果没有匹配的
case
,则执行default
部分。
使用建议:
switch
语句适合用于多分支的判断,尤其当有多个固定值判断时,它的代码结构更清晰。- 不支持
long
类型(仅支持byte
、short
、int
、char
和 枚举 类型)。
switch和if的区别:debug
1.switch:会直接跳到相匹配的case
2.if:从上到下挨个判断 -> 实际开发主要用if做判断,灵活
三、while
循环结构:条件判断循环的基本用法
while
循环是一种常见的循环结构,它会在每次执行之前检查循环条件。如果条件为 true
,则执行循环体;否则,跳出循环。
语法:
java">while (条件) {// 循环体// 步进表达式
}
代码示例:
java">int i = 1;
while (i < 10) {System.out.print(i + " ");i++; // i自增1
}
执行结果:
1 2 3 4 5 6 7 8 9
解释:
while
循环在进入循环前检查条件,如果条件成立就进入循环体。- 循环体内可以修改控制条件的变量,确保循环最终退出。
使用建议:
- 当循环次数未知,且需要动态判断时,使用 while 循环。
- 确保循环内有使条件为假的语句,否则会导致死循环。
四、do...while
循环结构:先执行后判断,确保循环至少一次
do...while
循环与 while
循环类似,区别在于 do...while
会先执行循环体,再判断条件,确保循环体至少执行一次。
语法:
java">do {// 循环体
} while (条件);
代码示例::
java">int i = 1;
int sum = 0;
do {sum += i; // 累加 i 的值i++;
} while (i <= 100);
System.out.println("1 + 2 + 3 + ... + 100 = " + sum);
执行结果:
1 + 2 + 3 + ... + 100 = 5050
解释:
do...while
保证循环体至少执行一次,即使条件一开始为 false。- 适用于必须执行至少一次操作的场景。
使用建议:
- 如果循环体必须至少执行一次,使用 do…while 更为合适。
五、for
循环结构:计数循环与固定次数的完美配合
for
循环是一种非常常见的计数循环结构,通常用于已知循环次数的情况。它通过初始化条件、判断条件和循环变量更新来控制循环的执行。
一件事或者一段代码在反复执行,我们就可以考虑使用循环语句了
语法:
java">for (初始化; 条件; 迭代) {// 循环体
}
for
循环代码示例1:
java">
for (int i = 1; i <= 10; i++) {System.out.print(i + " ");
}
执行结果:
1 2 3 4 5 6 7 8 9 10
for
循环代码示例2:
求1~999之间的水仙花数
java">for (int i = 100; i <= 999; i++) {int ge = i % 10; // 获取个位int shi = i / 10 % 10; // 获取十位int bai = i / 100; // 获取百位if (ge * ge * ge + shi * shi * shi + bai * bai * bai == i) {System.out.print(i + "; ");}
}
执行结果:
153; 370; 371; 407
解释:
- for 循环通常用于已知循环次数的情况,代码结构简洁,易于理解。
使用建议:
- 使用
for
循环时,适合处理循环次数固定的任务。
六、break
、continue
和 return
:循环控制语句的灵活运用
1.代码演示(break
):
java">for (int i = 1; i <= 10; i++) {if (i == 5) {break; // 当 i == 5 时跳出循环}System.out.print(i + " ");
}
执行结果:
1 2 3 4
详细解析(break
):
break
语句强制退出当前的循环。当 i 达到 5 时,循环被打断,不再执行后续的迭代。
2.代码演示(continue
):
java">for (int i = 1; i <= 10; i++) {if (i % 2 == 0) {continue; // 跳过偶数}System.out.print(i + " ");
}
执行结果:
1 3 5 7 9
详细解析(continue
):
continue
语句用于跳过当前循环的迭代,直接开始下一次循环。在本例中,偶数被跳过,只输出奇数。
3.代码演示(return):
java">public static void testReturn() {for (int i = 1; i <= 10; i++) {if (i == 5) {return; // 退出方法}System.out.print(i + " ");}
}
执行结果:
1 2 3 4
详细解析(return):
return
语句用于立即结束当前方法的执行。在此例中,当i
为5
时,方法提前退出,后续的数字不再被打印。
七、Math 类的使用:生成随机数及常用数学操作
Java 中的 Math 类提供了常用的数学计算方法,最常用的就是 Math.random()
,它可以生成一个 0
到 1
之间的随机数。
代码示例::
java">int number = (int)(6 * Math.random()); // 生成 0 到 5 之间的随机整数
System.out.println(number);
解释:
Math.random()
返回一个 [0.0, 1.0) 区间的double
类型随机数。- 通过将其乘以 6 并转换为
int
类型,就能得到 0 到 5 之间的随机整数。