「Java言語」の「分岐処理」の作り方を学ぶ
「分岐処理」は、条件によって実行するプログラムを切り替えられる方法です。
この方法はプログラムを書く際にかなりたくさん使うので、これまでに学んできたプログラムの中でも一番記憶に残っていました。
それでは、「Java言語」の「分岐処理」について学んでいきたいと思います。
「分岐処理」について学ぶ
はじめに学んでいきたいのは「if文」です。
if文
「Java言語」の「if文」の作り方を調べていたら、これまでに学んだプログラミング言語とそんなに違いはありませんでした。
「if文」は、
if( 条件式1 ){ 「条件1」を満たした時の処理 } else if( 条件式2 ){ 「条件2」を満たした時の処理 } else { 「条件1」と「条件2」を満たさなかった場合の処理 }
のように作っていきます。
プログラムを作ってみると、
int i = new Random().nextInt(5); System.out.println("i=" + i); if( i == 0 ) { System.out.println("「0」が出ました。"); } else if( i == 1 ) { System.out.println("「1」が出ました。"); } else if( i == 2 ) { System.out.println("「2」が出ました。"); } else if( i == 3 ) { System.out.println("「3」が出ました。"); } else { System.out.println("「4」が出ました。"); }
のようになります。
「new Random().nextInt(ランダムな値の最大値 + 1)」のように指定すると、「0 ~ 指定した値」の「乱数(ランダム値)」を取得することができます。
画面に「i」の変数を出力して、「iの変数の値」に応じて出力する内容を切替えています。
試しにプログラムを実行してみると、
i=1 「1」が出ました。
のように表示されます。
出力結果は「乱数(ランダム値)」を利用しているため、プログラムを実行する度に異なる値が出力されます。
「if文」は、「if」のみ単独で使うこともできます。
例えば、
int i = new Random().nextInt(5); System.out.println("i=" + i); if( i == 0 ) { System.out.println("「0」が出ました。"); }
のように書くこともできます。
同様に「ifとelse if」のみや「ifとelse」のみでも書くことができます。
条件によって処理を切り分けたい機会は多いと思いますので、使う機会も多いのではないかと思います。
switch文
もう一つの処理の分岐方法としては「switch文」という方法もあります。
「switch文」の書き方は、
switch (判定対象の値){ case 値1: 実行する処理 break; case 値2: 実行する処理 break; default: 上記の「case」に一致しなかった場合の処理 }
のようになり、「break」は、これ以降の判定を行わず「switch文」の処理を抜けるという働きがあります。
実際にプログラムを作ってみると、
int i = new Random().nextInt(5); System.out.println("i=" + i); switch (i){ case 0: System.out.println("「0」が出ました。"); break; case 1: System.out.println("「1」が出ました。"); break; case 2: System.out.println("「2」が出ました。"); break; case 3: System.out.println("「3」が出ました。"); break; case 4: System.out.println("「4」が出ました。"); break; default: System.out.println("値の判定ができません。"); }
のようになります。
「if文」と「switch文」を具体的にどのように使い分けていけばいいのかがわからないのですが、いろいろなプログラムを書きながら、「どっちの方がいいのか?」を考えていきたいと思います。
「Java」は、「もっと難しい言語」というイメージがあったのですが、特段難しいというわけではないみたいです(今のところ)。
今後、「新しい書き方」がどんどん出てくると思いますので、少しずつ覚えるようにしていきたいと思います。