赋予程序灵魂:让你的代码学会思考
如果说变量是程序的“血肉”,那么流程控制就是程序的“灵魂”。
在此之前,我们的程序就像一个一根筋的“直男”,只会从第一行执行到最后一行。但在现实世界里,充满了选择、重复和意外。今天,我们要赋予程序判断力与耐力。
第一幕:直行还是转弯?(条件判断)
想象一个机器人走在笔直的传送带上,前方出现一个岔路口,标志牌写着:“满 18 岁了吗?”
你告诉电脑:如果(if) 满 18 岁,就让他进网吧;否则(else),就送他去幼儿园。
2
3
4
5
6
7
恭喜你,赋予了程序“判断力”。 它不再是一台死板的复读机,而是一个会看情况行事的“聪明人”。
第二幕:永无止境的循环(While 循环)
如果你想让电脑打印 1000 次“我不该在上课时玩手机”,难道要复制粘贴 1000 行代码吗?程序员是最讨厌重复的。
你只需要设一个条件:只要(while) 还没印满 1000 次,就别停下!
int count = 0;
while (count < 1000) {
IO.println("我不该在上课时玩手机");
count++; // 盖完一个章,计数加一
}
// 此时 count 等于 1000
// 条件 (count < 1000) 不再成立
// 程序跳出循环,继续执行后面的任务恭喜你,开启了“自动化狂飙”模式。 电脑最擅长的事情,就是不知疲倦地重复你交代的枯燥任务。
第三幕:精准的步进(For 循环)
有时候,你不仅想重复,还想精准地控制重复的节奏。比如你正走在一个标有 0 到 9 的楼梯上,你想每走一步都报一次数。
在 Java 中,我们把“起点”、“终点”和“步进节奏”写在一行里。
// 从 i=0 开始;只要 i<10 就继续;每轮结束后 i 自增 1
for (int i = 0; i < 10; i++) {
IO.println("当前台阶:" + i);
}恭喜你,掌握了最优雅的“节奏大师”——For 循环。 它是程序员最常用的工具,精准、干脆、绝不拖泥带水。
第四幕:多路选择器(Switch)
当你的选择超过三个、四个甚至更多时(比如自动售货机的按钮:按 A 出可乐,按 B 出雪碧,按 C 出咖啡),满屏幕的 if-else 会让代码乱成毛线团。
你决定换一种更整齐的方式:切换(switch) 模式。
String choice = "A";
switch (choice) {
case "A" -> IO.println("可乐");
case "B" -> IO.println("雪碧");
case "C" -> IO.println("咖啡");
default -> IO.println("请重新选择");
}恭喜你,部署了“高效调度中心”。 代码不仅要跑得快,还要长得漂亮。
第五幕:紧急刹车与跳过(Break & Continue)
在循环奔跑的过程中,总会有意外发生:
- Break:如果你在找某个东西,找到了就没必要继续跑了,直接“破门而出”。
- Continue:如果遇到一个坑不想处理,但还想继续后面的任务,那就“优雅跳过”。
for (int i = 1; i <= 10; i++) {
if (i == 5) continue; // 跳过第 5 级台阶,直接去第 6 级
if (i == 8) break; // 走到第 8 级,累了,直接结束循环
IO.println("踏上第 " + i + " 级台阶");
}恭喜你,获得了对程序的“绝对控制权”。
结尾:灵魂的觉醒
变量是程序的血肉,而流程控制,则是程序的灵魂。
有了它,你的代码不再是死板的指令,而是能够思考、能够选择、能够应对复杂世界的逻辑体。
但这还不够。当你的代码规模越来越庞大,你需要学会如何把这些逻辑“打包”带走,实现真正的高效复用。
下一站,我们要聊聊如何“拒绝重复造轮子”——函数。
(本文整理自《程序员的入场券》系列教程)