// // main.swift // Swift流程控制语句 // // Created by Goddog on 15/6/24. // copyright (c) 2015年 Goddog. All rights reserved. // import Foundation //MARK: - 顺序结构 //MARK: - 分支结构 //MARK: - -if条件语句 //注意一定要优先处理范围小的情况 ,下面得到“中年人” var age = 45 if age > 60 { println("老年人") } else if age > 40 { println("中年人") } else if age > 20 { println("青年人") } //MARK: - -switch分支语句 /** 1.任意一个case可以紧跟多个值,2.任意一个case执行完成之后会终止无需break语句,3.每一个case必须包含一条语句 4.用fallthrough惯穿,即继续往下走,5.也可以用break立刻结束 */ var score = "c" switch score { case "A","a": println("优秀") case "B","b": println("良好") case "C","c": println("中等") case "D","d": println("及格") case "F","f": println("重考") default: println("输入有误") } //switch的范围匹配 var myscore = 98 switch myscore { case 90...100: println("优秀") case 80...89: println("良好") case 70...79: println("中等") case 60...69: println("及格") case 0...60: println("不及格") default: break } //switch的元组匹配 //其中_是代表匹配所有可能的值 var somePoint = (x:1,y:-4) //代表第四象限 switch somePoint { case (0,0): println("(0,0)位于原点") case(_,0): println("(\(somePoint.0),0)位于x轴上") case(0,_): println("0,\(somePoint.1)位于y轴上") case(0...Int.max,0...Int.max): println("\(somePoint.0),\(somePoint.1) 位于第一象限") case(Int.min..<0,\(somePoint.1) 位于第二象限") case(Int.min..<0,Int.min..<0): println("\(somePoint.0),\(somePoint.1) 位于第三象限") case(0...Int.max,\(somePoint.1) 位于第四象限") default: break } //注意:范围越小的case块应该放在最前面 //case的值绑定:switch表达式的值绑定到临时的变量或常量,无需default结束了 var hisscore = 404 switch hisscore { case 91...100: println("优秀") case 80...89: println("良好") case 70...79: println("一般") case 60...69: println("及格") case 0..<60: println("挂科") case let scor: println("输入的\(scor)有误") } var somesPoint = (x : 1,y : 0) switch somesPoint { case (0,0): println("(0,0)位于原点") case (var x,0): println("位于x轴上的\(x)") case(0,var y): println("位于y轴上的\(y)") case(var x,var y): println("位于其他点\(x),\(y)") } //case的where子句 var somesPionts = (x : -1,y : 4) switch somesPionts { case (0,0)位于原点") case (var x,0): println("该点位于x轴上,其x值是:\(x)") case (0,var y): println("该点位于y轴上,其y值是:\(y)") case var (x,y) where x>0 && y>0: println("\(x),\(y)点位于第一象限") case var (x,y) where x<0 && y>0: println("\(x),\(y)位于第二象限") case var (x,y) where x<0 && y<0: println("\(x),\(y)位于第三象限") case var (x,y) where x>0 && y<0: println("\(x),\(y)位于第四象限") default: break } //MARK: -循环结构 //1.while循环 var count = 0 while count < 10 { println("count值是:\(count)") count++; } println("循环完成") //2.do..while循环 var counts = 1 do { println("counts的值是:\(counts)") counts++ } while counts < 10 //for循环 for var count=0; count<10;count++ { println("count:\(count)") } //for循环以外的地方使用变量的值 var tmp = 0 for var i = 0; i < 10; i++ { println("i的值是:\(i)") tmp = i } println("结束循环") //for - in循环:专门遍历字符串、范围、序列、集合等包含元素 var name = "huxu" for n in name { println(n) } //如果根据字符串长度确定循环次数,不要在循环体内遍历字符,用下划线_代替常量名 for _ in name { println("1") } println() //变量范围 var max = 5 var result = 1 for num in 1...max { result *= num } println("结果是:\(result)") //嵌套循环 for var i=0;i<5;i++ { for var j=0;j<3;j++ { println("i的值是:\(i),j的值是:\(j)") } } //控制循环结构 //Swift提供来continue和break来控制循环结构,return可以结束整个方法 for var i=0;i<10;i++ { println("i的值是:\(i)") if i == 2 { //执行循环结束语句 break } } //break不仅可以结束其所在循环,还可以直接结束其外层循环,在break后加一个标签 //外层循环,outer作为标志符 outer: for var i=0;i<5;i++ { //内循环 for var j=0;j<3;j++ { println("i的值是:\(i),j的值是:\(j)") if j==1 { //跳出outer标签所标致的循环 break outer } } } //使用continue忽略本次循环剩下的语句 for var i=0;i<3;i++ { println("i的值是\(i)") if i==1 { //忽略下面的语句 continue } println("没有打印哪个呢") } println("continue结束") //continue后可以紧跟一个标签 //用return结束方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。