c语言中break可以用在swift,Swift学习笔记五:循环和条件语句

一、循环语句

1. for循环

1) for -in 循环,

对于数据范围,序列,集合等中的每一个元素,都执行一次

for a in 0...5{}    //循环迭代,从a=0到a=5,执行{}里的代码

注意:a只循环中存在,也就是出了{}a就不存在了

或者遍历数组

let a = [1,2,3]

for b in a{}    //循环迭代,从b=1到b=3

如果你不需要序列中的每一个值,可以使用_来忽略它,仅仅只是使用循环体本身:

for

_

in

0

...

5

{}

//

循环执行{}里的代码

,

执行

6

2)

For-Condition-Increment条件循环。和c语言中的一样

for

var

a =

0

; a<

3

; a++ {}

//

循环,从

a=0

a=2

2. while循环

while循环执行一系列代码块,直到某个条件为false为止。这种循环最长用于循环的次数不确定的情况

1) while循环

var

a =

1

while

a

<

5

{

println

(

a

++) }

//

输出

1 2 3 4

2) do-while循环

var

a =

1

do

{

println

(

a

++)  }

while

a

<

5

//

输出

1 2 3 4

while和do-while的区别就是do-while是先执行再判断,也就是说do-while至少执行一次,while可能一次都不执行

二、条件语句

1. if 语句

如果条件为true时,执行if语句块中的语句

var

a =

1

if

a

>

0

{

println

(

a

)  }

//

输出

1

注意:和C语言以及Objective-C不一样,if或者else后面必须带有括号,否则编译器会报错

2. switch 语句

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

5)数值绑定:

在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:1

6)while 关键字:

switch语句可以使用where关键词来增加判断的条件

var a = (1,2)

switch a{

case let (x,y) where x>y:

println("x>y")

case let (x,y) where x

println("x

default:

println("other")

}   //输出x

3.控制跳转语句

在Swift中控制跳转语句有4种,让编程人员更好地控制代码的流转,包括:

continue ,  break ,

fallthrough, return

1) continue

continue语句告诉一个循环停止现在在执行的语句,开始下一次循环。

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 1

3) 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

4) 标签语句

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值