for a in 0...5{} //循环迭代,从a=0到a=5,执行{}里的代码
注意:a只循环中存在,也就是出了{}a就不存在了let a = [1,2,3]
for b in a{} //循环迭代,从b=1到b=3
1)switch语句考察一个值的多种可能性,将它与多个case相比较,从而决定执行哪一个分支的代码
var a = 1
switch a{
case 0:
println("0")
case 1:
println("1")
default:
println("other")
} //输出1
注意:和C以及Objective-C不一样,switch不再需要break。如上面的代码,即使没有break,也只输出1,而不是输出“1 other”。另外每个case后面都需要有可执行的代码,否则会报错
2)如果两个分支执行的是相同的代码。可以直接写在一个case里面,用逗号,隔开
var a = 1
switch a{
case 0, 1:
println("0")
default:
println("other")
} //输出0
3)switch语句的case中可以匹配一个数值范围
var a = 1
switch a{
case 0..3:
println("0")
default:
println("other")
} //输出0
4)case还可以匹配元组,_代表着任何值
var a = (1,2)
switch a{
case (1,1):
println("0")
case (_,2):
println(1)
default:
println("other")
} //输出1在case匹配的同时,可以将switch语句中的值绑定给一个特定的常量或者变量,以便在case的语句中使用。比如:
var a = (1,2)
switch a{
case (let x,1):
println("x:\(x)")
case (let y,2):
println("y:\(y)")
default:
println("other")
} //输出y:1switch语句可以使用where关键词来增加判断的条件
var a = (1,2)
switch a{
case let (x,y) where x>y:
println("x>y")
case let (x,y) where x<y:
println("x<y")
default:
println("other")
} //输出x<y3.控制跳转语句
for a in 0...3 {
if a == 2 { continue }
println(a)
} //输出 0 1 3
2)break
break语句将终止整个循环的执行,可以用在循环语句中,也可以用在switch语句中。for a in 0...3 {
if a == 2 { break }
println(a)
} //输出 0 13) fallthrough
由于Swift中的switch语句不会自动的因为没有break而跳转到下一个case,因此如果需要想C语言中那样,依次执行每个case的时候,就需要用到fallthrough关键词。
let a = 2
switch a {
case 1:
println("1")
case 2:
println("2")
fallthrough case 3:
println("3")
default:
println("other")
} //输出2 3.如果a=1,则只输出1
switch和循环可以互相嵌套,循环之间也可以互相嵌套,因此在使用break或者continue的时候,需要知道到底是对哪个语句起作用。这就需要用到标签语句。标签语句的一般形式如下:
firstLoop: for a in 0..2{
switch a{
case 0:
break
default:
println("default")
}
println(a)
} //什么都不会输出,当a=0时,已经直接将for循环break了。如果去掉firstLoop,则只会break switch,输出 0 default 1
标签语句同样适用于多重循环
firstLoop: for a in 0..2{
for b in 0..2
{
if b == 1
{
break firstLoop
}
println("a:\(a),b:\(b)")
}
} //仅输出a:0,b:0
Swift学习笔记五:循环和条件语句,布布扣,bubuko.com
原文地址:http://blog.csdn.net/xbenlang/article/details/29574147