06. Dart 条件表达式

目录
文章目录隐藏
  1. if 语句
  2. if…else 语句
  3. else…if 语句块
  4. switch/case 语句

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)块。

执行上述代码后,将得到以下输出:

相当牛逼

「点点赞赏,手留余香」

0

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
码云笔记 » 06. Dart 条件表达式

发表回复