四回目ーーwhile文、for文ーー
サイトの件は解決したので学習を優先します。
if文が終わるので、まずは復習から。
前回までで習ったことは
・『console.log();』で文字列(“”必須)や数値を出力
・四則計算(+-*/)の他に%を使って余りを求める計算
文字列の連結(“文字”+”文字”)
・変数の場合『let 変数名 = ○』、定数の場合『const』
変数のみ数値を入れ替えることが可能(変数名+○)
・文字列の中に変数(定数)を入れることができる
『テンプレートリテラル』(console.log(`${}歳です`)
・条件分岐のif文『if(条件式){処理}』
あわせて『<>』等号・不等号を用いた分岐
・if文の条件式が成り立たなかった場合の処理『else』
・~かつを意味する複数条件の『&&』
・~またはを意味する複数条件『||』
・逆に変数(定数)の値によって処理が異なる『switch文』
(case”○”: 処理 break;)
どれも該当しない『default』
やっていることは簡単なプログラミングですが、その応用や使い方は多岐に渡る為頭がこんがらがってきます。
それでもこれらは基礎の基礎と言ってもいいと思うので、HTML&CSSで学んだように反復学習で覚えて行こうと思います。
1.繰り返し処理
いつもの事ですが、始めて学習するコードの数々は基礎に値するので、その使い方を考えても思いつくのは限られています。
繰り返しというと、同じ数値を何度も足していく計算を思いつきます。
1を何度も足して100にする計算や複数の変数名を用いて1~100までを足す計算などですね。
そういう時に同じコードを百回も書くのか、となるとそうはなりません。
そのためのコードが繰り返し処理『while文』となります。
true(条件式が成り立つ)の間だけ処理を行うコードです。
どのコードの書き方も基本は同じです。
while (条件式) {
処理
}
もし1を足し続けて100にしたいコードを書きたいとするなら
let number = 1
while (number <= 100) {
console.log(number);
number += 1;
}
100を目指すので100を含む条件式で101になったら成り立たず処理を止めるコードにしなければいけません。
今回のコードは全て出力するようになっており、1~100まですべて出力されていきます。
注意として、numberの数値を更新(足し算)しなかったら無限に1が繰り返し処理される為エラーを起こします。
次は1~100を足していきたいと思います。
let number = 1;
let points = 0;
while (number <= 100) {
points = number + points;
number = number + 1;
}
if (number = 100) {
console.log(points);
}
これで5050が出力されます。
このような感じでwhile文は使います。
二つ目の例はよく使われる計算だと思うので、計算機が無ければそれなりに相応しいコードとなるのではないでしょうか。
2.for文
これはwhile文と同じく繰り返し処理を行う為のコードです。
形としては
for (let number = 1; number <= 100; number +- 1){
console.log(number);
}
条件式の中に変数の定義、条件式、変数の更新の三つが入ります。
省略されている部分も無いので使いやすい方を使うのが良いのではないでしょうか。
もう一つのコードをfor文にするのはよく分かりません。
二つの運用法もなにかメリット・デメリットがあると思うのですが、今の段階では学ぶことが多くそこまで考えられないので後回しにして次に進みます。
3.まとめ
まとめというより応用です。
1を足して100にするコードで、3の倍数の時だけ「3の倍数です」と出力するようにするなどです。
そのようなコードを書きたい時は『if文』を使います。
もし3で割り切れるなら「3の倍数です」と出力させるためですね。
for (let number = 1; number <= 100; number = number + 1) {
if (number % 3 === 0) {
console.log("3の倍数です");
} else {
console.log(number);
}
}
注意する所はまずif文の条件式『===』の部分。
等しい場合のみ処理を行います。
そして条件式が成り立たない場合『else』へ流れ処理されるという所です。
どんなコードも機械が認識できるように作り成り立たせなければ、いくら人間が頭の中で成立させていても結果は出てきません。
プログラミングもその部分が一番苦労すると思うので、そうでなければエラーも出ないでしょうし、やはり反復学習が一番の近道と思うのです。
最終目的
・勿論手に職を付ける、若しくはお金を稼ぐ
・簡単なゲーム(リバーシや簡易シューティングなど)を作る
・フリーソフトで販売
短期目標
・大まかな流れを覚える
・プログラミングを理解する
上記の内容は覚える中で変わることがあると思います。