Appearance
循环语句 
在 Solidity 中,有两种类型的循环语句:for 循环和 while 循环,它们分别指定在执行期间需要重复执行的语句块。
Solidity 的循环语句与 Java、C++ 等语言类似。
for 循环 
for 循环在执行期间重复执行指定数量的语句块。其语法如下所示:
solidity
for ( initialization ; condition ; increment ) {
   statement(s);
}在语法中:
- initialization:初始化语句块设置起始值,通常为一个计数器变量。
- condition:条件语句块定义循环的结束条件,当条件为false时跳出循环。
- increment:增量语句块增加计数器变量的值。
- statement(s):运行在每次迭代期间需要执行的语句。
以下是一个 for 循环的运用场景,它向数组中添加元素:
solidity
// 添加元素到数组
pragma solidity ^0.5.0;
contract ForLoopExample {
    uint[5] public elements;
    function addElements() public {
        for (uint i = 0; i < elements.length; i++) {
            elements[i] = i + 1;
        }
    }
}在此示例中,我们从 0 开始,以增量的方式向数组 elements 添加元素,当 i 等于数组长度时循环将停止。
while 循环 
while 循环是定义一个满足条件的布尔表达式,只要该表达式的值为真,循环就会继续执行。while 循环的语法如下所示:
solidity
while(condition) {
   statement(s);
}在语法中:
- condition:条件语句块定义循环的结束条件,当条件为- false时跳出循环。
- statement(s):运行在每次迭代期间需要执行的语句。
以下是一个 while 循环的使用示例,该示例规定了数值计数器 n 小于 10,则累加所有数字:
solidity
pragma solidity ^0.5.0;
contract WhileLoopExample {
    uint public n = 0;
    uint public sum = 0;
    function addNumbers() public {
        while (n < 10) {
            sum += n;
            n++;
        }
    }
}在此示例中,我们定义了一个循环,当数字计数器 n 小于 10 时累加所有数字并增加计数器 n 的值。