Dart-条件判断

  目录

条件/决策构造在执行指令之前评估条件。
条件语句下表是Dart中的条件语句

语句说明
if 语句一个if语句由一个布尔表达式后跟一个或多个语句
if...else 语句一个 if 可以跟一个可选的 else 块
else...if 语句else…if 可用于检测多个条件
switch…case语句switch语句计算表达式,将表达式的值与case子句匹配,
并执行与该case相关的语句

 

if语句

 
if … else 语句在执行的代码块之前判断条件。
以下是语法。

if(boolean_expression){
   // 如果布尔表达式为true,则将执行语句。
}

如果布尔表达式的计算结果为 true ,则将执行if语句中的代码块。如果布尔表达式的计算结果为 false ,则将执行if语句结束后(在结束大括号之后)的第一组代码。

 var  num=5;
 if (num>0) {
    print("number is positive");
 } 

输出结果:

number is positive

 

if...else 语句

 
if后面可以跟一个可选的else块。如果if块测试的布尔表达式求值为false,则执行else块。以下是语法。

if(boolean_expression){
   // 如果布尔表达式为true,则将执行语句。
} else {
   // 如果布尔表达式为false,则将执行语句。
}

如果布尔表达式的计算结果为true,则将执行if代码块,否则将执行代码块。下图显示了if … else语句的流程图。
if-elseif块保护条件表达式。如果布尔表达式的计算结果为true,则执行与if语句关联的块。if块后面可以跟一个可选的else语句。如果表达式的计算结果为false,则执行与else块关联的指令块。

   var num = 12;
   if (num % 2==0) {
      print("Even");
   } else {
      print("Odd");
   }

输出结果:

Even

 

else...if 语句

 
在 else…if 可用于检测多个条件。以下是相同的语法。

if (boolean_expression1) {
   //如果expression1的计算结果为true,则返回语句
}
else if (boolean_expression2) {
   //如果expression2的计算结果为true,则返回语句
}
else {
   //如果expression1和expression2都为false,则为语句
}

使用 if … else 语句时,请记住几点。

  • 一个 if 可以有零或一个 else ,它必须在任何 else…if 之后。
  • 一个 if 可以有0到多个 else…if ,他们必须在 else 之前。
  • 一旦 else…if 成功,剩下的 else…if 或 else 将不被执行。

示例 - else…if

   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 语句

 
switch语句计算表达式,将表达式的值与case子句匹配,并执行与该case相关的语句。
以下是语法。

switch(variable_expression) {
   case constant_expr1: {
      // statements;
   }
   break;

   case constant_expr2: {
      //statements;
   }
   break;

   default: {
      //statements;  
   }
   break;
}

针对switch中的所有情况测试 variable_expression 的值。如果变量与其中一种情况匹配,则执行相应的代码块。如果case表达式与variable_expression的值不匹配,则默认块中的代码将关联。

以下规则适用于switch语句

  • switch中可以有任意数量的case语句。
  • case语句只能包含常量。它不能是变量或表达式。
  • variable_expression和常量表达式的数据类型必须匹配。
  • 除非你在每个代码块之后放置一个中断,否则执行会流入下一个块。
  • case表达式必须是唯一的。
  • 默认块是可选的。

switch ... case 语句的流程图如下
在这里插入图片描述示例 - switch…案例

 var grade = "A";
 switch(grade) {
    case "A": {  print("Excellent"); }
    break;

    case "B": {  print("Good"); }
    break;

    case "C": {  print("Fair"); }
    break;

    case "D": {  print("Poor"); }
    break;

    default: { print("Invalid choice"); }
    break;
 }

该示例根据常量集(A,B,C,D和E)验证变量等级的值,并执行相应的块。如果变量中的值与上面提到的任何常量都不匹配,则将执行默认

成功执行上述代码后,将显示以下输出 。

Excellent

 


参考链接:

https://www.codingdict.com/article/21916

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值