■ if 命令の書き方 |
||||||||||||||||||||||||||||||||||||||||||||||||
if命令は、次のように記述します。
if (条件){ 条件が満たされた場合の処理 } else { 条件が満たされない場合の処理 }例えば、「定価が1000円以上の商品は100円引きする。 それ以外の商品は50円引きする」という処理をしたい場合、次のように記述します。 if (定価>=1000){ 定価=定価 - 100; } else { 定価=定価 - 50; }これは、次のように書いても同じことをします。 if (定価<1000){ 定価=定価 - 50; } else { 定価=定価 - 100; }次のプログラムは、定価をキーボードから入力させ、もし2500円以上であれば300円 値引きし、それ以外の場合は100円引きとし、値引き後の価格を出力するプログラムです。 // 定価を入力し、値引き計算後、結果を表示する。 import java.io.*; public class IfHantei1{ public static void main(String[] arges) throws IOException { String teika_in; int teika, nebikigo; BufferedReader kbd = new BufferedReader(new InputStreamReader(System.in)); while(true){ System.out.print("定価を入力して下さい。"); teika_in = kbd.readLine(); try{ teika = Integer.parseInt(teika_in); if (teika >= 2500){ nebikigo = teika - 300; } else { nebikigo = teika - 100; } System.out.println("値引き後の価格は、"+nebikigo+"円です。"); } catch(NumberFormatException e){ System.out.println("数値を入力して下さい。"); continue; } break; } } }このプログラムを実行させると、次のように処理します。
|
||||||||||||||||||||||||||||||||||||||||||||||||
■ if else 命令 | ||||||||||||||||||||||||||||||||||||||||||||||||
処理によっては、条件が1つだけとは限りません。もっと複雑な条件もあります。 例えば、「定価が2500円以上であれば300円値引きし、2500円未満で1000円以上であれば、200円値引きし、それ以外であれば100円値引きする。」という場合、条件は次の3つがあります。
if (1の条件) { 300円値引きする処理 } else if (2の条件) { 200円値引きする処理 } else { 100円値引きする処理 }上記のように、 「もし1の条件であれば、300円値引きして、 もし2の条件であれば、200円値引きする、 それ以外であれば100円値引きする。」と、else if 命令を使用して条件を複数個記述します。上記の書き方では、3の条件を記述していません。これは記述しても構いませんが、書かなくても"それ以外"に該当しますので同じように処理します。
上記の値引きをするプログラムを以下に示します。
これを実行すると次のようになります。
|
||||||||||||||||||||||||||||||||||||||||||||||||
■ 条件式の書き方(関係演算子と論理演算子) | ||||||||||||||||||||||||||||||||||||||||||||||||
if命令では、条件を判断して処理の手順を変えることができます。 そこで、条件をどのように記述できるかが非常に重要になってきます。 if命令の条件は、次の2種類の演算子を使って条件を記述します。
|
||||||||||||||||||||||||||||||||||||||||||||||||
■ 論理演算子を使ったプログラム例 | ||||||||||||||||||||||||||||||||||||||||||||||||
次のプログラムは、以下の条件で値引き計算をし、結果を出力するプログラムです。
// 定価と性別を入力し、値引き計算後、結果を表示する。 import java.io.*; public class IfHantei3{ public static void main(String[] arges) throws IOException { String teika_in, sex_in; int teika, nebikigo; BufferedReader kbd = new BufferedReader(new InputStreamReader(System.in)); while(true){ System.out.print("定価を入力して下さい。"); teika_in = kbd.readLine(); System.out.print("性別をfかmで入力して下さい。"); sex_in = kbd.readLine(); try{ teika = Integer.parseInt(teika_in); if (teika >= 2500 && sex_in.equals("f")) { nebikigo = teika - 500; } else if (teika >= 2500){ nebikigo = teika - 300; } else if (teika >=1000) { nebikigo = teika - 200; } else { nebikigo = teika - 100; } System.out.println("値引き後の価格は、"+nebikigo+"円です。"); } catch(NumberFormatException e){ System.out.println("数値を入力して下さい。"); continue; } break; } } }上記プログラムの実行例を以下に示します。 [egi@taro prog]$ java IfHantei3 定価を入力して下さい。1000 性別をfかmで入力して下さい。f 値引き後の価格は、800円です。 [egi@taro prog]$ java IfHantei3 定価を入力して下さい。3000 性別をfかmで入力して下さい。f 値引き後の価格は、2500円です。 [egi@taro prog]$ java IfHantei3 定価を入力して下さい。2000 性別をfかmで入力して下さい。f 値引き後の価格は、1800円です。 [egi@taro prog]$ java IfHantei3 定価を入力して下さい。3000 性別をfかmで入力して下さい。m 値引き後の価格は、2700円です。 |
||||||||||||||||||||||||||||||||||||||||||||||||
|