if-else
- if 后面的条件可以省略小括号
- 条件后面的大括号不可以省略
let age = 4
if age >= 22 {
print("能结婚了")
} else if age >= 18 {
print("成年了")
} else if age >= 7 {
print("可以上学了")
} else {
print("他还是个孩子")
}
- if后面的条件只能是bool类型
if age { // error: 'Int' is not convertible to 'Bool'
}
while
- repeat-while 相当于C语言中的do-while
- 这里不适用num--。是因为从Swift3开始,去除了自增(++)自减(--)运算符 可读性差,不同编译器,有不同的结果
for
1、闭区间运算符:a...b,含义a<= 取值 <=b
- 要是i不参与运算可以省略(用
_
代替,在Swift中,省略都可以使用_
代替)
2、半开区间运算符:a..<b,含义 a <= 取值 < b
for i in 1..<5 {
print(i)
}
// 1 2 3 4
3、单侧区间: 让区间朝一个方向尽可能的远
4、for- 区间运算符用在数组上
5、区间类型
- 字符、字符串也能使用区间运算符,但是默认不能用在for-in中
6、带间隔的区间值
from
从哪里开始
through
最大值,可以等于
by
间隔
switch
- case 、default后面不能写大括号
- break可以省略, 并不会贯穿到后面的条件
fallthrough
- 使用fallthrough可以实现贯穿效果
Switch注意点
- swift 必须要保证能处理所有情况,num无穷多个,不只是有1和2
- case、default后面至少要有一条语句
- 如果不想做任何事情,加一个break即可
- 分号(;) 不能作为一条语句
- 如果能保证已处理所有情况,也可以不必使用default
复合条件
- Swift 也支持character、String类型
区间匹配、元祖匹配
- 可以使用下划线_忽略某个值(只要有一个值符合就行)
值绑定
- 只要一个成立,就能获取另一个值
- 必要时let也可以改为var
where
- where是过滤某些值,不是退出
标签语句
- 用于标记是哪一个for循环,指定结束的for循环