跳转到主要内容
模块 1 · 第 2 课(共 2)课程中的2/14~12 min
模块课程(2/2)

流量控制

为了使我们的程序动态并能够做出决策,我们使用控制流结构:条件语句和循环。

条件:if、else if 和 else

仅当特定布尔条件为 true 时,if 语句才执行代码块。

Java
int temperature = 25;

if (temperature > 30) {
    System.out.println("Fa molto caldo!");
} else if (temperature >= 20) {
    System.out.println("Il clima è piacevole.");
} else {
    System.out.println("Fa freddo.");
}

逻辑运算符

我们可以使用逻辑运算符组合多个条件:

  • && (AND):如果两个条件都为真,则返回 true。
  • || (OR):如果至少有一个条件为真,则返回 true。
  • ! (NOT):反转条件的逻辑值。
Java
boolean hasLicense = true;
boolean hasCar = false;

if (hasLicense && hasCar) {
    System.out.println("Puoi guidare.");
}

循环:while 和 for

循环允许我们重复执行一段代码。

while 循环

只要指定条件保持 true 就执行代码。

Java
int count = 1;
while (count <= 3) {
    System.out.println("Conteggio: " + count);
    count++; // Increment count by 1
}

for 循环

当我们提前知道要执行的迭代次数时,这是理想的选择。该语法需要初始化、终止条件和增量表达式。

Java
for (int i = 0; i < 5; i++) {
    System.out.println("Iteration: " + i);
}

高级条件:switch

当我们需要将单个变量与多个常量值进行比较时,switch 语句使代码比多个链接的 if-else 块干净得多。

Java
int dayOfWeek = 3;
switch (dayOfWeek) {
    case 1:
        System.out.println("Monday");
        break;
    case 2:
        System.out.println("Tuesday");
        break;
    case 3:
        System.out.println("Wednesday");
        break;
    default:
        System.out.println("Other day");
}

循环控制:break 和 continue

我们可以使用两个特殊语句来改变循环的正常流程:

  • break:立即终止最内层循环的执行,完全退出它。
  • continue:跳过当前迭代中的其余代码,并直接跳转到评估下一次迭代的条件(或 for 循环中的增量表达式)。
Java
for (int i = 1; i <= 5; i++) {
    if (i == 3) {
        continue; // Skips printing for the number 3
    }
    System.out.println(i);
}

自己尝试一下

锻炼#java.m1.l2.e1
尝试:0加载中...

通过检查score变量来完成代码:如果它大于或等于60,则打印Pass,否则打印Fail。

正在加载编辑器...
显示提示

使用 `if (score >= 60) { ... } else { ... }` 并打印所请求的确切字符串。

3 次尝试后可用的解决方案

锻炼#java.m1.l2.e2
尝试:0加载中...

编写一个 for 循环,在不同的行上打印从 1 到 5(含)的数字。

正在加载编辑器...
显示提示

在“for”循环的标头内使用初始化“int i = 1”、条件“i <= 5”并递增“i++”。

3 次尝试后可用的解决方案

锻炼#java.m1.l2.e3
尝试:0加载中...

使用 while 循环完成代码,在单独的行上打印从 3 到 1(含)的数字。

正在加载编辑器...
显示提示

编写 `while (count >= 1) { ... }` 打印 `count`,然后使用 `count--;` 递减它。

3 次尝试后可用的解决方案