// if 语句的条件必须是bool值 或者是 bool表达式
// bool 值只能用 true 或者是 false
let isOrNo = true
if isOrNo{
print("true")
} else {
print("false")
}
var count: Int? = nil
count = 20
if count > 0{
print(count)
// \()用于拼接变量和字符串
print("数字count是\(count)")
} else {
print(count)
}
let str_pinjie = "数字count是\(count)"
// 声明变量的表达式也可作为条件使用
if let count1 = count {
print("ok")
} else {
print("error")
}
// 注释: 分支语句原则上必须保持完整
// 2.循环 while
var number = 0
while number < 3 {
number++
print("number = \(number)")
}
// do...while
repeat{
number++
print("number = \(number)")
} while number < 5
// for
for (var num = 0; num < 6; num++) {
print("num = \(num)")
}
// for 循环条件可以省略 但是括号不能省略
// for ; ; {
// print("循环")
//}
for ; number < 2 ; {
print(number)
number++
}
// 3.for...in 循环 变量可以不声明.只作用于循环作用域中
for num in array {
print(num)
}
var dic = ["33" : "value"]
for value in dic{
print(value)
// 枚举字典的时候,获得的将是一个存放了键,值的元组.可以通过元组的取值规范获取内容
value.0
value.1
}
// 使用元组枚举字典的时候 相当于元组中的元素命名 可作为局部变量使用
for (key, value) in dic {
print(key)
print(value)
}
// 4.占位符 _
// 使用占位符忽略掉不想使用的变量
for (_, value) in dic {
print(value)
}
for (key , _) in dic {
print(key)
}
// 6.区域运算符在循环中的使用
for value in 0..<1 {
print(value)
}
for value in array[2..<3] {
print(value)
}
// 分支 switch
var point = (2, 0)
switch point {
case (0,0):
print("原点")
case (_, 0):
print("x轴")
// switch case 分支自带有break 如果想执行下一分支 使用 fallthrough
fallthrough
case (0 , _):
print("y轴")
case (_ , _):
print("象限内")
}
// 只要case包含所有情况 可以不使用default分支
// switch语句 必须包含所有的情况分支
// 6.值绑定
switch point {
case (0 , 0):
print("原点")
case (let x , 0):
print("x轴 == \(x)")
//fallthrough 不能下降到一个存在不确定变量的分支中
// fallthrough
case (0, let y):
print("y轴")
default:
print("象限内")
}
switch point {
case (0 , 0):
print("原点")
case (let x , 0) where x == 3 || x == 2:
// where 在分支基础上可以添加限定条件 如果想添加多个限定条件的话 可以使用 && ||
print("x轴 == \(x)")
case (0, let y):
print("y轴")
default:
print("象限内")
}
// 7.区间匹配
// switch 与 区间运算符结合使用
var number2 = 20
switch number2 {
case 0...10:
print(number2)
case 11...100:
print(number2)
case 101...200:
print(number2)
default:
print(number2)
}
for value in 1...100 {
print(value)
if value == 2 {
break //跳出循环
//continue // 跳出本次循环
}
}
var tempStrig = "atjpeitjafaplnfvajogoiaerokhgoajnoaeg"
// 便利字符串 str.characters
// 当 for...in 循环 与 switch 结合使用的时候 执行break语句首先被识别为switch分支自带的brea看 此时 需要为循环添加别名 使用别名进行打断循环的操作
tempName: for temStr in tempStrig.characters {
switch temStr {
case "a","e","i","o","u":
// 如果元音 打断循环
print(temStr)
break tempName
default:
print(temStr)
}
}