// 在if判断中,Switf和OC的区别不大,主要的区别在于,括号可有可无,里面的判断条件必须写全
var timer:[Int]? = nil
if timer != nil {
} else if timer == nil {
var timer:[Int]? = nil
if timer != nil {
} else if timer == nil {
}
-----------
for 循环
for var i = 0; i < 5; i++ {
print("这是一个for循环");
}
for var i = 0; i < 5; i++ {
print("这是一个for循环");
}
这是一个for循环
这是一个for循环
这是一个for循环
这是一个for循环
这是一个for循环
这是一个for循环
这是一个for循环
这是一个for循环
var array = [1, 2, 3, 4]
for var a in array {
print(a)
for var a in array {
print(a)
}
1
2
3
2
3
4
// 冒泡排序
var array1 = [1, 234, 54, 232, 3]
for var i = 0; i < 4; i++ {
for var j = 0; j < 4-i; j++ {
if array1[j] < array1[j+1] {
var temp = array1[j+1]
array1[j+1] = array1[j]
array1[j] = temp
}
}
}
for var i = 0; i < 5; i++ {
print("array ==== \(array1[i])")
var array1 = [1, 234, 54, 232, 3]
for var i = 0; i < 4; i++ {
for var j = 0; j < 4-i; j++ {
if array1[j] < array1[j+1] {
var temp = array1[j+1]
array1[j+1] = array1[j]
array1[j] = temp
}
}
}
for var i = 0; i < 5; i++ {
print("array ==== \(array1[i])")
}
array ==== 234
array ==== 232
array ==== 54
array ==== 3
array ==== 232
array ==== 54
array ==== 3
array ==== 1
------------------------
do while 和 switch
// repeat while 相当于OC中do while ,在Switf1.0时,Switf中也是do while ,而在2.0之后,改成repeat while
var i = 0
repeat {
i++
print(i)
var i = 0
repeat {
i++
print(i)
} while i < 10
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
10
// switch中不需要再加break 会由系统自动添加
// 每一个case里面都需要写东西
let value = 0
switch value {
case 0:
print (value)
// 全部执行
// 每一个case里面都需要写东西
let value = 0
switch value {
case 0:
print (value)
// 全部执行
fallthrough
case 1:
print("value ==== \(value)")
default:
print("error")
print("value ==== \(value)")
default:
print("error")
}
0
value ==== 0
// 对一个区间进行匹配
let value = 19
switch value {
case 0...10:
print(value)
case 11..<20:
print("value ====== \(value)")
default:
print("error")
let value = 19
switch value {
case 0...10:
print(value)
case 11..<20:
print("value ====== \(value)")
default:
print("error")
}
value ====== 19
// 可以搭配元组使用
let point = (10, 2)
switch point {
// 当这个点为(10,10)时输出
case (10, 10):
print(point)
// 使用_忽略某个条件 忽略值
case (_, 10):
print(point.1)
case (10, _):
print(point.0)
print(point.1)
case (_, _):
print(point)
// 这里不用default
let point = (10, 2)
switch point {
// 当这个点为(10,10)时输出
case (10, 10):
print(point)
// 使用_忽略某个条件 忽略值
case (_, 10):
print(point.1)
case (10, _):
print(point.0)
print(point.1)
case (_, _):
print(point)
// 这里不用default
}
let a = 3
switch a {
case 0 where a < 10:
print(10)
default :
print(100)
case 0 where a < 10:
print(10)
default :
print(100)
}
当a = 0 时,才执行case 0;所有这个结果是100