iOS开发零基础--Swift篇:逻辑分支
一. 分支的介绍
- 分支即if/switch/三目运算符等判断语句
- 通过分支语句可以控制程序的执行流程
二. if分支语句
- 和OC中if语句有一定的区别
- 判断句可以不加()
- 在Swift的判断句中必须有明确的真假
- 不再有非0即真
- 必须有明确的Bool值
- Bool有两个取值:false/true
// 演练一:
let a = 10 // 错误写法:
//if a {
// print("a")
//} // 正确写法
if a > 9 {
print(a)
} // 演练二:
let score = 87 if score < 60 {
print("不及格")
} else if score <= 70 {
print("及格")
} else if score <= 80 {
print("良好")
} else if score <= 90 {
print("优秀")
} else {
print("完美")
} // 演练三:
// 这个是可选类型,因为只有声明成可选类型后,才可以判断是否为空
// 可选类型会在后续讲解,可先了解即可
let view : UIView? = UIView() // 判断如果view有值,则设置背景
// 错误写法
//if view {
// view.backgroundColor = UIColor.redColor()
//} if view != nil {
view!.backgroundColor = UIColor.redColor()
}
三. 三目运算符
Swift中的三目运算保持了和OC一致的风格
var a = 10
var b = 50 var result = a > b ? a : b
println(result)
四.guard的使用
- guard是Swift2.0新增的语法
- 它与if语句非常类似,它设计的目的是提高程序的可读性
- guard语句必须带有else语句,它的语法如下:
- 当条件表达式为true时候跳过else语句中的内容,执行语句组内容
- 条件表达式为false时候执行else语句中的内容,跳转语句一般是return、break、continue和throw
guard 条件表达式 else {
// 条换语句
break
}
语句组
- 例子
var age = 18 func online(age : Int) -> Void {
guard age >= 18 else {
print("回家去")
return
} print("可以上网")
} online(age)
四.switch分支
switch的介绍
- Switch作为选择结构中必不可少的语句也被加入到了Swift中
- 只要有过编程经验的人对Switch语句都不会感到陌生
- 但苹果对Switch进行了大大的增强,使其拥有其他语言中没有的特性
switch的简单使用
- 基本用法和OC用法一致
- 不同之处:
- switch后可以不跟()
- case后可以不跟break(默认会有break)
- 例子:
let sex = 0 switch sex {
case 0 :
print("男")
case 1 :
print("女")
default :
print("其他")
}
- 简单使用补充:
- 一个case判断中,可以判断多个值
- 多个值以
,隔开
let sex = 0 switch sex {
case 0, 1:
print("正常人")
default:
print("其他")
}
- 简单使用补充:
- 如果希望出现之前的case穿透,则可以使用关键字
fallthrough
- 如果希望出现之前的case穿透,则可以使用关键字
let sex = 0 switch sex {
case 0:
fallthrough
case 1:
print("正常人")
default:
print("其他")
}
Switch支持多种数据类型
- 浮点型的switch判断
let f = 3.14
switch f {
case 3.14:
print("π")
default:
print("not π")
}
- 支持字符串类型
- 字符串的使用后面会详细讲解
let m = 5
let n = 10
var result = 0 let opration = "+" switch opration {
case "+":
result = m + n
case "-":
result = m - n
case "*":
result = m * n
case "/":
result = m / n
default:
result = 0
} print(result)
switch支持区间判断
- 什么是区间?
- 通常我们指的是数字区间:0~10,100~200
- swift中的区间常见有两种
- 半开半闭区间:0..<10 表示:0~9,不包括10
- 闭区间:0...10 表示:0~10
let score = 88 switch score {
case 0..<60:
print("不及格")
case 60..<80:
print("几个")
case 80..<90:
print("良好")
case 90..<100:
print("优秀")
default:
print("满分")
}
iOS开发零基础--Swift篇:逻辑分支的更多相关文章
- iOS开发零基础--Swift篇 元组
元组的介绍 元组是Swift中特有的,OC中并没有相关类型 它是什么呢? 它是一种数据结构,在数学中应用广泛 类似于数组或者字典 可以用于定义一组数据 组成元组类型的数据可以称为“元素” 元组的定义 ...
- iOS开发零基础--Swift篇 循环
循环的介绍 在开发中经常会需要循环 常见的循环有:for/while/do while. 这里我们只介绍for/while,因为for/while最常见 for循环的写法 最常规写法 // 传统写法 ...
- iOS开发零基础--Swift篇:Swift中数据类型
Swift类型的介绍 Swift中的数据类型也有:整型/浮点型/对象类型/结构体类型等等 先了解整型和浮点型 整型 有符号 Int8 : 有符号8位整型 Int16 : 有符号16位整型 Int32 ...
- iOS开发零基础--Swift基础篇--常量&变量的定义
什么是常量和变量 在Swift中规定:在定义一个标识符时必须明确说明该标识符是一个常量还是变量 使用let来定义常量,定义之后不可以修改 使用var来定义变量,定义之后可以修改 常量和变量的使用注意: ...
- iOS开发零基础--Swift教程 可选类型
可选类型的介绍 注意: 可选类型时swift中较难理解的一个知识点 暂时先了解,多利用Xcode的提示来使用 随着学习的深入,慢慢理解其中的原理和好处 概念: 在OC开发中,如果一个变量暂停不使用,可 ...
- iOS开发零基础--Swift教程 字符串的利用
字符串的介绍 字符串在任何的开发中使用都是非常频繁的 OC和Swift中字符串的区别 在OC中字符串类型时NSString,在Swift中字符串类型是String OC中字符串@"" ...
- iOS开发零基础--Swift教程 字典
字典的介绍 字典允许按照某个键来访问元素 字典是由两部分集合构成的,一个是键(key)集合,一个是值(value)集合 键集合是不能有重复元素的,而值集合是可以重复的,键和值是成对出现的 Swift中 ...
- iOS开发零基础--Swift教程 数组
数组的介绍 数组(Array)是一串有序的由相同类型元素构成的集合 数组中的集合元素是有序的,可以重复出现 Swift中的数组 swift数组类型是Array,是一个泛型集合 数组的初始化 数组分成: ...
- iOS开发零基础--Swift教程 类型转换
常见的类型转化符号 is : 用于判断一个实例是否是某一种类型 as : 将实例转成某一种类型 例子 // 1.定义数组 let array : [AnyObject] = [12, "wh ...
随机推荐
- 慕课网-安卓工程师初养成-6-3 如何使用 Java 中的数组
来源:http://www.imooc.com/code/1525 Java 中操作数组只需要四个步骤: 1. 声明数组 语法: 或者 其中,数组名可以是任意合法的变量名,如: 2. 分配空间 简 ...
- CSS3属性transition
CSS3 Transitions 指定过渡 语法: transition: property duration timing-function delay; 参数一: transition-p ...
- javascript笔记:流程控制语句
一.条件语句 1.if语句 if 语句即条件判断语句,一共有三种格式: (1)if (条件表达式) 语句: var box = 100; if (box >50) { alert('box大于5 ...
- Inside The C++ Object Model - 04 C++对象模型的一个简单示例
首先定义一个类X class X { public: X(); X(const X& x); virtual ~X(); virtual foo(); } 再来一段代码: X foobar() ...
- vim总结
1.vim基础用法 注:该思维导图来自笔者<Linux就该这么学>读书笔记. 移动光标: 命令 描述 k 向上移动光标(移动一行) j 向下移动光标(移动一行) h 向左移动光标(移动一个 ...
- .c文件如何编译为ko的MAKEFILE文件编写
首先需要知道: obj-m = *.o obj-y = *.o 上面两者的区别在于,前者才会生成ko文件,后者只是代码编译进内核,并不生成ko文件. 生成KO文件,分两种情况:单个.c文件和多个.c文 ...
- spring3.0事务管理配置
转载:http://war-martin.iteye.com/blog/1396335 第一种配置方法:基于XML的事务管理 这种方法不需要对原有的业务做任何修改,通过在XML文件中定义需要拦截方法的 ...
- Java interview Advanced
1. Can you override private or static method in Java ? Read more: http://java67.blogspot.com/2012/09 ...
- C语言课设心得分享(一)
今儿上完课设,老师果然讲的比较少,周四还不用去,看来还是学生自己折腾.我在做课设的过程中,攒了一些心得/体会,希望能和大家分享分享,也希望能一起探讨探讨.如果是我能回答的问题,我很乐意能够提供帮助. ...
- 第1章 C#类型基础
1.1值类型和引用类型 1.1.1 值类型 使用值类型之前需要对值类型的所有元素初始化(普通值类型和结构体). 结构还有一个特性:调用结构上的方法前,需要对其所有的字段进行赋值,为了避免对结构体中所有 ...