りな塾 #9 条件をつける(IF文)
さて、いったん変数の話はこのくらいにして先に進みましょう。
次に学ぶのは、条件文といわれるものです。
IF文
これを学ぶとだんだんプログラミングっぽいことができるようになってきます。
IF文(IFステートメント)と呼ばれる構文をみていきましょう。これを使うと条件に応じて実行する処理を変えることができます。
if( 条件 ){
条件に合致したときに実行する処理
}
なんとなく、使い方のイメージ湧きますか。
こちらが具体的な使用例です。
age = 18;
if( age < 20 ){
console.log("タバコは20になってから!");
}
ageという変数に 18 という数値を代入しています。
次に、if( 条件 ) には age < 20 という不等号がはいってます。文字通り20未満という意味です。これが条件になります。
つまり、もしこの条件に合致すれば、次の{}内の console.log() を実行する、という意味になります。
もし、〜だったら、という構造になっているので、英語の意でそのままIFですねw
実際に、このプログラムを実行すると、実行ログに「タバコは20になってから!」という文字が表示されたと思います。
age に代入する値をいろいろな数値に変えてみましょう。20以上だと条件に合致しないので、console.log() がスキップされて、何も表示されずにそのまま終了するはずです。
どうですか?
ちょっと、プログラムっぽくなってきました。
入れ子
IF文の中に、さらにIF文を書くこともできます。入れ子なんて言ったりします。
if( 条件1 ){
if( 条件2 ){
}
}
等号・不等号記号いろいろ
条件を書き換えることで、コンピューターに自動的に条件判断をさせ、それに応じた処理をさせることができるようになるのです。
if文の条件に使える比較演算子は他にもこんなものがあります。
<、<= の違い
< と <= の違いをしっかり把握しましょう。
age < 20 とした場合、20は条件に含みません。age <= 19と書くと19は条件に含まれます。不等号とイコールが一緒になっているので、覚えやすいですね。
== 等しい
age が 20と「等しい」とき、つい age = 20 と書きたくなってしまいますが、、、プログラミングでは、= は代入を表すんでしたよね?ageに20が代入されてしまうので注意しましょう。
if文の条件で「等しい」を表現したい場合は == を使います。
次のように書けば、ageが20のときだけ、birthday 表示されるメッセージが "成人おめでとうございます!" になります。
age = (任意の数字);
birthday = "お誕生日おめでとうございます。";
if( age == 20){
birthday = "成人おめでとうございます!";
}
console.log(birthday);
==、===の違い
最後の、=== っていうのが、プログラミング言語でもちょっと特殊な比較演算子になります。
これを説明する前に、以下の例を見てください。numberには、数字の10が代入されていて、他方textには文字の"10"が代入されています。
これをIFで比較したら、どうなると思いますか?
number = 10;
text = "10";
if( number == text ){
console.log("イコールです!!"); //実行されます
}
これは、"等しい" と判定されます。重要!!
ここで扱っている言語(JavaScript)では、文字と数字を区別せず混在して使用することができます。混在した場合は自動的に文字に変換され判定してくれるということを前回の講座で学びました。これは比較演算でも同様です。数字と文字の比較の場合でも、暗黙的に文字として比較演算が行われるのです。
そこで、文字なのか数値なのかまで「厳密にチェックして!!」ってときに使うのが、=== 演算子です。
number = 10;
text = "10";
if( number === text ){
console.log("イコールです!!"); //実行されません
}
このように、number === text とすると"一致しない"と判定され、console.log()はスキップされ実行されません。
==は便利ですが想定外の結果を招くことがあるので、なるべく===を使うようにするのがよいと個人的には思います。
今日のクイズ
クラスの生徒全員にりんごとみかんを一つづつ配りたいです。
このとき、りんごとみかんの両方とも個数がちゃんと足りていたら、実行ログに "足りています" と表示をしてください。いずれか一方でも足りていない場合は、"不足しています" と表示してください。
students = 30;
apple = 32;
orange = 10;
//---- 以下に答えを入力
students に生徒の数が代入されています。apple にはりんごの数、orangeにはみかんの数が代入されているものとします。
これらの変数の数値を変えても、ちゃんと判定されるようにプログラムしてください!
students = 10;
apple = 12;
orange = 10;
→ "足りています" と表示
students = 10;
apple = 5;
orange = 5;
→ "不足しています" と表示
students = 30;
apple = 29;
orange = 30;
→ "不足しています" と表示
#りな塾_licodeenar #プログラム #遊び
この記事が気に入ったらサポートをしてみませんか?