146,流程控制语句

来源:互联网 发布:外汇占款 知乎 编辑:程序博客网 时间:2024/05/22 20:23

1,Swift支持的流程结构

>循环结构:for,for-in,while,do-while

>选择结构:if,switch

注:所有语句都必须在大括号里面。

2,for-in和范围运算符

>取出范围里面所有的值

for v in 1...3{

    print(v);

}

//1

//2

//3

注:v是常量!

>如果不需要用到循环中的常量v,可以使用下划线_进行忽略

for _ in 1...3{

    print("******");

}

//******

//******

//******

3,while结构

>在while中,不需要在每一个case后面添加break,默认情况下,执行完case对应的代码后,自动退出switch

>在while中,每一个case后面,必须需要语句。

>在while中,必须处理所有的情况,case没法处理所有的情况下,必须加default,来处理剩余的情况,否则,编译器会报错

var grade:String ="B";

switch grade {

    case "A":

        print("优秀!");

    case "B":

        print("良好!");

    case "C":

        print("中等!");

    default:

        print("其他!");

}

//良好!

>一个case后面可以填写多个匹配条件,条件之间用逗号,隔开

var month:Int =12;

switch month {

    case 3,4,5:

        print("春天!");

    case 6,7,8:

        print("夏天!");

    case 9,10,11:

        print("秋天!");

    case 12,1,2:

        print("冬天!");

    default:

        print("其他!");

}

//冬天!

>case还可以匹配元组

//判断一个点是否咋爱蓝色的矩形框中

let point:(Int,Int)=(1,1);

switch point{

    case (0,0):

        print("这点在原点上");

    case (_,0):

        print("这点在x轴上");

    case (0,_):

        print("这点在y轴上");

    case (-2...2,-2...2):

        print("这点在矩形框内");

    default:

        print("这点在矩形框外");

}

//这点在矩形框内


注:_的作用:能匹配任何值,忽略对应位置元组元素

>在case匹配的同时,可以将switch中的值绑定给一个特定的常量或变量,以便以后可以用

//判断一个点是否咋爱蓝色的矩形框中

let point:(Int,Int)=(1,21);

switch point{

    case (0,0):

        print("这点在原点上");

    case (let x,0):

        print("这点在x轴上,值为\(x)");

    case (0,let y):

        print("这点在y轴上,值为\(y)");

    case let(x,y):

        print("这个点的x值为\(x)y值为\(y)");

}

//这个点的x值为1y值为1

>switch可以使用where添加判断条件

//判断一个点是在某条线上

let point:(Int,Int)=(1,1);

switch point{

    case let(x,y) where x == y:

        print("这点在绿线上");

    case let(x,y) where x == -y:

        print("这点在紫色线上");

    case let(x,y):

        print("这个点不在线上");

}

//这点在绿线上

>fallthrough(穿过)作用:执行完当前case后,接着执行fall through后面的case或default

var grade:String ="B";

switch grade {

case "A":

    print("优秀!");

case "B":

    print("良好!");

    fallthrough

case "C":

    print("中等!");

default:

    print("其他!");

}

//良好!

//中等!

>标签的作用:可以用于明确指定退出哪个循环

stop:

for _ in 1...2

{

    for _ in 1...3

    {

        print("做引体向上")

        break stop;

    }

    print("休息一下")

}


0 0
原创粉丝点击