Swift教程之条件语句
2015-07-10 11:34
459 查看
//MARK:----if条件语句 //if let isOK = true if isOK { print("我好了") } else { print("我没好") } //三元运算符 var sex = isOK ? "男生":"女生" print(sex) //MARK:----switch条件语句 //当匹配的 case 分支中的代码执行完毕后,程序会终止switch语句 let charA: Character = "a" switch charA { case "a", "A": //如果想匹配多个条件,可以在一个case里面把多个条件用(,)隔开 print("The letter a") //每一个 case 分支都必须包含至少一条语句 case "A": print("The letter A") default: print("default") } //case 分支的模式也可以是一个值的区间范围 //使用范围匹配来输出任意数字对应的自然语言格式 let count = 3_000_000 var Str: String switch count { case 0: Str = "没有" case 1...9: Str = "个位" case 10...99: Str = "十位" case 100...999: Str = "百位" case 1000...9999: Str = "千位" default: Str = "万以上" } print("\(count)是\(Str)数") // 输出 "There are millions and millions of stars in the Milky Way. //用下划线(_)来匹配所有可能的值。 //使用一个(Int, Int)类型的元组来分类下图中的点(x, y) let point1 = (0, 3) switch point1 { case (0, 0): print("(0, 0)在原点") case (_, 0): print("(\(point1.0), 0) 在X轴上") case (0, _): print("(0, \(point1.1))在Y轴上") case (-2...2, -2...2): print("(\(point1.0), \(point1.1))在范围内") default: print("(\(point1.0), \(point1.1))范围之外") } //值绑定(Value Bindings) //在一个(Int, Int)类型的元组中使用值绑定来分类下图中的点(x, y) let point2 = (2, 3) switch point2 { //此时x只是一个占位符,用来临时的获取switch条件中的一个或多个值 case (let x, 0): print("在X轴上,值为 \(x)") case (0, let y): print("在Y轴上,值为 \(y)") case let (x, y): print("在(\(x), \(y))点") } // 输出 "在(2, 3)点” //MARK:----中断语句 //控制传递语句(Control Transfer Statements) //continue //停止本次循环,重新开始下次循环 let puzzleInput = "great minds think alike" var puzzleOutput = "" for character in puzzleInput.characters { switch character { case "a", "e", "i", "o", "u", " ": continue default: //输出字母 puzzleOutput.append(character) } } print(puzzleOutput) //Break //循环语句中的 break //中断循环体 for index in 0..<5 { if index == 2 { continue // break } print("index: \(index)") } //Switch 语句中的 break //中断switch代码块 let numberSymbol: Character = "三" var possibleIntegerValue: Int = 0 switch numberSymbol { //拉丁语、阿拉伯语、中文、泰语 case "1", "١", "一", "๑": possibleIntegerValue = 1 case "2", "٢", "二", "๒": possibleIntegerValue = 2 case "3", "٣", "三", "๓": possibleIntegerValue = 3 case "4", "٤", "四", "๔": possibleIntegerValue = 4 default: break } print("The integer value of \(numberSymbol) is \(possibleIntegerValue).") // 输出 "The integer value of 三 is 3. //贯穿(Fallthrough) //一般用于满足多个条件 //Swift 中的switch,执行一个case之后,想接着往下执行可以用fallthrough关键字 let number = 5 var description = "数字\(number)是" switch number { case 2, 3, 5, 7, 11, 13, 17, 19: //质数 description += "一个质数" fallthrough default: description += "也是一个整数" } print(description) // 输出 "数字5是一个质数也是一个整数" //标签的语句(Labeled Statements) /* 表明break或continue哪个循环体,循环嵌套的时候使用 */ //根据分数评等级,超过100分跳过,遇到负数停止 var score = [96, 83, 43, 101, 66, 70, -5, 99] //外层for循环体First First: for s in score { //定义标签First switch s/10 { case 10: continue First //使用标签,中断本次for循环 case 9: print("\(s)分为优秀") case 8: print("\(s)分为良好") case 6...7: print("\(s)分为中等") case 0: break First //使用标签,终止for循环 default: print("\(s)分为没及格") } }
相关文章推荐
- Swift教程之循环语句
- swift(五)swift的函数
- swift(四)swift的广义匹配
- Swift教程之枚举语法
- swift(三)字典数组操作
- Swift教程之结构体
- swift(二)swift字符串和字符和逻辑运算
- swift(二)swift字符串和字符和逻辑运算
- swift(一)基础变量类型
- Swift教程之扩展
- Swift教程之运算符
- swift 创建第一个UIAlertView 和UIActionSheet
- swift 创建tableView 并实现协议
- 【Swift】 - 函数(Functions)总结 - 比较 与 C# 的异同
- Swift面向对象中类和对象的属性
- Swift调用sha1算法
- Swift辛格尔顿设计模式(SINGLETON)
- Swift开发教程--如何清除模拟器的数据
- Swift学习笔记系列——(5)函数
- swift 给导航增加item,实现界面的跳转