3.2 控制结构(参考Control Flow Statements)
控制结构是编程中用于控制代码执行流程的关键部分。
3.2.1 条件语句
在 Apex 中,你可以使用条件语句来根据条件决定代码的执行路径。本章将介绍条件语句,包括 if 和 switch 语句。
3.2.1.1 if 语句
if 语句是一种常见的条件语句,它根据条件的真假来决定代码的执行路径。在 Apex 中,你可以使用以下形式的 if 语句:
if (condition) {
// 当条件为真时执行这里的代码
} else {
// 当条件为假时执行这里的代码
}
condition 是一个布尔表达式,可以是 true 或 false。
如果 condition 为 true,那么 if 语句块中的代码将被执行。
如果 condition 为 false,那么 else 语句块中的代码将被执行(如果存在 else 部分)。
示例:
Integer x = 10;
if (x > 5) {
System.debug('x 大于 5');
} else {
System.debug('x 不大于 5');
}
3.2.1.2 switch 语句
switch 语句允许你根据不同的情况来执行不同的代码块。在 Apex 中,switch 语句支持以下参数类型:
·整数(Integer)、
·字符串(String)、
·枚举(Enum)
·SObject(Salesforce 对象)。
String dayOfWeek = 'Monday';
switch on dayOfWeek {
when 'Monday' {
// 执行星期一的操作
}
when 'Tuesday' {
// 执行星期二的操作
}
when else {
// 其他情况的操作
}
}
switch 语句中的 when 部分用于定义不同情况下的执行代码块。
when 后面的表达式会被计算,然后与 switch on 后的值进行比较,如果匹配,相应的代码块将被执行。
when else 用于处理除已定义 when 之外的所有情况。
3.2.2 循环结构 (参考 Loops)
循环结构允许你重复执行特定的操作,直到满足条件为止。
3.2.2.1 for 循环
for 循环是一种常用的循环结构,它允许你在特定条件下重复执行一组语句。在 Apex 中,你可以使用以下形式的 for 循环:
for (初始化; 条件; 迭代) {
// 循环体,执行循环中的操作
}
初始化 部分用于初始化循环控制变量。
条件 部分是一个布尔表达式,如果为 true,循环将继续执行。
迭代 部分用于更新循环控制变量。
示例:
for (Integer i = 0; i < 5; i++) {
System.debug('循环迭代次数:' + i);
}
3.2.2.2 while 循环
while 循环允许你在条件为 true 时反复执行一组语句。在 Apex 中,你可以使用以下形式的 while 循环:
while (条件) {
// 循环体,执行循环中的操作
}
条件 是一个布尔表达式,只要为 true,循环将一直执行。
示例:
Integer i = 0;
while (i < 5) {
System.debug('循环迭代次数:' + i);
i++;
}
3.2.2.3 do-while 循环
do-while 循环是一种至少会执行一次的循环结构。在 Apex 中,你可以使用以下形式的 do-while 循环:
do {
// 循环体,执行循环中的操作
} while (条件);
do 部分包含循环体,会在条件被检查之前至少执行一次。
条件 是一个布尔表达式,只要为 true,循环将继续执行。
示例:
Integer i = 0;
do {
System.debug('循环迭代次数:' + i);
i++;
} while (i < 5);
3.2.3 使用 break 与 continue
3.2.3.1 break 语句
break 语句是一种控制语句,用于在循环内部终止循环的执行,即使循环条件仍然为 true。在 Apex 中,你可以在循环内部使用 break 语句来跳出循环。以下是示例:
for (Integer i = 0; i < 10; i++) {
if (i == 5) {
break; // 当 i 等于 5 时,终止循环
}
System.debug('循环迭代次数:' + i);
}
在上述示例中,当 i 的值等于 5 时,break 语句会终止 for 循环的执行,即使循环条件仍然满足。
3.2.3.2 continue 语句
continue 语句用于跳过当前循环迭代中的剩余代码,并继续下一次迭代。在 Apex 中,你可以在循环内部使用 continue 语句来跳过某些迭代。以下是示例:
for (Integer i = 0; i < 10; i++) {
if (i == 5) {
continue; // 当 i 等于 5 时,跳过当前迭代
}
System.debug('循环迭代次数:' + i);
}
在上述示例中,当 i 的值等于 5 时,continue 语句会跳过当前迭代,然后继续下一次迭代。
break 和 continue 语句是在编写复杂逻辑的循环时非常有用的控制工具,它们允许你在特定条件下控制循环的执行。