06. Dart 条件表达式
if 语句
if
语句由一个布尔表达式后跟一个或多个语句组成。
if 语句在执行代码块之前评估条件,以下是 if 语句的语法。
if(boolean_expression){ // statement(s) will execute if the boolean expression is true. }
如果布尔表达式(boolean_expression
)的计算结果为true
,则将执行if
语句中的代码块。如果布尔表达式(boolean_expression
)的计算结果为false
,则将执行if
语句结束后(在结束大括号之后)的第一组代码。
示例
以下示例显示如何在 Dart 中使用if
语句 –
void main() { var num=5; if (num>0) { print("这是一个正数值"); } }
执行上面示例代码,得到以下结果:
这是一个正数值
if…else 语句
if 语句后面跟一个可选的else
块。如果if
块测试的布尔表达式求值为false
,则执行else
块。
以下是if...else
语句块的语法。
if(boolean_expression){ // statement(s) will execute if the Boolean expression is true. } else { // statement(s) will execute if the Boolean expression is false. }
如果布尔表达式的计算结果为true
,则执行if
代码块,否则执行else
代码块。
if
块保护条件表达式。如果布尔表达式的计算结果为true
,则执行与if
语句关联的块。if
块后面可以跟一个可选的else
语句块。如果表达式的计算结果为false
,则执行与else
块关联的指令块。
示例
以下示例打印变量中的值是偶数还是奇数。if
块检查值除以2
以确定是偶数还是奇数。
void main() { var num = 12; if (num % 2==0) { print("偶数"); } else { print("奇数"); } }
执行上面示例代码,得到以下结果:
偶数
else…if 语句块
Dart else…if 语句块可用于测试多个条件。如以下语法所示:
if (boolean_expression1) { //statements if the expression1 evaluates to true } else if (boolean_expression2) { //statements if the expression2 evaluates to true } else { //statements if both expression1 and expression2 result to false }
使用if...else
语句时,需要记住几点 –
- 一个
if
可以有零个或一个else
语句块,它必须在else...if
之后出现。 - 一个
if
可以有零到多个else...if
语句块,它们必须在else
语句之前。 - 一旦有一个
else...if
匹配成功,剩下的else…if
或者else
都不会被测试。
示例
以下程序代码检查给定值是正数,负数还是零。
void main() { var num = 2; if(num > 0) { print("${num} is positive"); } else if(num < 0) { print("${num} is negative"); } else { print("${num} is neither positive nor negative"); } }
执行上面示例代码,得到以下结果
2 is positive
switch/case 语句
switch
语句计算表达式,并将表达式的值与case
子句指定的值匹配,然后执行与该case
相关的语句。
以下是 switch/case 语句的语法。
switch(variable_expression) { case constant_expr1: { // statements; } break; case constant_expr2: { //statements; } break; default: { //statements; } break; }
针对 switch 语句中的所有case
测试variable_expression
的值。如果变量与其中一个case
匹配,则执行相应的代码块。如果case
表达式与variable_expression
的值不匹配,则执行default
块中的代码。
以下规则适用于switch
语句 –
switch
中可以有任意数量的case
语句。case
语句只能包含常量,它不能是变量或表达式。variable_expression
和常量表达式的数据类型必须匹配。- 除非你在每个代码块之后放置
break
语句,否则执行会流入下一个break
块。 case
表达式必须是唯一的。default
块是可选的。
示例
void main() { var grade = "A"; switch(grade) { case "A": { print("相当牛逼"); } break; case "B": { print("厉害"); } break; case "C": { print("一般"); } break; case "D": { print("二愣子"); } break; default: { print("Invalid choice"); } break; } }
该示例根据常量集(A,B,C,D 和 E)验证变量等级的值,并执行相应的块。如果变量中的值与上面提到的任何常量都不匹配,则将执行默认(default
)块。
执行上述代码后,将得到以下输出:
相当牛逼
码云笔记 » 06. Dart 条件表达式