制御文

プログラムの処理の流れを制御する命令文のことを制御文と言います。制御文は以下の3つの種類に分けることができます。
  • 順次
    • 上から順番に流れていく処理のこと。
  • 分岐
    • ある条件を満たした場合と満たさない場合で異なる処理をすること。
  • 繰り返し
    • 同じ処理を繰り返し実行すること。
これら3種類の制御文を組み合わせてプログラムを記述していきます。

分岐処理

  • if文
    • 「もし〇〇だったら××という処理をする」という命令文です。
  • switch文
    • 「いくつかの処理の中から1つを選んで実行する」命令文です。

if文

if文は、指定された条件が真である場合に、特定の処理を実行するために使用されます。
条件式は、trueまたはfalseの真偽値型の値を返します。条件式を満たす場合にはtrue、満たさない場合にはfalseとなります。
条件式がtrueの場合に実行する処理は、中括弧 内に記述されます。条件式が偽の場合、elseの中括弧 内の処理が実行されます。条件式を満たさなかった場合に特に実行する処理がなければ、省略することも可能です。
条件式は、比較演算子、論理演算子と組み合わせて記述します。
上記の条件式は、「変数aが0より大きい場合に処理を行う」if文です。
上記の条件式は、「変数aが0より大きくかつ10より小さい場合に処理を行う」if文です。
💡
ローカル変数について
からまでの間をブロックまたはスコープと言います。処理のまとまりをで括ります。
条件を満たした時に実行する処理は、ココから→、ココまで←だよ、ということを示しています。
このスコープ内で変数を宣言する場合には注意点があります。
  • 同じ名前の変数名を繰り返し宣言することはできません。
    • 上記は、の間で変数strを宣言しているプログラムです。strという変数を繰り返し宣言することはできません。
  • 宣言したスコープの中でのみ有効です。
    • if文のスコープの中で宣言した変数numは、if文の外では使用できません。
このの間で宣言した変数を、ローカル変数と呼びます。

else if文

if文は「もし〇〇だったら××という処理をする」という意味でした。else ifは、〇〇じゃなかった場合の条件を増やすことができます。
if文のブロックとelseのブロックの間に書きます。このような、より多くの分岐を行う処理を多分岐処理と言います。
この例では、変数の値に応じて成績を評価しています。まず、90以上の場合は「優秀です!!」と表示されます。次に、80以上90未満の場合は「良いです!」と表示されます。さらに、70以上80未満の場合は「普通です。」と表示されます。最後に、70未満の場合は「不合格です…」と表示されます。

switch文

switch文では、if文の多分岐処理と同じように値に応じて処理を分岐させることが可能です。
switchの後ろのの値が、caseのところのに一致する場合にはを、に一致する場合にはを実行します。句に制御が移り、その下の命令文が実行されます。いずれにも一致しなかった場合には、の下の命令文が実行されます。if文でいうところのと同じような役割になります。式には通常、変数が指定されることが多いです。
caseの値1、値2、またはdefaultの後の記号は、セミコロンではなくて、コロンになりますので注意してください。
このコードは、与えられたスコアに基づいてメッセージを表示するプログラムです。
  • 文による条件分岐
    • 文は、ある式の結果に基づいて複数のケースを比較し、該当するケースのブロックを実行します。このプログラムでは、与えられたスコアを10で割った商を評価式として使用しています。
  • 文によるケースの比較
    • 文による終了
      これは、Main5クラスのif文のサンプルをswitch文に書き換えたプログラムです。

      繰り返し処理

      while文

      指定された条件が満たされている間、特定の処理を繰り返し実行するために使用されます。while文の基本的な構文は以下の通りです。
      条件式が真の場合には、ブロックの中の命令文が実行されます。条件式が偽になるまでループが継続されます。
      条件式はif文と同じように比較演算子や論理演算子を使います。
      このプログラムでは、変数を初期化して1から始め、while文を使用して5以下の範囲で繰り返し処理を行っています。ループの中では、現在のの値が表示され、が1ずつ増加します。ループはが5になるまで続きます。
      出力結果は以下のようになります。
      このように、while文を使用することで、指定された条件が真である限り繰り返し処理を行うことができます。

      do〜while文

      while文の補足です。while文に似た繰り返しの命令文でdo〜while文があります。