决策语句

收藏362

阅读11225

更新时间2025-08-27

决策结构要求程序员指定一个或多个要由程序评估或测试的条件,以及在确定条件为 true 时要执行的一条或多条语句,以及可选的其他要执行的语句。 如果确定条件为 false,则执行。

下面显示的是大多数编程语言中典型决策结构的一般形式 −

决策
Sr.No 语句 & 描述
1

if 语句

if 语句由一个布尔表达式后跟一个或多个语句组成。

2

if...else 语句

if 语句后面可以跟一个可选的 else 语句,该语句在布尔表达式为 false 时执行。

3

else...if 和嵌套 if 语句

您可以在另一个 ifelse if 语句中使用一个 ifelse if 语句 。

4

match 语句

match 语句允许根据值列表测试变量。

If 语句

if…else 构造在执行代码块之前评估条件。

语法

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

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

fn main(){
   let num:i32 = 5;
   if num > 0 {
      println!("number is positive") ;
   }
}

上面的示例将打印 number is Positive,因为 if 块指定的条件为 true。

if else 语句

if 后面可以跟一个可选的 else 块。 如果 if 语句测试的布尔表达式的计算结果为 false,则 else 块将执行。

语法

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

流程图

流程图

if 块条件表达式。 如果布尔表达式的计算结果为 true,则执行与 if 语句关联的块。

if 块后面可以跟一个可选的 else 语句。 如果表达式的计算结果为 false,则执行与 else 块关联的指令块。

示例 - 简单的 if...else

fn main() {
   let num = 12;
   if num % 2==0 {
      println!("Even");
   } else {
      println!("Odd");
   }
}

上面的示例打印变量中的值是偶数还是奇数。 if 块检查该值是否能被 2 整除以确定是否相同。 这是上面代码的输出 −

Even

嵌套 If

else…if 梯子对于测试多个条件很有用。 语法如下所示 −

语法

if boolean_expression1 {
   //如果表达式 1 的计算结果为 true 的语句
} else if boolean_expression2 {
   //如果表达式2 的计算结果为 true 的语句
} else {
   //如果表达式 1 和表达式 2 的结果都为 false 的语句
}

使用 if...else...if 和 else 语句时,需要记住以下几点。

  • if 可以有零个或一个 else,并且它必须位于任何 else..if 之后。
  • 一个 if 可以有零到多个 else..if,并且它们必须位于 else 之前。
  • 一旦 else..if 成功,其余的 else..if 或 else 都不会被测试。

示例:else...if

fn main() {
   let num = 2 ;
   if num > 0 {
      println!("{} is positive",num);
   } else if num < 0 {
      println!("{} is negative",num);
   } else {
      println!("{} is neither positive nor negative",num) ;
   }
}

该代码段显示该值是正数、负数还是零。

输出

2 is positive

match 语句

match 语句检查当前值是否与值列表中的值匹配,这与 C 语言中的 switch 语句非常相似。 首先,请注意 match 关键字后面的表达式不必括在括号中。

语法如下所示。

let expressionResult = match variable_expression {
   constant_expr1 => {
      //statements;
   },
   constant_expr2 => {
      //statements;
   },
   _ => {
      //default
   }
};

在下面给出的示例中,state_code 与值列表 MH、KL、KA、GA 匹配 − 如果找到任何匹配项,则将字符串值返回到变量state。 如果未找到匹配项,则默认情况 _ 匹配并返回值 Unkown

fn main(){
   let state_code = "MH";
   let state = match state_code {
      "MH" => {println!("Found match for MH"); "Maharashtra"},
      "KL" => "Kerala",
      "KA" => "Karnadaka",
      "GA" => "Goa",
      _ => "Unknown"
   };
   println!("State name is {}",state);
}

输出

Found match for MH
State name is Maharashtra

相关

视频

RELATED VIDEOS

更多

免费

phpStudy极速入门视频教程

免费

Midjourney基础课程
初级 Midjourney基础课程

11149次学习

收藏

免费

极客学院Git使用视频教程

免费

尚观shell视频教程
高级 尚观shell视频教程

15709次学习

收藏

免费

尚观Linux入门视频教程
初级 尚观Linux入门视频教程

42887次学习

收藏

免费

尚观Linux初级视频教程
初级 尚观Linux初级视频教程

40264次学习

收藏

免费

尚观Linux中级视频教程
中级 尚观Linux中级视频教程

48298次学习

收藏

免费

尚观Linux高级视频教程
高级 尚观Linux高级视频教程

41982次学习

收藏

科技资讯

更多

精选课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时

61.7万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时

39.3万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时

70.9万人学习

独孤九贱(1)_HTML5视频教程
独孤九贱(1)_HTML5视频教程

共25课时

61.6万人学习

独孤九贱(2)_CSS视频教程
独孤九贱(2)_CSS视频教程

共22课时

23万人学习

独孤九贱(3)_JavaScript视频教程
独孤九贱(3)_JavaScript视频教程

共28课时

33.9万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时

125万人学习

关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号