条件语句
if / else
int score = 85;
if (score >= 90) {
print("优秀");
} else if (score >= 60) {
print("及格");
} else {
print("不及格");
}
switch / case
- 只能匹配 常量 值(和 Java 类似)。
case
必须以break
、return
或continue
结束。
var day = 3;
switch (day) {
case 1:
print("星期一");
break;
case 2:
print("星期二");
break;
default:
print("其他");
}
循环语句
for
for (int i = 0; i < 5; i++) {
print(i);
}
for-in
for (var item in ['a', 'b', 'c']) {
print(item);
}
forEach
['a', 'b', 'c'].forEach((e) => print(e));
while
/ do-while
int count = 0;
while (count < 3) {
print(count);
count++;
}
do {
print(count);
count--;
} while (count > 0);
跳转语句
break
:跳出循环或switch
continue
:跳过本次循环,进入下一次
for (var i = 0; i < 5; i++) {
if (i == 2) continue;
if (i == 4) break;
print(i);
}
labeled continue
labeled continue(带标签的 continue
)就是给某个循环加一个名字(标签),然后 continue
可以指定跳过的是哪个循环的当前迭代,而不仅仅是它所在的最近一层循环。
默认情况下:continue
只能跳过当前最近的循环剩余部分,进入它的下一次迭代。
但是:如果你有嵌套循环,并且你想直接跳到外层循环的下一次迭代,就需要给外层循环加一个标签,然后用 continue 标签名
来实现。
基本语法
labelName:
for (...) {
for (...) {
if (条件) {
continue labelName; // 跳过指定循环的剩余部分
}
}
}
案例
outerLoop: // 给外层循环起名 outerLoop
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 3; j++) {
if (j == 2) {
continue outerLoop; // 跳到 outerLoop 的下一次循环
}
print("i=$i, j=$j");
}
}
执行结果:
i=1, j=1
i=2, j=1
i=3, j=1
特殊控制结构
条件表达式(三元运算符)
var result = (score >= 60) ? "及格" : "不及格";
空安全操作
String? name;
print(name ?? "默认值"); // 如果 name 为 null,使用默认值
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 1909773034@qq.com