Swift学习笔记之---for循环与while循环

Swift程序中的语句是顺序执行的,除非由一个for、while、do-while、if、switch语句或者是一个函数调用将流程导向到其他地方去做其他的事情。

for循环

Swift提供了两种for循环方式

1)for-in循环: 对于数据范围、序列、集合等中的每一个元素,都执行了一次

2)for-condition-increment:一直执行,直到一个特定地条件满足,每一次循环执行,都会增加一次计数

for-in循环

示例代码:

for index in 1...5 {                           //通过使用...来表示序列
  print("\(index) times 5 is \(index * 5)")    //index在每一次循环开始时被赋值,每次都被隐式地被定义,就像使用了let关键词一																							 //样,在这里,index是一个常量
}

如果不需要序列中地每一个值,可以使用**"_"来忽略它,这样仅仅只是使用循环体本身**,示例代码如下:

let base = 3
let power = 10
var answer = 1
for _ in 1...power {
  answer *= base
}

在Swift程序中,for-in除了遍历数组也可以用来遍历字典,示例代码如下:

let interestingNumbers = [
  "Prime": [2, 3, 4],
  "Square":[4, 9, 16],
]
var largest = 0
for (kind, numbers) in interestingNumbers {
  for number in numbers {
    if number > largest {
      largest = number
    }
  }
}

continue语句默认的操作范围是直接包含它的这一层循环结构,break语句是中断语句,其也可以用于循环结构中,和continue语句不同的是,break语句会直接中断直接包含它的循环结构.

for-condition-increment循环,该方式在 Swift 2.2以上版本中已弃用

Swift程序同样支持C语言样式地for循环,它也包括了一个条件语句和一个增量语句,具体格式如下所示:

for initialization; condition; increment {
  statements
}

分号用来分隔for循环地3个结构,和C语言一样,但是不需要用括号来包裹它们,示例代码如下:

for var index = 0; index <= 2; ++index {   //循环结束的时候,index的值为3
  print("index is \(index)")
}
// 输出结果为:
index is 0
index is 1
index is 2

while 循环

while循环执行一系列代码块,直到某个条件为false为止。这种循环常用于循环的次数不确定的情况。Swift提供了两种while循环方式:

1)while循环:在每次循环开始前测试循环条件是否成立

2)do-while循环:在每次循环开始之后测试循环条件是否成立

while循环

while循环由一个条件语句开始,如果条件语句为true,一直执行,直到条件语句变为false,下面是一个while循环的一般形式:

while condition {
  statements
}
do-while循环

在do-while循环中,循环体中的语句会先被执行一次,然后才开始检测循环条件是否被满足,下面是do-while循环的一般形式:

do {
  statements
} while condition

代码示例:

// while循环
var n = 2
while n < 100 {
  n = n * 2
}
// do-while循环
var m =2
do {
  m = m * 2
} while m < 100
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值