📜  Apex-循环(1)

📅  最后修改于: 2023-12-03 14:59:21.244000             🧑  作者: Mango

Apex 循环

在 Apex 编程中,循环结构是一种常用技巧,用于反复执行一个或多个语句,直到满足一定的条件为止。Apex 提供了多种循环结构,包括 while 循环、for 循环、do-while 循环等。本文将介绍这些循环及其应用场合。

while 循环

while 循环是最基本的循环结构,用于在满足指定的条件时,反复执行一组语句。它的语法格式如下:

while (条件) {
  待执行的代码块
}

当条件为真时,代码块会被反复执行,直到条件不再为真。以下是一个示例,它利用 while 循环来计算并输出从 1 到 10 的所有偶数:

Integer i = 1;
while (i <= 10) {
  if (i % 2 == 0) {
    System.debug(i);
  }
  i++;
}

本示例中,变量 i 从 1 开始,逐次加 1,直到达到 10。在每次迭代中,如果 i 是偶数,则通过 System.debug() 方法输出它的值。在最后一次迭代中,i 的值为 11,不再满足条件,因此循环停止。

for 循环

for 循环是一种比 while 循环更灵活的循环结构,用于在已知循环次数的情况下执行一组语句。它的语法格式如下:

for (初始化; 条件; 迭代) {
  待执行的代码块
}

for 循环包含三个部分:

  • 初始化:在循环开始之前执行一次的语句,通常用来初始化一个变量。
  • 条件:在每次迭代之前判断的逻辑表达式。
  • 迭代:在每次迭代之后执行的语句,通常用来对计数器或迭代变量进行修改。

以下是将上述示例改写为 for 循环的代码:

for (Integer i = 1; i <= 10; i++) {
  if (i % 2 == 0) {
    System.debug(i);
  }
}

本示例中,变量 i 被初始化为 1,每次迭代都会增加 1,直到达到 10。与 while 循环不同,这里没有显式地增加 i 的值。在每次循环中,如果 i 是偶数,则输出它的值。

for 循环还可以用于遍历集合、数组等容器类对象。以下是一个示例,用于遍历一个 String 列表并输出每个元素:

List<String> names = new List<String>{'Alice', 'Bob', 'Charlie'};
for (String name : names) {
  System.debug(name);
}

在这个示例中,for 循环的条件部分使用了“增强型 for 循环”语法,即“:”后跟待遍历的列表对象。循环内部的代码块会被反复执行,每次的 name 变量都代表列表中的一个元素。

do-while 循环

do-while 循环是一种类似于 while 循环的结构,不同之处在于它至少会执行一次循环体,即使条件一开始就为假。它的语法格式如下:

do {
  待执行的代码块
} while (条件);

以下是一个示例,它利用 do-while 循环来不断读取用户输入,直到输入的数字大于等于 0:

Integer input;
do {
  input = Integer.valueOf(System.console().readLine('Enter a positive number: '));
} while (input < 0);
System.debug('You entered ' + input);

本示例中,首先声明了一个变量 input,然后进入 do-while 循环。循环体内使用 System.console().readLine() 方法来读取用户输入,并使用 Integer.valueOf() 方法将其转换为整数类型。当输入小于 0 时,循环会继续执行。当输入大于等于 0 时,循环结束,输出“You entered”加上输入的数字。

总结

在 Apex 编程中,循环是一种非常有用的技巧,它可以帮助我们反复执行相似或重复的操作。while 循环是最基本的循环结构,适用于在不知道循环次数的情况下执行一组语句。for 循环则更加灵活,适用于已知循环次数的情况。do-while 循环则是 while 循环的变种,保证至少执行一次循环体。根据不同的需求,我们可以灵活选择适当的循环结构来解决问题。