Swift2.0(8)分支循环
admin
2023-02-10 07:40:08
0
  • 分支语句

if语句的格式:

     if  条件 {}  else {}

     if  条件 {}  else if 条件 {}  else {}

     条件要求是一个Bool类型的值

     Swift要求{}中只有一条语句,{}也不能省略

switch语句的格式:

     switch 分支因子 {

     case 值1:

          响应1

     case 值2,

              值3:

               响应2和3

      ...

     default:

          其他处理

     }

     Swift中case语句不需要用break结尾

case可以支持:

     简单的字面值,如:

     var cardType = "大陆通行证"

     switch cardType {

     case "大陆通行证":

         print("请去1号柜台办理")

     case "台湾通行证":

         print("请去2号柜台办理")

     case "美国通行证","日本通行证":

         print("请去3号柜台办理")

     default:

         print("请去4号柜台办理")

     }

     元组,如:

     var stu = ("东大", 2014)

     switch stu {

     case ("东大", _):

         print("东北大学 2014")

     case ("沈师", _):

         print("沈阳师范大学 2013")

     case ("辽大", _):

         print("辽宁大学 2015")

     default:

         print("其他")

     }

     区间,如:

     var ascii:Int = 50

     switch ascii {

     case 48..<58:

         print("数字")

     case 65...90,97...122:

         print("字母")

     default:

         print("符号")

     }

     值绑定和条件值绑定,如:

     var pos = (110, 10)

     switch pos {

     case let (x, 20):

         print("坐标:(\(x),20)")

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

         print("坐标对角线:(\(x):\(y))")

     case let (x, y) where x<20 || x>100:

         print("不再中心位置:(\(x):\(y))")

     default:

         print("其他位置")

     }

     let (x, 20) 是“值绑定”

     let (x, y) where x ==y 是“条件绑定”

     “值绑定”还可以用于if语句


  • for循环

形式一:

     for 循环因子 in 集合 {}

     循环因子,不需要let和var这样的关键字

     集合包括:数组、字典、区间等

形式二:

     for 初始化因子; 条件; 自变运算 {}

     这里的因子必须是变量


  • while循环

形式一:

     while 条件 {}

形式二:

     do {} while 条件


  • continue

用法一:

     单独的continue

用法二:

     continue Label

     如:

     for1: for a in 1...5 {

         for2: for b in 1...10 {

             if a == b {

                 continue for1

             }

             print("a=\(a) b=\(b)")

         }

     }

  • break

用法一:

     单独使用break

用法二:

     break Label

     for1: for a in 1...5 {

         for2: for b in 1...10 {

             if 3*a == b {

                 break for1

             }

             print("a=\(a) b=\(b)")

         }

     }

用法三:

     switch的case中,作为空行占位

     var pos = (110, 10)

     switch pos {

     case let (x, 20):

         print("坐标:(\(x),20)")

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

         print("坐标对角线:(\(x):\(y))")

     case let (x, y) where x<20 || x>100:

         break

     default:

         break

     }

  • fallthrogh

     用于实现C语言中,case后面没有break的情况

     var pos = (110, 10)

     switch pos {

     case let (x, 20):

         print("坐标:(\(x),20)")

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

         print("坐标对角线:(\(x):\(y))")

     case let (x, y) where x<20 || x>100:

         print("不再中心位置:(\(x):\(y))")

         fallthrough

     default:

         print("其他位置")

     }


相关内容

热门资讯

德国总理:美国正在被伊朗羞辱 德国之声4月27日报道,德国总理默茨在访问一所学校时表示,在当前的持续冲突中,伊朗领导层正试图羞辱美...
理响中国|“长”歌以行,风云激... 光阴如梭,东方潮阔。这里是中国的长三角,世界的长三角。无论过去、现在还是未来,这片土地都因时代而生,...
白宫:特朗普及其国安团队开会讨... 新华社华盛顿4月27日电 美国白宫新闻秘书莱维特27日在记者会上证实,总统特朗普及其国家安全团队当天...
人民日报刊文:日本放开杀伤性武... 日本放开杀伤性武器出口推高地缘冲突风险(国际论坛)常思纯《人民日报》(2026年04月28日 第 0...
医疗保障法草案二审:明确生育保... 满足多样化健康保障需求本报记者 彭 波4月27日,医疗保障法草案二审稿提请十四届全国人大常委会第二十...
天津一景区发生自转旋翼机事故1... 澎湃新闻记者 吕新文中国民用航空华北地区管理局4月22日公布《豪客通航“10•1”天津长芦汉盐旅游区...
卡塔尔埃米尔与美国总统特朗普通... 当地时间24日,卡塔尔埃米尔塔米姆与美国总统特朗普通电话,重点就中东地区局势以及伊朗与美国谈判问题交...
男子30年前被扣押2859克黄... 澎湃新闻记者 王鑫家住辽宁省大连市的潘永嘉近日向澎湃新闻反映称,三十年前,他在大连周水子机场被盖州市...
商务部:取消反制欧盟两家金融机... 中华人民共和国商务部令二〇二六年 第1号鉴于欧盟已取消对中国两家金融机构的制裁措施,现公布《关于取消...
过去24小时共有5艘船只通过霍... 总台记者当地时间24日获悉,过去24小时内,共有5艘船只通过霍尔木兹海峡,其中包括一艘伊朗油轮。(总...