この動画はメンバー限定動画です
全ての講座が
月額990円で学び放題
繰り返し構文は「break;」という処理を使うことで、繰り返しを途中で中断することができます。
例えば、次のようなプログラムを作成しましょう。
100回サイコロを振る。その際、1が出たら振るのをやめる
順番に作っていきましょう。
100回サイコロを振ろう
サイコロを振るというプログラムは、前のレッスンですでに作成しました。次のようなプログラムになります。
let dice: number = Math.floor(Math.random() * 6) + 1;
console.log(dice);
これを100回繰り返すので、for構文を使って次のようなプログラムを作成しましょう。
let dice: number;
for (let i=0; i<100; i++) {
dice = Math.floor(Math.random() * 6) + 1;
console.log(dice);
}
これを実行すると、画面には1から6のいずれかの数字が100個並んでいきます。
![](https://tomosta.jp/wp-content/uploads/2024/05/image-70-1024x576.png)
1が出たら終了しよう
ではここで、diceの値が1だったら繰り返しを終了するというプログラムにしていきます。まず、「1が出たかどうか」というのは、次のif構文で判断できます。
if (dice === 1) {
}
ここで、「break」をして繰り返しを終了してみます。全体のプログラムは次のようになります。
let dice: number;
for (let i = 0; i < 100; i++) {
dice = Math.floor(Math.random() * 6) + 1;
if (dice === 1) {
break;
}
console.log(dice);
}
これを実行すると、画面には最大で100回まで数字が表示されますが、1が出るとその場でプログラムが終了するようになります。そのため、実際に何回数字が表示されるかは、その時々で変化します。
![](https://tomosta.jp/wp-content/uploads/2024/05/image-71-1024x576.png)
このように、繰り返しをしながら、途中で終了する場合には「break」を繰り返しの処理内に記述しましょう。
breakはプログラムが続く
breakを挿入した場合、終了するのは繰り返し構文などだけで、プログラム自体は終了しません。そのため、繰り返しの後に次のようなプログラムを追加した場合などは、そのまま実行されます。
console.log('繰り返しが終わりました');
![](https://tomosta.jp/wp-content/uploads/2024/05/image-72-1024x576.png)
繰り返しを続ける「continue;」
「break」と似た記述に「continue」があります。これは繰り返しの処理を中断するのは同じですが、繰り返し自体は引き続き行われます。次のように変更してみましょう。
let dice: number;
for (let i = 0; i < 100; i++) {
dice = Math.floor(Math.random() * 6) + 1;
console.log(dice);
if (dice === 1) {
continue;
}
console.log('1以外でした');
}
すると、画面には数字が表示される中で1以外の時に「1以外でした」と表示されるようになります。1の時だけ、プログラムの残りが無視されて繰り返しがもう1度行われるという動きをしています。
![](https://tomosta.jp/wp-content/uploads/2024/05/image-73-1024x576.png)
breakと違うのは、繰り返しが終わらずに引き続き繰り返しは行われるという部分です。このように、breakとcontinueで繰り返しの内容を制御できます。