Cog
  • 首页
  • 导论
    • 脚本
    • 指令
  • 配方
    • 物品
    • 标签
    • 原版配方修改
    • 模组配方修改
    • 通用配方修改
    • 配方材料替换
  • ZenCode
    • 数据类型
    • 运算符
    • if
    • switch
    • 循环
    • 数组
    • List
    • 映射
    • 数学函数
    • 函数
    • lambda 表达式
    • 预处理器
    • OOP
      • 自定义类
      • 拓展类
      • 空类型安全
      • 运算符重载
      • 泛型
    • 变量代理
  • 高级运用
    • Tooltip
    • 属性修改
    • 物品条件
    • 物品转换器
    • 配方函数
    • 事件
    • 全局战利品修饰器
      • 战利品修饰器
      • 方块掉落修改
      • 实体掉落修改
      • 战利品修饰器管理器
  • ContentTweaker
    • 前言
    • 资源文件
    • 物品
    • 方块
    • 流体
    • 创造标签
    • 高级运用
由 GitBook 提供支持
在本页
  • for 循环
  • while 循环
  • 增强 for 循环(foreach)
  • break 与 continue

这有帮助吗?

  1. ZenCode

循环

for 循环

for 循环允许一段代码多次执行,同时能增强脚本的可读性。

让我们看看一个普通 for 循环如何使用:

for i in 0 .. 10 {
    println(i);
}

// println 函数都会被执行 10 次,同时依次输出: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9。

其中:

i 是一个变量,每次循环结束,它的数值都会 +1。从 0 开始,直到 10 结束,但不包括 10。 每次循环都会执行大括号内的语句,你也可以写多条语句。

使用 for 循环来遍历一个数组:

var numbers as int[] = [2,4,8,16,32,64];
for i in 0 .. numbers.length {
    println(numbers[i]);
}
// 输出 2, 4, 8, 16, 32, 64

var items as IItemStack[] = [
    <minecraft:iron_ingot>,
    <minecraft:gold_ingot>,
    <minecraft:diamond>
];
for i in 0 .. items.length {
    println(items[i].displayerName);
}
// 输出 铁锭,金锭,钻石

while 循环

while 循环也可以多次执行代码,当小括号内的判断表达式为 true时,便会执行大括号内的语句,然后再次判断表达式,true则继续循环,false则不执行循环。

var i as int = 0;
while(i <= 10) {
    print(i);
    i = i + 1;
}
// print() 函数会执行 11 次,依次输出 i 为: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

var j as int = 10;
while(j >= 0) {
    print(j);
    j = j - 1;
}
// print() 函数会执行 11 次,依次输出 j 为:10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0

增强 for 循环(foreach)

增强 for 循环用来遍历数组或集合,可读性高,不需要下标,遍历每一个元素。

// 定义一个数组并遍历
var numbers as int[] = [2,4,8,16,32,64];
for number in numbers {
    print(number);
}

break 与 continue

  • break与continue都可以在 for 循环和 while 循环中使用。

  • 执行到break语句后将直接结束当前循环。

for i in 0 .. 5 {
    if(i == 3) break; 
    print(i);
}
// i 等于 3 时,执行 break,结束循环
// 输出 0, 1, 2
  • 执行到continue语句后,跳出本次循环,并进入下一次循环。

for i in 0 .. 5 {
    if(i == 3) continue; 
    print(i);
}
// i 等于 3 时,执行 continue,跳出当前循环,并进入下一次循环
// 输出 0, 1, 2, 4, 5
上一页switch下一页数组

最后更新于3年前

这有帮助吗?