精通 Java 控制流语句:掌握 if/else 条件判断、switch 选择结构以及 for、while、do-while 循环的灵活运用,实现复杂的程序流程控制。

好的,各位观众老爷们,晚上好!欢迎来到“Java控制流语句的那些事儿”讲座现场!我是你们的老朋友,人称“Bug终结者”的程序猿老王。今天咱们就来聊聊Java里那些控制程序走向,决定程序命运的小家伙们——控制流语句!

开场白:程序世界的“红绿灯”

想象一下,你是一个交通指挥官,手里拿着小旗子,指挥着各种车辆在复杂的路口穿梭。Java的控制流语句,就像你手中的小旗子,它们决定了程序执行的顺序,让程序知道什么时候该左转,什么时候该右转,什么时候该停下来等等。没有它们,程序就会像一辆失控的汽车,横冲直撞,最终撞得头破血流(当然,是程序崩溃啦!)。

今天,咱们就深入了解一下这些重要的“红绿灯”们,包括:

  • if/else 条件判断: 程序的“单行道”和“岔路口”。
  • switch 选择结构: 程序的“立交桥”和“环岛”。
  • for 循环: 程序的“自动巡航”和“重复劳动”。
  • while 和 do-while 循环: 程序的“坚持不懈”和“至少一次”。

准备好了吗?让我们系好安全带,开始这段奇妙的Java控制流之旅吧!🚀

第一站:if/else 条件判断 – “单行道”与“岔路口”

if/else语句,就像程序世界的“单行道”和“岔路口”。它根据不同的条件,决定程序执行不同的路径。

1.1 单行道:if语句

if语句就像一条单行道,只有当条件满足时,程序才能沿着这条路走下去。如果条件不满足,程序就会直接跳过这条路,继续执行后面的代码。

int age = 25;

if (age >= 18) {
  System.out.println("恭喜你,已成年,可以进入酒吧!🍻");
}

System.out.println("程序继续执行...");

在这个例子中,只有当age大于等于18时,才会打印出“恭喜你,已成年,可以进入酒吧!🍻”。否则,程序会直接跳过if语句中的代码,打印出“程序继续执行…”。

1.2 岔路口:if/else 语句

if/else语句就像一个岔路口,程序根据条件选择走哪条路。如果条件满足,程序就会走if后面的路;如果条件不满足,程序就会走else后面的路。

int score = 75;

if (score >= 60) {
  System.out.println("恭喜你,及格了!🎉");
} else {
  System.out.println("很遗憾,不及格,下次加油!💪");
}

System.out.println("程序继续执行...");

在这个例子中,如果score大于等于60,程序就会打印出“恭喜你,及格了!🎉”;否则,程序就会打印出“很遗憾,不及格,下次加油!💪”。

1.3 多重岔路口:if/else if/else 语句

有时候,我们需要面对多个岔路口,这时就可以使用if/else if/else语句。它允许我们根据多个条件,选择执行不同的代码块。

int score = 85;

if (score >= 90) {
  System.out.println("优秀!🏆");
} else if (score >= 80) {
  System.out.println("良好!👍");
} else if (score >= 70) {
  System.out.println("中等!😊");
} else if (score >= 60) {
  System.out.println("及格!😊");
} else {
  System.out.println("不及格!😥");
}

System.out.println("程序继续执行...");

在这个例子中,程序会根据score的值,依次判断是否满足不同的条件,并执行相应的代码块。

总结: if/else语句是控制程序流程的基础,它让我们能够根据不同的条件,执行不同的代码,使程序更加灵活和智能。

第二站:switch 选择结构 – “立交桥”与“环岛”

switch语句就像程序世界的“立交桥”和“环岛”。它提供了一种更简洁的方式,根据不同的值,选择执行不同的代码块。

2.1 switch 语句的基本结构

int day = 3;

switch (day) {
  case 1:
    System.out.println("星期一");
    break;
  case 2:
    System.out.println("星期二");
    break;
  case 3:
    System.out.println("星期三");
    break;
  case 4:
    System.out.println("星期四");
    break;
  case 5:
    System.out.println("星期五");
    break;
  case 6:
    System.out.println("星期六");
    break;
  case 7:
    System.out.println("星期日");
    break;
  default:
    System.out.println("非法日期");
}

在这个例子中,switch语句根据day的值,选择执行不同的case语句。每个case语句后面都跟着一个break语句,用于跳出switch语句。如果没有break语句,程序会继续执行下一个case语句,直到遇到break语句或者switch语句结束。default语句用于处理所有case语句都没有匹配到的情况。

2.2 switch 语句的注意事项

  • switch语句只能用于判断整数、字符、字符串(Java 7及以上版本)和枚举类型。
  • 每个case语句后面都需要跟着一个break语句,否则程序会继续执行下一个case语句,这被称为“case穿透”。
  • default语句是可选的,用于处理所有case语句都没有匹配到的情况。

2.3 switch 语句的优势

相比于if/else if/else语句,switch语句在处理多个条件判断时,代码更加简洁和易读。

举个例子:

假设我们要根据用户的选择,执行不同的操作。使用if/else if/else语句:

int choice = 2;

if (choice == 1) {
  System.out.println("执行操作1");
} else if (choice == 2) {
  System.out.println("执行操作2");
} else if (choice == 3) {
  System.out.println("执行操作3");
} else {
  System.out.println("无效的选择");
}

使用switch语句:

int choice = 2;

switch (choice) {
  case 1:
    System.out.println("执行操作1");
    break;
  case 2:
    System.out.println("执行操作2");
    break;
  case 3:
    System.out.println("执行操作3");
    break;
  default:
    System.out.println("无效的选择");
}

可以看到,使用switch语句的代码更加简洁和易读。

总结: switch语句提供了一种更简洁的方式,根据不同的值,选择执行不同的代码块,使程序更加高效和易维护。

第三站:for 循环 – “自动巡航”与“重复劳动”

for循环就像程序世界的“自动巡航”和“重复劳动”。它允许我们重复执行一段代码,直到满足某个条件为止。

3.1 for 循环的基本结构

for (int i = 0; i < 10; i++) {
  System.out.println("这是第" + (i + 1) + "次循环");
}

for循环由三个部分组成:

  • 初始化: int i = 0,用于初始化循环变量。
  • 条件判断: i < 10,用于判断是否继续循环。
  • 更新: i++,用于更新循环变量。

在这个例子中,循环变量i从0开始,每次循环增加1,直到i等于10时,循环结束。

3.2 for 循环的应用场景

for循环非常适合用于执行重复性的任务,例如:

  • 遍历数组或集合。
  • 计算累加和或累乘积。
  • 绘制图形或生成报表。

举个例子:

计算1到100的累加和:

int sum = 0;

for (int i = 1; i <= 100; i++) {
  sum += i;
}

System.out.println("1到100的累加和为:" + sum);

3.3 增强型 for 循环 (foreach)

Java 5 引入了增强型 for 循环,也称为 foreach 循环,它简化了遍历数组和集合的操作。

int[] numbers = {1, 2, 3, 4, 5};

for (int number : numbers) {
  System.out.println(number);
}

在这个例子中,foreach循环会自动遍历numbers数组中的每个元素,并将元素的值赋给number变量。

总结: for循环是控制程序重复执行的重要工具,它让我们能够轻松地处理重复性的任务,提高编程效率。

第四站:while 和 do-while 循环 – “坚持不懈”与“至少一次”

while循环和do-while循环就像程序世界的“坚持不懈”和“至少一次”。它们也允许我们重复执行一段代码,直到满足某个条件为止,但与for循环略有不同。

4.1 while 循环

while循环会先判断条件是否满足,如果满足,则执行循环体;否则,循环结束。

int i = 0;

while (i < 10) {
  System.out.println("这是第" + (i + 1) + "次循环");
  i++;
}

在这个例子中,while循环会先判断i是否小于10,如果小于,则执行循环体,并将i的值增加1;否则,循环结束。

4.2 do-while 循环

do-while循环会先执行一次循环体,然后再判断条件是否满足,如果满足,则继续循环;否则,循环结束。

int i = 0;

do {
  System.out.println("这是第" + (i + 1) + "次循环");
  i++;
} while (i < 10);

在这个例子中,do-while循环会先执行一次循环体,并将i的值增加1,然后再判断i是否小于10,如果小于,则继续循环;否则,循环结束。

4.3 while 和 do-while 循环的区别

while循环会先判断条件,然后再执行循环体;do-while循环会先执行一次循环体,然后再判断条件。因此,do-while循环至少会执行一次循环体,而while循环可能一次都不会执行。

举个例子:

假设我们要从用户那里获取一个正数,直到用户输入一个正数为止。

使用while循环:

Scanner scanner = new Scanner(System.in);
int number = 0;

System.out.println("请输入一个正数:");
number = scanner.nextInt();

while (number <= 0) {
  System.out.println("输入的不是正数,请重新输入:");
  number = scanner.nextInt();
}

System.out.println("你输入的是正数:" + number);

使用do-while循环:

Scanner scanner = new Scanner(System.in);
int number = 0;

do {
  System.out.println("请输入一个正数:");
  number = scanner.nextInt();
  if (number <= 0) {
    System.out.println("输入的不是正数,请重新输入:");
  }
} while (number <= 0);

System.out.println("你输入的是正数:" + number);

在这个例子中,do-while循环可以保证至少从用户那里获取一次输入,即使第一次输入不是正数。

总结: while循环和do-while循环是控制程序重复执行的另一种重要工具,它们让我们能够根据不同的条件,灵活地控制程序的流程。

特殊控制语句:break 和 continue

除了以上介绍的控制流语句,Java还提供了breakcontinue两个特殊的控制语句,用于更精细地控制循环的执行。

  • break 语句: 用于立即终止循环的执行,跳出循环体。
  • continue 语句: 用于跳过当前循环迭代的剩余部分,直接进入下一次循环迭代。

举个例子:

for (int i = 0; i < 10; i++) {
  if (i == 5) {
    break; // 当 i 等于 5 时,终止循环
  }
  System.out.println("i = " + i);
}

System.out.println("循环结束!");

for (int i = 0; i < 10; i++) {
  if (i % 2 == 0) {
    continue; // 当 i 是偶数时,跳过本次循环迭代
  }
  System.out.println("i = " + i);
}

System.out.println("循环结束!");

总结: breakcontinue语句让我们能够更灵活地控制循环的执行,处理一些特殊的场景。

结语:掌握控制流,掌控程序命运!

各位观众老爷们,今天的“Java控制流语句的那些事儿”讲座就到这里告一段落了。希望通过今天的学习,大家能够对Java的控制流语句有更深入的理解,并能够在实际开发中灵活运用,编写出更加高效、可靠的程序。

记住,控制流语句是程序世界的“红绿灯”,掌握它们,你就能掌控程序的命运!💪

最后,祝大家编程愉快,Bug远离!咱们下期再见!👋

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注