三回目ーーif文、switch文、後半ーー
ちょっとアクシデントが発生しています。
説明は本文の最後に書いています。
では、if文の後半を始めます。
1.成り立たない場合
少し前回の復習
『もし○○ならば□□を実行する。そうでないなら△△を実行する』
const points = 57;
if (points >= 40) {
console.log(“欠点ではありません”);
}
上記のプログラムは
『定数pointsの数値が40以上ならば、【欠点ではありません】と出力する』内容となっています。
定数pointsの数値は57なので、当然その結果が出力される為問題の無い、いわば条件が成り立ち処理できるプログラムです。
ですが、もし定数pointsの数値が40以下、例えば38だった場合。
今回の主旨はそこになります。
定数pointsの数値を38に入れ替えて出力すると文字は表示されません。
ある意味欠点ではない事が把握は出来ますが、【欠点です!】と表示させたいなら欲しい結果が出ていないことになります。
そこで使うコードが
『else』=そのほかの、それ以外の
『そうでないなら』の部分に該当するコードです。
付け加える場所は書き終えた後と同じ行からです。
意味も使い方も『条件式の無いif文』といった感じなので単語のみを覚えることになります。
const points = 57;
if (points >= 40) {
console.log(“欠点ではありません”);
} else {
console.log(“欠点です!”);
}
新しく覚えるのは単語だけという簡単さです。
条件が『true』だった時の処理がif文
『false』だった時の処理がelse文
このように覚えておけばいいでしょう。
2.さらに条件を追加
では、さらに踏み込んで
『定数pointsの数値が30以下ならば【強制補習です!!】』
と出力する様にしたいとします。
その場合、どのようなコードとなるでしょうか。
そして、どのような文を使えばいいのでしょうか。
それは
『else文の後ろにif文を使えば良い』
という単純明快なやり方となります。
その後に再びelse文を使えば、例え二番目のif文の条件式が『false』でも結果がしっかりと出力されることになります。
const points = 29;
if (points >= 40) {
console.log(“欠点ではありません”);
} else if(points >= 30) {
console.log(“欠点です!”);
} else {
console.log(“強制補習です!!”);
}
if文なので条件式は必要となりますが、落ち着いて順番に書いていけばこんがらがることも無く成立するコードを書くことができるでしょう。
3.複数条件式
聞くだけでは首を傾げるでしょうが、複雑な条件となると『○○かつ□□』の条件1と条件2に該当する結果を知りたい場合などあります。
人間は見たらパッと答えを導くことは出来ますが機械はそうもいかず、今は定数で行っていますが変数となればややこしい事にもなるでしょう。
後半部分はさておき、この複数条件式のやり方について行います。
例えば、このままいくと後数年で未成年該当年齢が引き下げられ18歳から大人の仲間入りとなります。
ですが、アルコール類やたばこは健康上の規制の観点から現行法を維持することや、賭博関連も20歳以上に変更を加えない話を聞いたことがあります。
そうなると条件式が
『もし18歳以上、かつ、20歳以下ならば【アルコールもたばこも禁止!】』
となり
const age = 19;
if (age >= 18 && age <= 20) {
console.log(“アルコールもたばこも禁止!”);
}
コードはこのようになります。
今回は『かつ』=『&&』を使いましたが、他にも『または』=『||』の場合もあります。
『または』の場合はどちらかが『true』なら条件式が成り立ち出力されるプログラムとなります。
4.複数の処理
最後に出力結果の分岐をたくさん作りたい場合について書きます。
そこで使うコードは『switch文』というもので
『定数pointsの数値が100なら【1位!!!】
99なら【2位!!】
98なら【3位!】』
一点ずつ差が出来る点数はほぼあり得ませんが、このように出力したい場合に用います。
基本的な使い方はif文と変わらないのですが、『switch文』は
定数の中身が○○の場合なら●●、□□の場合なら■■、△△の場合なら▲▲
一つの定数に対してケース――事例や場合を作り結果を出力する意味を持ちます。
なので、上記の文章をプログラミングすると
const points = 99;
switch (points) {
case 100:
console.log(“1位!!!”);
break;
case 99:
console.log(“2位!!”);
break;
case 98:
console.log(“3位!”);
break;
}
このようになり、出力結果は【2位!!】となります。
『switch文』はややこしく
新たに『case』、『break』と単語が出てきます。
『case』は○○の場合、□□の場合と考えれば同じなので良いですが、締めくくりには『;(セミコロン)』ではなく『:(コロン)』を用いなければエラーとなります
一つの『case』に一つの『break』を用いて処理を終了させるのも忘れてはいけない部分となります。終わりは『;(セミコロン)』です。
意味合いはif文と同じですが、コードの書き方が『switch文』では異なるので難しく感じてきます。
最後に、どの『case』にも当てはまらない場合――定数pointsの数値が97とかだった場合。
4位以下は全て【次も頑張りましょう】と出力させるとすると
const points = 99;
switch (points) {
case 100:
console.log(“1位!!!”);
break;
case 99:
console.log(“2位!!”);
break;
case 98:
console.log(“3位!”);
break;
default:
console.log(“次も頑張りましょう”);
break;
}
初期設定や不履行の意味を持つ『default』を最後に用います。
書き方は『case』と同じなので問題はないでしょう。
最後に報告が一つ。
何故か学習に使わせてもらっているサイトの有料プランが無料プランに変更されていたので問い合わせの最中です。
これでは先に進めないので今週中に解決できなかった場合更新できません。
もしかするとHTML&CSSの学んだ部分を纏めるかもしれないです。
最終目的
・勿論手に職を付ける、若しくはお金を稼ぐ
・簡単なゲーム(リバーシや簡易シューティングなど)を作る
・フリーソフトで販売
短期目標
・大まかな流れを覚える
・プログラミングを理解する
上記の内容は覚える中で変わることがあると思います。