条件控制

条件语句需要开发者通过指定一个或多个条件, 并通过测试条件是否为 true 来决定是否执行指定语句, 并在条件为 false 的情况在执行另外的语句.

Z1h语言提供了以下几种条件判断语句:

语句 描述
if 语句 if 语句 由一个布尔表达式后紧跟一个或多个语句组成.
if…else 语句 if 语句 后可以使用可选的 else 语句, else 语句中的表达式在布尔表达式为 false 时执行.
if 嵌套语句 你可以在 if 或 else if 语句中嵌入一个或多个 if 或 else if 语句.
switch 语句 switch 语句用于基于不同条件执行不同动作.

if

一个典型的if语句如下:

if (true) { // true改成false就不会输出了
	print('haha') // TODO
}

if判断的值不为null0false时, 会执行TODO代码块里的内容

TODO代码块只有一行时, 允许省略大括号

else

if条件未命中时, 会往下查找(多个)else if条件是否吻合, 如果所有的else if都不吻合, 且有else分支, 则执行else分支, 这一点和大多数语言相同

if (false) {
	print('haha')
} else if (true) {
	print('heihei')
} else {
	print('hihi')
}

建议在使用else时, 不要省略大括号

switch

一个典型的switch语句如下:

a = 3
switch (a) {
	case 1:
		print('One')
	case 2:
		print('Two')
	case 3:
		print('Three')
	default:
		print('Unknown')
}

依次判断switch的值是否与case相符, 相符则执行对应代码块, 否则执行default代码块(如果有的话)

fallthrough

switch语句中, 如果执行了吻合条件的代码块后, 不需要马上返回, 而是希望执行下一个case(或default), 可以使用fallthrough

a = 2
switch (a) {
	case 1:
		print('One')
	case 2:
		print('Two')
		fallthrough // 匹配case 2时, 也会执行case 3的代码块
	case 3:
		print('Three')
		// fallthrough // 删掉本行注释的话会继续执行default的代码块
	default:
		print('Unknown')
}