Objective-C 基本講座

if文を使う

全333コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
状態に合わせて動作を切り替える方法を学習します。 ブール値、ブール演算についても説明します。
講師:
08:44

字幕

このレッスンでは 条件つきの処理である if 文 そこで使うブール値を学習して下さい ある条件でしか実行できないものは いくらでもあります 例えば ジュースを飲んで 所持金がいくらになるか計算する― プログラムを考えてみて下さい この所持金用の変数 asset を用意し ジュース代160円を引くという 単純なプログラムは 文法的には間違いではありませんが 現実の世界で所持金が100円なら 160円のジュースは飲めません このような不自然な動作を防止するには 所持金がジュース代以上の時だけ ジュースを買うといった― 条件付きの処理が必要です 条件付きの処理を書くための 文法が if 文です if 文では if に続く ( ) で囲まれた ブール値が真の時だけ { } で囲んだ部分の処理が実行されます ブール値とは真と偽のいずれかをとる値です ブーリアン値とも呼ばれ 真が真実 偽が間違いを示します このブール値は通常 数値の大小比較で導き出します 例えば 先程の所持金の計算なら 数式でいう所の asset は160以上と書けば asset 値と160の大小比較式となり asset 値が160より小なら偽 160以上なら真 というブール値が導き出されます このようなブール値を導き出す式を 条件式と呼び 左辺と右辺を結ぶ記号を比較演算子と呼びます 比較演算子には「以上」の他にも色々あり それぞれ左辺と右辺を比較します まず 同じかどうか比較する記号は 等号が変数代入用に使われている関係で 等号を2つ続けます この2文字で1つの比較演算子となります 不等号は等号の前に!を付けた 2文字で表現します ここでの!は否定を意味し 同じではない という比較演算子となります 以上・以下は大なり・小なりの後ろに 等号を続けて表現します あとは { } で囲まれた中に ブール値が真の時だけ実行されるべき 処理を書くことで 条件付き処理が実現できます 例えば { } 内に ジュースを買う処理を書くことで 所持金が160円以上の時だけ ジュースを買うようにできるわけです ジュースを買った後に 100円以上残るようにしたければ 160+100と比較することもできます このように条件式の右辺や左辺には 計算式を指定することも可能です また 演算子にはそれぞれ優先順位があり 今回なら ( ) を取り外しても 先に計算式が実行されてから その計算結果で比較することにはなります しかし 理解しやすさを考えると ( ) を付けていた方が良いでしょう ( ) を使うことで asset が何と 比較されているのか明確になります いつでも内側の ( ) が優先されるのは 数式と同じです 演算子の優先順位に興味がある人は 「C 演算子 優先順位」をキーワードにして ネットで検索してみて下さい 今度は別の if 文を使って ジュースを買わない時にはコンソールに 何か出力するようにしてみましょう この場合 asset が160+100より 小さいという条件で 実行する処理を書けばいいわけです ここでは比較演算子を変更しましたが 別の方法もあります 比較演算子は変更せず 条件式から導き出されたブール値を ブール演算子を使って逆転させる方法です ブール値の前に!を置くと 真偽が逆転します 条件式を変更していないなら 結果のブール値は 所持金が160+100より小さい時に 偽になるのですが この値の真偽を逆転させることで 真とできます この方法でもジュースを買わない時の 処理を書くことができるわけです ここで使った!のブール演算子は not と呼びます 先に説明したように not は1つのブール値の手前につけて 真偽を逆転させます このほかに and or という ブール演算子もあります and と or は2つのブール値を 合成するのに使います 例えば 変数 a b それぞれについての 条件式を左辺・右辺において合成します and は左辺・右辺が両方とも真でなければ 合成結果が真になりません or は左右どちらかが真であれば 合成結果は真になります 計算式同様 複数のブール演算子を 使っても構いません 優先順位があるので ( ) が不要な場合もありますが それよりは素直に ( ) を使う方が良いでしょう また 例に挙げている式などは a b どちらかが 0 の場合で 尚且つ a + b が 0 という表現ですが これはa b 共に 0 と同じです このように同じ条件を色々な式で 書ける点にも注意して下さい できるだけ目的に即した条件式を 書くように心掛けましょう また 今回のように 条件式の真偽で処理を分けたいなら if 文に else キーワードを追加して 条件式が偽だった場合に実行する 処理を書く方法が適切です if 文は最初の { } の後に else キーワードがあると そこに続く { } 内の処理を 条件式が偽だった場合に 実行する処理とみなします else の位置は { } の後に続くなら どこでも構いません また { } 内の処理が1つなら { } を省略しても構いません else も無いなら こうなります 最後に もう少し条件を追加してみましょう 本人がぞろ目が大好きな性格で 所持金が777円なら ぞろ目をそのままにして置くために ジュースは買わないということにします この場合 最初の条件に合格した後 asset が777以外であることを 判断するという― 2段構えの if 文となります if 文をネストすると言い 同じやり方でいくつもネストができます このようにして複雑な条件分岐を 記述していくことができます else 側もネストが可能なので else 側ではお金がないと嘆くのは asset が160より小さい時 としましょう if 文は1つの処理とみなされるので else 側の { } を省略することも可能です 同じ理由で他の { } も省略できますが これをやってしまうと コンパイラは else を 2番目の if に対する else と 解釈するので注意して下さい { } の省略はその点に注意が必要です このレッスンでは条件付きの 処理である if 文 そこで使うブール値を学習しました

Objective-C 基本講座

このコースはプログラミング初心者でもObjective-CによるiOSアプリ開発の体系的な理解が得られるように構成されています。プログラムの動作の原理、Objective-C言語の役割、そこで利用されるCocoa touchオブジェクトの役割、基本的なiOSアプリの作成方法などを学習します。ぜひこのコースをアプリ開発に踏み出すさいの第一歩としてください!

6時間39分 (69 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 3,990
発売日:2015年11月18日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。