この章では条件分岐について説明します。
条件分岐を日常の場面で説明します。
例えば、生活の場面で、もし、お金が10000円あったらフランス料理にして、20000円あったら中華料理にすると判断していますが、プログラムでもこのような表現ができるのです。
このように条件によって表現を変えることを条件分岐と言います。 条件式は条件を満たしていればtrueを返し、条件を満たしていないならばfalseを返します。
そして、trueの時にif文が実行されます(true,falseについては後ほど説明します)。
条件式には次の表のような関係演算子を使ってとか
などを
のような記号を使って表現します。
では例をみてみましょう。
aは12で3より大きいので、条件を満たしているのでtrueになります。
このように条件を満たしていることをtrueと言います。
条件を満たしているのでif文は実行されます。
もっと正確に言うと、条件式は条件を満たしていればtrueになり、if文が実行され、条件を満たしていないならばfalseになり、if文は実行されません。
print でを出力するとtrueが出力されます。
print でを出力するとfalseが出力されます。
結果は以下の通りです。
次はfalseの例を紹介します。 結果は何も表示されません。
なぜかと言いますとの部分が条件を満たしていないからです。
つまり条件式がfalseになり、ifの中は実行されません。
では例をみてみましょう。 この例は関係演算子を使っていませんが、条件式に変数を入れています。
変数を入れた時のtrueとfalseの条件に付いて説明します。
trueとはfalseとnil以外のすべてです。この例では12というデータが入っているので条件式はtrueです。
0 やカラの文字列も全てtrueです。
例えカラ文字の変数でも何かしらのデータが入っていれば条件式はtrueになると覚えてください。
以下の例は条件式にfalseやnilが入っているので条件式はfalseです。
これらのfalseやnilや trueは疑似変数と呼ばれています。 次の例はカラ文字を変数に入れていますが、条件式はtrueです。
カラ文字とは以下の例をみていただくと分かりますが、の部分です。
次はif文で文字列の比較を行う方法について説明します。
では例をみてみましょう。 文字列の比較は数値と同じ関係演算子を使います。
Perl言語などは文字列専用の関係演算子を使っていますが、Rubyは数値も文字列も同じ関係演算子を使います。
文字列同士の比較の場合は以下のような規則があります。
〇アルファベットの比較では大文字の方が小文字より大きい。
〇 aが一番小さくzが一番大きい
〇日本語の比較は「あ」が一番小さく、「ん」が一番大きい。
結果は以下の通りです。
タグ: 条件分岐
if文について理解しよう。if文の基本構文1
この章ではif文について説明します。
if文はどのような時に使われるのかを日常生活の中の場面で説明します。
例えば、「もし、今日財布にお金が10000円あったらフランス料理にして、20000円あったら中華料理にする」などの選択を繰り返して人は生きていますが、プログラムでもこのような表現ができるのです。
このように条件によって表現を変えることを条件分岐と言います。 基本構文にある条件式は条件を満たしていればTRUEを返し、条件を満たしていないならばFALSEを返します。
そして、TRUEの時にブロックの中の文が実行されます。
何が「TRUE」「FALSE」であるのかは次の例で説明します。 では何がTRUEで、何がFALSEであるのか説明します。
この例では変数aの値は2より大きいので、条件を満たしていると考えるのです。
このように条件を満たしていることをTRUEと言います。
逆に条件を満たしていない場合にはfalseになり、if文は実行されず、無視されます。
このように比較演算を行えば必ず TRUEもしくはFALSEの値が返ってきます。
これらの型をbool型、もしくは論理型と言います。
次の例の場合はどうでしょう。 結果は何も表示されません。
なぜかと言いますとの条件部分が条件を満たしていないからです。
つまりFALSEになり、ブロックの中が実行されません。
条件分岐ifの基本構文1
この章では条件分岐について説明します。
たとえば、生活の場面で誰しも、もし、今日財布にお金が1万円あったらフランス料理にして、2万円あったら中華料理にすると判断していますが、プログラムでもこのような表現ができるのです。
このように条件によって表現を変えることを条件分岐と言います。
条件分岐にはifを使うのですが、このifは英語での「もしも」と同じです。
では例をみてみましょう。 ifの基本構文は以下の通りです。
条件式が条件を満たしていればtrueを返し、条件を満たしていないならばfalseを返します。
そして、trueの時にif文が実行されます(true,falseについては後ほど説明します)。
「条件式が条件を満たしていれば」の意味は「変数bの15000は10000より大きい」ので、条件を満たしていると考えるのです。
その結果、「フレンチを食べる」が実行されます。
条件式には下の表のようにとか
などを
や
のような比較演算子を使って表現します。
比較演算子とは比較を表す記号を意味します。
「a == b」と「a === b」の違いについて説明します。
a == bはaとbが違う型であるならば、どちらかの型に統一されて比較されます。
つまり、型の自動変換が起こります。
a === bはaとbが違う型でも型を自動変換することなく比べます。 aは整数型で、bは文字列型ですが、「a == b」では自動で型の変換が起こるのでtrueです。
「a === b」は型の変換をしないで比べるのでfalseです。
次の例をみてみましょう。 結果は「条件OK」です。
では何がtrueで、何がfalseなのかを見てみましょう。
この例では変数aは2より大きいので、条件を満たしているのでtrueになります。
逆に条件を満たしていないならばfalseになり、if文は実行されず無視されます。
trueのことを真といい、falseのことを偽ともいいます。
次の例の場合はどうでしょう。 結果は何も表示されません。
なぜかといいますとの部分が条件を満たしていないからです。
つまりfalseになり,ブロックの中が実行されません。
次の例を見てみましょう。 これまでは条件式に比較演算子を使ってきましたが、
のような書き方も出来ます。
この例の場合は条件式はtrueです。
変数aは1でtrueなので、文が実行されます。
JavaScriptのfalseは以下の通りです。
false以外の値はすべてtrueです。 Stringの
はfalseではありません。