Control Flow
Control Frow Statement => 制御フロー文
Conditional Statement => 条件文
Loop Statement => 繰り返し文
If Statement => if文
Relational Operator => 関係演算子
Logical Operator => 論理演算子
If-else Statement => if-else文
Swiftには、二つのタイプの制御フロー文があります。
それは、条件文と繰り返し文です。
条件文は、「if」「switch」のような条件文で制御構造がtrueかもしくはfalseかを判定します。
繰り返し文は、Loops、つまり繰り返し文で、例えばfor-inやwhileのように複数回同じコードを実行処理します。
今回のif文では、定数numberの値 = 23とif文の条件と合致した値を出力します。
値は「23」なので、"The number is between 10 and 100"と出力されます。
let number = 23
if number < 10 {
print("The number is small")
} else if number > 100 {
print("The number is pretty big")
} else {
pirnt("The number is between 10 and 100")
}
これらの文は「nested」つまり、入れ子構造にする事でより下記のコードのような高度な表現を可能にします。
for in文に関して(回数の決まった繰り返し)
for 要素を格納する定数 in 複数の要素を保持する変数or定数 {
文
}
下記のコードでは、individualScoresに格納されている値をfor in文の定数scoreに代入します。
定数scoreに存在する全ての値をif文内部の条件で処理し終えるまで繰り返す処理します。
今回の値は「11」ですね
let individualScores = [75, 43, 103, 87, 12]
var teamScore = 0
for score in individualScores {
if score > 50{
teamScore += 3
} else {
tesmScore += 1
}
}
print(teamScore)
optional bindingに関して
Optional bindingをif文で扱うとある値がoptionalを含めているかを確認できます。
optional binding
if文やwhile文の条件で宣言され、optional型の変数を代入された変数は「非Optional型」になる
var optionalName: String? = "John Appleseed"
var greeting = "Hello"
if let name = optionalName {
greeting = "Hello, \(name)"
}
Switch文はSwiftをとても強力します。なぜなら、この文は多くのデータを多種多様な比較に扱うための機能をサポートします。
簡単switch
switch 式 {
case 値1:
//処理
case 値2:
//処理
case 値3:
//処理
default:
//処理
}
================
var color = "red"
switch color {
case "red":
println("とまれー!")
case "yellow":
println("注意!")
case "blue":
println("進めー")
default:
println("故障中")
}
// とまれー!
let vegetable = "red pepper"
switch vegetable {
case "celery":
let vegetableComment = "Add some raisins and make ants on a log."
case "cucumber", "watercress":
let vegetableComment = "That would make a good tea sandwich."
case let x where x.hasSuffix("pepper"):
let vegetableComment = "Is it a spicy \(x)?"
default:
let vegetableComment = "Everything tastes good in soup."
}
##swift rangeに関して(範囲を表すオブジェクト)
//0->4の値をloopさせたいときの書き方
var firstForLoop = 0
for i in 0..<4 {
firstForLoop += 1
}
print(firstForLoop)
//0->3の値をloopさせたいときの書き方
var secondForLoop = 0
for _ in 0...4 {
secondForLoop += 1
}
print(secondForLoop)