Apple公式ドキュメントの"The Swift Programming Language" の "A Swift Tour"だと、whileとdo-whileのちがいがわかりにくかったので覚書です
while文とdo-while文のちがい
- while文は、条件式が偽だと1回も実行されない
- do-while文は、条件式が偽だとしても必ず1回は実行される。
while文 実行例
WhileSample.swift
var n = 10
while n < 1 {
println("value \(n)")
n++
}
実行結果
なし
(1回もprintlnが実行されない)
do-while文 実行例
DoWhileSample.swift
var m = 10
do {
println("value \(m)")
m++
} while m < 1
実行結果
value 10
(plintlnが1回だけ実行される)
まとめ
- while文とdo-while文のちがいが出るのは、条件式がはじめから偽の場合のみ。
- なので、"The Swift Programming Language"のサンプルコードのような、条件式が1回以上真になるコードだと結果が全く同じになっていしまい、ちがいが分かりにくい。
- do-while文の使いドコロの説明はこちらがわかりやすかったですdo..while文 - 繰り返し処理 - C言語 入門
参考:The Swift Programming Languageのサンプルコード
while文 実行例
WhileSample2.swift
var n = 2
while n < 100 {
println("value \(n)")
n = n * 2
}
実行結果
value 2
value 4
value 8
value 16
value 32
value 64
do-while文 実行例
DoWhileSample2.swift
var m = 2
do {
println("value \(m)")
m = m * 2
} while m < 100
実行結果
value 2
value 4
value 8
value 16
value 32
value 64