课程表

Lua课程

工具箱
速查手册

Lua 流程控制

当前位置:免费教程 » 程序设计 » Lua

Lua 编程语言流程控制语句通过程序设定一个或多个条件语句来设定。在条件为 true 时执行指定程序代码,在条件为 false 时执行其他指定代码。

以下是典型的流程控制流程图:

控制结构的条件表达式结果可以是任何值,Lua认为false和nil为假,true和非nil为真。

要注意的是Lua中 0 为 true:

  1. --[ 0 true ]
  2. if(0)
  3. then
  4. print("0 为 true")
  5. end

在线运行实例

以上代码输出结果为:

  1. 0 true

Lua 提供了以下控制结构语句:

语句描述
if 语句 if 语句 由一个布尔表达式作为条件判断,其后紧跟其他语句组成。
if...else 语句 if 语句 可以与 else 语句搭配使用, 在 if 条件表达式为 false 时执行 else 语句代码。
if 嵌套语句你可以在ifelse if中使用一个或多个 ifelse if 语句 。

if 语句

Lua if 语句 由一个布尔表达式作为条件判断,其后紧跟其他语句组成。

Lua if 语句语法格式如下:

  1. if(布尔表达式)
  2. then
  3. --[ 在布尔表达式为 true 时执行的语句 --]
  4. end

在布尔表达式为 true 时会if中的代码块会被执行,在布尔表达式为 false 时,紧跟在 if 语句 end 之后的代码会被执行。

Lua认为false和nil为假,true 和非nil为真。要注意的是Lua中 0 为 true。

if 语句流程图如下:

实例

以下实例用于判断变量 a 的值是否小于 20:

  1. --[ 定义变量 --]
  2. a = 10;
  3.  
  4. --[ 使用 if 语句 --]
  5. if( a < 20 )
  6. then
  7. --[ if 条件为 true 时打印以下信息 --]
  8. print("a 小于 20" );
  9. end
  10. print("a 的值为:", a);

在线运行实例

以上代码执行结果如下:

  1. a 小于 20
  2. a 的值为: 10

if...else 语句

Lua if 语句可以与 else 语句搭配使用, 在 if 条件表达式为 false 时执行 else 语句代码块。

Lua if...else 语句语法格式如下:

  1. if(布尔表达式)
  2. then
  3. --[ 布尔表达式为 true 时执行该语句块 --]
  4. else
  5. --[ 布尔表达式为 false 时执行该语句块 --]
  6. end

在布尔表达式为 true 时会if中的代码块会被执行,在布尔表达式为 false 时,else 的代码块会被执行。

Lua认为false和nil为假,true 和非nil为真。要注意的是Lua中 0 为 true。

if 语句流程图如下:

实例

以下实例用于判断变量 a 的值:

  1. --[ 定义变量 --]
  2. a = 100;
  3. --[ 检查条件 --]
  4. if( a < 20 )
  5. then
  6. --[ if 条件为 true 时执行该语句块 --]
  7. print("a 小于 20" )
  8. else
  9. --[ if 条件为 false 时执行该语句块 --]
  10. print("a 大于 20" )
  11. end
  12. print("a 的值为 :", a)

在线运行实例

以上代码执行结果如下:

  1. a 大于 20
  2. a 的值为 : 100

if...elseif...else 语句

Lua if 语句可以与 elseif...else 语句搭配使用, 在 if 条件表达式为 false 时执行 elseif...else 语句代码块,用于检测多个条件语句。

Lua if...elseif...else 语句语法格式如下:

  1. if( 布尔表达式 1)
  2. then
  3. --[ 在布尔表达式 1 true 时执行该语句块 --]
  4.  
  5. elseif( 布尔表达式 2)
  6. then
  7. --[ 在布尔表达式 2 true 时执行该语句块 --]
  8.  
  9. elseif( 布尔表达式 3)
  10. then
  11. --[ 在布尔表达式 3 true 时执行该语句块 --]
  12. else
  13. --[ 如果以上布尔表达式都不为 true 则执行该语句块 --]
  14. end

实例

以下实例对变量 a 的值进行判断:

  1. --[ 定义变量 --]
  2. a = 100
  3.  
  4. --[ 检查布尔条件 --]
  5. if( a == 10 )
  6. then
  7. --[ 如果条件为 true 打印以下信息 --]
  8. print("a 的值为 10" )
  9. elseif( a == 20 )
  10. then
  11. --[ if else if 条件为 true 时打印以下信息 --]
  12. print("a 的值为 20" )
  13. elseif( a == 30 )
  14. then
  15. --[ if else if condition 条件为 true 时打印以下信息 --]
  16. print("a 的值为 30" )
  17. else
  18. --[ 以上条件语句没有一个为 true 时打印以下信息 --]
  19. print("没有匹配 a 的值" )
  20. end
  21. print("a 的真实值为: ", a )

在线运行实例

以上代码执行结果如下:

  1. 没有匹配 a 的值
  2. a 的真实值为: 100

if 嵌套语句

Lua if 语句允许嵌套, 这就意味着你可以在一个 if 或 else if 语句中插入其他的 if 或 else if 语句。

Lua if 嵌套语句语法格式如下:

  1. if( 布尔表达式 1)
  2. then
  3. --[ 布尔表达式 1 true 时执行该语句块 --]
  4. if(布尔表达式 2)
  5. then
  6. --[ 布尔表达式 2 true 时执行该语句块 --]
  7. end
  8. end

你可以用同样的方式嵌套 else if...else 语句。

实例

以下实例用于判断变量 a 和 b 的值:

  1. --[ 定义变量 --]
  2. a = 100;
  3. b = 200;
  4.  
  5. --[ 检查条件 --]
  6. if( a == 100 )
  7. then
  8. --[ if 条件为 true 时执行以下 if 条件判断 --]
  9. if( b == 200 )
  10. then
  11. --[ if 条件为 true 时执行该语句块 --]
  12. print("a 的值为 100 b 的值为 200" );
  13. end
  14. end
  15. print("a 的值为 :", a );
  16. print("b 的值为 :", b );

在线运行实例

以上代码执行结果如下:

  1. a 的值为 100 b 的值为 200
  2. a 的值为 : 100
  3. b 的值为 : 200
转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号