仓颉编程语言 - 循环语句详解(for/while)
·

循环语句是编程中最基础也是最重要的控制结构之一。在仓颉(Cangjie)编程语言中,循环语句为开发者提供了灵活而强大的迭代能力。本文将深入探讨仓颉语言中的两种主要循环结构:for循环和while循环。
二、while循环 🔄
2.1 基本语法
while循环是最基础的循环结构,它会在条件为真时持续执行代码块。
while (条件表达式) {
// 循环体
}
2.2 使用示例
示例1:基础计数
var count = 0
while (count < 5) {
println("当前计数: ${count}")
count++
}
示例2:条件判断
var sum = 0
var num = 1
while (sum < 100) {
sum += num
num++
}
println("总和达到100时的数字: ${num}")
2.3 while循环的特点
- ✅ 先判断条件,再执行循环体
- ✅ 适合循环次数不确定的场景
- ✅ 需要手动管理循环变量
- ⚠️ 注意避免无限循环
三、for循环 🎯
3.1 传统for循环
类似于C/Java风格的for循环结构。
for (初始化; 条件; 更新) {
// 循环体
}
示例:
for (var i = 0; i < 10; i++) {
println("第 ${i} 次迭代")
}
3.2 for-in循环(范围遍历)
仓颉提供了更简洁的范围遍历语法。
// 遍历范围
for (i in 0..10) {
println(i) // 输出 0 到 9
}
// 包含结束值
for (i in 0..=10) {
println(i) // 输出 0 到 10
}
// 指定步长
for (i in 0..10:2) {
println(i) // 输出 0, 2, 4, 6, 8
}
3.3 集合遍历
let numbers = [1, 2, 3, 4, 5]
// 遍历数组
for (num in numbers) {
println(num)
}
// 带索引遍历
for (index, value in numbers.enumerate()) {
println("索引 ${index}: 值 ${value}")
}
3.4 for循环的高级特性
条件过滤:
for (i in 0..100) {
if (i % 2 == 0) {
println("偶数: ${i}")
}
}
四、循环控制语句 🎮
4.1 break语句
立即终止循环,跳出循环体。
for (i in 0..100) {
if (i == 50) {
break // 当i等于50时退出循环
}
println(i)
}
4.2 continue语句
跳过当前迭代,继续下一次循环。
for (i in 0..10) {
if (i % 2 == 0) {
continue // 跳过偶数
}
println("奇数: ${i}")
}
五、循环的实际应用场景 💡
5.1 数据处理
let scores = [85, 92, 78, 95, 88]
var total = 0
for (score in scores) {
total += score
}
let average = total / scores.length
println("平均分: ${average}")
5.2 算法实现
示例:查找最大值
let numbers = [23, 45, 12, 67, 34, 89, 56]
var max = numbers[0]
for (num in numbers) {
if (num > max) {
max = num
}
}
println("最大值: ${max}")
5.3 嵌套循环
// 打印乘法表
for (i in 1..=9) {
for (j in 1..=i) {
print("${j} × ${i} = ${i*j}\t")
}
println()
}
六、性能优化建议 ⚡
6.1 选择合适的循环类型
- 已知迭代次数 → 使用 for 循环
- 条件驱动 → 使用 while 循环
- 集合遍历 → 使用 for-in 循环
6.2 避免常见陷阱
// ❌ 不推荐:在循环中修改集合大小
for (item in collection) {
collection.remove(item) // 可能导致错误
}
// ✅ 推荐:使用过滤或创建新集合
let filtered = collection.filter { item ->
// 条件判断
}
6.3 减少循环内的计算
// ❌ 不高效
for (i in 0..n) {
let result = expensiveOperation() // 每次都计算
process(result)
}
// ✅ 更高效
let result = expensiveOperation() // 只计算一次
for (i in 0..n) {
process(result)
}
七、for vs while:如何选择? 🤔
| 特性 | for循环 | while循环 |
|---|---|---|
| 适用场景 | 迭代次数明确 | 条件驱动 |
| 代码简洁性 | 更简洁 | 较冗长 |
| 可读性 | 更直观 | 逻辑更灵活 |
| 遍历集合 | 非常适合 | 需要手动处理 |
八、总结 📝
仓颉语言的循环语句提供了:
✨ 灵活性 - 多种循环形式满足不同需求
✨ 简洁性 - 现代化的语法设计
✨ 强大性 - 丰富的控制流选项
✨ 安全性 - 类型安全的迭代机制
掌握循环语句是成为仓颉编程高手的重要一步!继续加油!💪🌟
新一代开源开发者平台 GitCode,通过集成代码托管服务、代码仓库以及可信赖的开源组件库,让开发者可以在云端进行代码托管和开发。旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。
更多推荐


所有评论(0)