首页 > 代码库 > 第四篇:控制语句

第四篇:控制语句

控制语句有三种

  1. 分支语句:if
  2. 循环语句:while 、repeat 、for
  3. 与程序转移有关的跳转语句:break 、 return

 

  1. 分支语句

    --if结构

    if 表达式 then

        语句块(在表达式为真的时候得到执行)

    end

    --if else结构

    if 表达式 then

    语句块(在表达式为的时候得到执行)

    else

         语句块(在表达式为的时候得到执行)

    end

    --if elseif 结构

    if 表达式一 then

    语句块(在表达式一为的时候得到执行)

    elseif 表达式二 then

    语句块(在表达式一为 而且表达式二为的时候得到执行)

    else

    语句块(在表达式一、二都为假的时候执行)

    end

  2. 循环语句
    1. while

        先判断在循环

          初始化语句

     while 表达式 do

     语句块(表达式为真则执行)

     迭代语句 (用于改变循环变量)

     end

       i = 1 –-初始化语句

       while i*i <100 do

       print(i) –-语句块

       i=i+i --迭代语句

     end

     --以下为输出结果

     1

     2

     4

     8

       2.repeat

          先执行在判断(类似于java中的do while

        初始化语句

        repeat

            语句块

            迭代语句

              until 表达式

              i = 1 --初始化语句

        repeat

                  print(i) --语句块

                  i=i+i     --迭代语句

        until i*i>100 --表达式为真则退出循环

 

        3.for

          典型for语句

              for var=exp1,exp2,exp3 do

                    body

              end

              var为循环变量

              exp1为初始值

              exp2为末值

              exp3为增长量(可忽略,默认为1

        for i=1 , 10 , 2 do

          print (i)

        end

        --以下是输出结果

        1

        3

        5

        7

        9

          迭代 for-in 语句

                迭代语句可以很好的帮我们遍历数组(table类型)

                ipairs 遍历从1 开始直到为 nil i的整数值

                        比如 arr={[1]="hello",[3]="world"}

                        那么只能遍历出1的值

                pairs 遍历所有值

      for i,v in ipairs(a) do

                    body

                end

 

                  local arr={Hello="Wolrd",[1]=11,[2]=12,[4]=13}

    for key, var in ipairs(arr) do

                        print(key.." : "..var)

    end

    --结果值

     1 : 11

    2 : 12

 

  3.跳转语句

 

      1.break语句

        强行退出循环结构,不执行循环结构中的剩下的语句

        for i=1,10,3 do

          if(i%2==0) then

              break

          end

          print(i)

           end

      2.return

        return 语句可以从当前的函数中退出,返回到调用该函数的语句处  

        返回语句有两种格式

        return expression --可以返回带参数

        return          --可以直接返回

第四篇:控制语句