キャンペーンの今のうちに是非!!↓


⇒「ひろゆき『1%の努力』を無料で見る方法

【Swift奮闘記ep5】演算子とか制御構文(条件分岐や繰り返し)とか

IPhoneアプリ作成Swift奮闘記

読み進めていく本↓

前回「【Swift奮闘記ep4】この奮闘記の方向性について&文法(コレクション)

なかなか基本が終わらないが、ゆっくりやっていければと思っている。

コカコーラゼロを飲みながら平日の昼間に作業。

次はやっと演算子の内容に入る。

演算子は他のプログラミング言語と特段変わったこともなさそうなので、スラスラ進みそうである。

制御構文も同様だ。

演算子

+ー*などといった加法等は復習さえいらないくらいだ。

あと、代入演算子も見飽きたくらいだ。

a  += 10とかいうやつね。

ちょっと考えちゃうのが、論理演算子というやつ。

let a = true

let b = true

let c = false

と定数で真偽が定義されていたとする。

っこで論理演算子が出現。

a  ||  b

a && c

a  ||  c

これらがどうなるかということ。

&&⇒左辺と右辺がいづれもtrueであったらtrue

||⇒は左辺または右辺のいづれかがtrueであったらtrue

これはルールなので覚えてしまおう。

制御構文

条件分岐にはif文とswitch文の2つあるが、if文はよく使うので慣れているのだが、swhtch文がまだ慣れていない。

そのうち慣れるのかな〜。switch文を使わないといけない場合っていうのを教えて欲しいっていうか勉強していくうちに自分で気づけたらいいな。

単純に楽なのかな、毎回else 条件 を書かずに済むから?まいっか。

疑問

Swiftでは、Switch文を書く場合は評価する対象の値がいずれかのcaseにマッチしていなければいけない(網羅しなければいけない)というルールがあります。

とあるんだけど、Swift以外だったら「Switch文を書く場合は評価する対象の値がいずれかのcaseにマッチしなくてもいい」事があるのかな?

もう一個疑問があるんだけど、switch文のcaseはなんでインデント下げて記述しないんだろう。{ }の中にあるのに、謎である。

 

switch文

毎回忘れてしまうswitch文。ちょっと書いとくわ。

let price = 100

switch price {

case 0, 100 , 200:

    print(値段は0円か100円か200)

case 300, 400:

    print(値段は300円か400)

case 500:

    print(値段は500)

default:

    print(値段はそれ以外)

}

さらに範囲を指定する方法は

let price = 300

switchprice {

case0…200:

print(“値段は0円から200円”)

case201…400:

print(“値段は201円から400円”)

default:

print(“値段は401円以上”)

}

である。

 

for文

for 定数名 in 開始する値…終了する値{

繰り返しするコード

}

for count in 25 {

    print(\(count)回目の実行です)

}

こんな風にやればいいんだね!

この結果がコンソールで以下のように実行される。

2回目の実行です

3回目の実行です

4回目の実行です

5回目の実行です

countについては使わない場合には_(アンダースコア)で省略することも可

 

範囲を配列として、要素を一つずつ取り出していくことも可能

for 定数名 in 配列 {

繰り返し実行するコード

}

let hobbys = [“サッカー”,”テニス”,”ギター”,”ランニング”,”勉強”]for hobby in hobbys {

print(hobby)

}

サッカー

テニス

ギター

ランニング

勉強

 

while文

覚えておこう↓

for文と違って繰り返しの回数を代入する変数を自分で定義する必要がある。

 

疑問

while文はfor文と似た制御を行うことができますが、大きく異なるのは回数は限定せず、ある条件の間ずっと繰り返すということ

とあるがこれは「swiftに関しては」という前提がつくということでオッケーだよね?

普通に他の言語だったらfor (i = 0; i++ ; i <10){~~

とかあるもんな。

これにて演算子と制御構文は終了。

今回はここまでにして、次から関数に進む。

続き⇒「【Swift奮闘記ep6】関数前半戦(引数、戻り値、外部引数)に突入!

コメント