この動画はメンバー限定動画です

全ての講座が
月額990円で学び放題

講座の情報を見る

TypeScript入門100回サイコロを振って、1が出たら終わりにしよう – break

記事を共有:

  • X
  • Pocket
  • クリップボードにコピー

繰り返し構文は「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個並んでいきます。

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が出るとその場でプログラムが終了するようになります。そのため、実際に何回数字が表示されるかは、その時々で変化します。

このように、繰り返しをしながら、途中で終了する場合には「break」を繰り返しの処理内に記述しましょう。

breakはプログラムが続く

breakを挿入した場合、終了するのは繰り返し構文などだけで、プログラム自体は終了しません。そのため、繰り返しの後に次のようなプログラムを追加した場合などは、そのまま実行されます。

console.log('繰り返しが終わりました');

繰り返しを続ける「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度行われるという動きをしています。

breakと違うのは、繰り返しが終わらずに引き続き繰り返しは行われるという部分です。このように、breakとcontinueで繰り返しの内容を制御できます。

前のレッスン 次のレッスン