swift 流程控制

//

//  main.swift swift

//  swift流程控制 数组

// 函数

//  Created by zhangbiao on 14-6-13. 测试

//  Copyright (c) 2014 理想. All rights reserved. spa

// .net


import Foundation code


// swift 流程控制 blog


/* 生命周期

swift 流程控制主要分为顺序   分支   循环 字符串

1.顺序:从上到下依次执行,遇到函数调用,调用完毕函数继续执行


2.分支:根据分支条件进行分支

      1if{} else{}

      2switch {case:...}


3.循环:循环执行,遇到结束条件

      1while  do{} while

      2 for in  for(){}

4.循环分支中,控制流程的四个关键字 continue  break  fallthrough  return(多用于函数中) 相关说明




*/


func testfunc()

{

    

    

//1.顺序(略)---------------------------------------------------------------------------------------

    

//2.分支--------------------------------------------------------------------------------------------

    //声明一个Bool 类型的变量 赋值为true

    var bgen:Bool = true


    //分支

    if(bgen)

    {

        println(bgen);

    }else

    {

        println(bgen);

    }

    

    //分支 switch {case:...}

    /*

     特色:(1)支持任意类型的数据以及各类比较操做(不单单是整数以及测试相等)

          (2)运行switch中匹配到的子句以后,程序会退出switch语句 ,并不会继续向下运行,因此不须要在每一个子句结尾写break  若是想继续执行 在原来break 的位置写 fallthrough  便可

    */

    

    

    

    ////switch ()中的值能够是Int

   var value=123;

    switch(value)

    {

    case 123:

        println("1")

        

        fallthrough//继续执行

    case 2:

        println("2")

    

    case 3:

        println("3")

    default:

        println("没有匹配的")

    }

    

    

    //switch ()中的值能够是字符串

    switch("理想")

        {

    case "理想":

        println("理想")

        

    case "理想2":

        println("理想2")

        

    case "理想3":

        println("理想3")

    default:

        println("没有匹配的字符")

    }

    

    

    //case 中能够有多个匹配项

    switch("abc")

    {

    case "123":

        println("123");

        

    case "456","abc":

        println("123  abc ");

        

    default:

        println("没有找到合适的匹配");

    }

    

    

    //   比较操做   hasSuffix 函数是判断字符字符串是否是以其参数结尾

    switch("理想 and swift")

    {

    case let x  where x.hasSuffix("swift"):  // 注意此时的 x 的值就是switch()中的值where 额外的判断条件

        println("swift");

    case  "理想":

        println("理想");

    default:

        println("me");

    }

    

//2.循环--------------------------------------------------------------------------------------------

    //循环

    //while(){}  do{}while()  重复运行一段代码直到不知足条件。循环条件能够在开头也能够在结尾

    

    var i:Int = 0;

    while( i<10)

    {

        i++;

        println(i);

    }


    do

    {

    i--;

        println(i);

        

    }while(i>0);

   

    

    

    

    //for in 

    //使用for-in循环来遍历一个集合里面的全部元素,例如由数字表示的区间、数组中的元素、字符串中的字符

    

     for index in 1...5

    {

        println("index=\(index)");

        

    }

    //解释... 区间的意思    1...5 的意思 [1,5]  1..5 的意思  [1,5)    index是一个每次循环遍历开始时被自动赋值的常量。这种状况下,index在使用前不须要声明,只须要将它包含在循环的声明中,就能够对其进行隐式声明,而无需使用let关键字声明。 index常量只存在于循环的生命周期里。若是你想在循环完成后访问index的值,又或者想让index成为一个变量而不是常量,你必须在循环以前本身进行声明。

    

    //若是你不须要知道区间内每一项的值,你可使用下划线(_)替代变量名来忽略对值的访问

    var num=0;

    for _ in 1...5

    {

        num++;

        println("num =\(num)");

    }


    //遍历字符

    for str in "ABCDE"

    {

        println("str=\(str)");

    }

    

    

    

    //for(){  }

    

    for(var i=0; i<10; i++)

    {

        println("i=\(i)");

        

    }

    

    

//4.循环分支中,控制流程的四个关键字说明--------------------------------------------------------------------------------------------

  

    //continue语句告诉一个循环体马上中止本次循环迭代,从新开始下次循环迭代。就好像在说本次循环迭代我已经执行完了,可是并不会离开整个循环体。

    

   //break语句会马上结束整个控制流的执行。当你想要更早的结束一个switch代码块或者一个循环体时,你均可以使用break语句。当在一个switch代码块中使用break时,会当即中断该switch代码块的执行,而且跳转到表示switch代码块结束的大括号(})后的第一行代码。

    

    

  //fallthrough  fallthrough关键字不会检查它下一个将会落入执行的 case 中的匹配条件。fallthrough简单地使代码执行继续链接到下一个 case 中的执行代码,这和 C 语言标准中的switch语句特性是同样的

    

  //return  在函数中具体讲

    

    

}


// 调用函数

testfunc();


//执行结果:

true

1

2

理想

123  abc 

swift

1

2

3

4

5

6

7

8

9

10

9

8

7

6

5

4

3

2

1

0

index=1

index=2

index=3

index=4

index=5

num =1

num =2

num =3

num =4

num =5

str=A

str=B

str=C

str=D

str=E

i=0

i=1

i=2

i=3

i=4

i=5

i=6

i=7

i=8

i=9

Program ended with exit code: 0

相关文章
相关标签/搜索