7 、基本的な Java プログラム - 処理分岐、繰り返し -
技術情報 TOP へ


作業の準備

簡単な Java プログラムを作成して動かしてみます。まずは下記の作業準備を行ってください。

( 1 ) JDK がインストールされていることを確認します。
* java コマンド及び javac コマンドが正常に動作することを確認してください。

( 2 ) 適当な作業用フォルダを作成します。
ここでは、 C:\work という作業用ディレクトリを作成しました。


( 3 ) 任意のテキストエディタを用意してください。

( 4 ) コマンドプロンプトを開きます。

* 本ページでは、テキストエディタでプログラムを編集し、 コマンドプロンプトからコマンドでコンパイル、
実行する方法を記述していますが、 Eclipse 等のツールを使用されてもよいと思います。
テキストエディタと bat ファイルを使用することもできます。

Java のプログラム作成から実行までの順序は、「プログラム作成 - コンパイル- 実行 」となります。

・プログラム作成
プログラムを記述した ****.java ファイルの作成。

・コンパイル
javac コマンドでのコンパイル ( ****.class ファイルの生成 )。

・実行
java コマンドで作成したプログラムを実行します。




( 1 ) if 文を使用した処理分岐

if 文を使用した処理分岐を行うプログラムを作成してみましょう。 プログラムは下記の Hello クラスになります。

ファイル名:Hello.java
public class Hello {
	public static void main(String args[]) {
		int i = 1;		
		if(i > 0){
			System.out.println("i は 0 より大きい");
    		}
		else{
			System.out.println("i は 0 より小さい");
		}
	}
}

上記のプログラムの簡単な解説

int i = 1;
int 型の i という名前の変数を作成し、数値 1 を代入します。

if ( i > 0 ){
      System.out.println("i は 0 より大きい"); // 処理 A
}
else{
      System.out.println("i は 0 より小さい"); // 処理 B
}

if 文を使用して条件分岐を行います。if ( 条件式 ) で i を 0 と比較しています。
( i は 0 より大きいか否か。)
条件式が真 ( true ) の場合は処理 A が実行され、 偽 ( false ) の場合は、処理 B が実行されます。

if 文では、条件式が真 ( true ) か偽( false ) かで判定されます。
上記の場合、i は 1 なので 0 より大きい。したがって 標準出力に 「 i は 0 より大きい」と表示されます。



実際に動かしてみます。

作業用フォルダにテキストファイルを新規作成して、「Hello.java」という名前で保存します。

C:\work\Hello.java

上記のソースをコピーし、「Hello.java」を開き、貼り付け保存します。

コマンドプロンプトから下記のコマンドを実行します。

コマンドの意味:
cd C:\work ( カレントフォルダを C:\work に移動します。 )
javac Hello.java ( Hello.java を javac コマンドでコンパイルします。 )

cd C:\work
javac Hello.java
上記コマンドの実行結果。


フォルダ内を確認すると下記のように、Hello.class ファイルが作成されています。


つづいて、コマンドプロンプトから下記のコマンドを実行します。

コマンドの意味:
java Hello ( Hello.class を実行します。 )

java Hello
下記のように表示されれば成功です。


int i = 1 の数値の箇所ををいろいろ変えてみましょう。
例:int i = 365 ;


他の条件式例:
・i は、0 と同等以上
( i >= 0 )

・i は、0 以下
( i < 0 )

・i は、0 と同等以下
( i <= 0 )

・i は、0 と等しい
( i == 0 )

補足説明

2つ以上の値を比較する条件式では、AND 条件 && や & 、OR 条件 || や | を使用できます。
「値 a と値 b 」の両方が true の場合、「値 a と値 b 」どちらかが true の場合などで使用します。

AND 条件 使用例:( i > 0 & n > 5 )
i が 0 より大きい、且つ、n が 5 より大きい。

OR 条件 使用例:( i > 0 | n > 5 )
i が 0 より大きい、もしくは、n が 5 より大きい。

AND 条件 && と & の相違点は下記になります。
・( a & b ) では、a が true であっても false であっても b が true か false かを判定してから if 文条件式の判断を行います。
・( a && b ) では、a が false であれば、b の判定を行わず if 文条件式は false と判断されます。

OR 条件 || と | の相違点は下記になります。
・( a | b ) では、a が true であっても false であっても b が true か false かを判定してから if 文条件式の判断を行います。
・( a || b ) では、a が true であれば、b の判定を行わず if 文条件式は true と判断されます。

他にも条件式は様々なパターンがありますが、if 文では、条件式が真 ( true ) か 偽 ( false ) かで判定されます。


( 2 ) switch 文を使用した処理分岐

switch 文を使用した処理分岐を行うプログラムを作成してみましょう。 プログラムは下記の Hello クラスになります。

ファイル名:Hello.java
public class Hello {
	public static void main(String args[]) {
		  int i = 1;
	          switch (i){
	          case 1 :
	            System.out.println("i は 1 です。");
	            break ;
	          case 2 :
	            System.out.println("i は 2 です。");
	            break ;
	          default :
	            System.out.println("i は 1・2 以外 です。");
	            break ;
		 }
	}
}

上記のプログラムの簡単な解説

int i = 1;
int 型の i という名前の変数を作成し、数値 1 を代入します。
switch 文を使用して条件分岐を行います。switch (条件式)、条件式が case で指定された値と 一致する場合、break までの処理が実行されます。
ここでは、i = 1 なので、 System.out.println("i は 1 です。"); が実行されます。
default は、どの case の値にも一致しなかった場合に実行されます。

上記から、この Hello クラスを実行すると、標準出力に 「i は 1 です。」 と表示されます。


プログラムをコンパイルします。
cd C:\work
javac Hello.java
プログラムを実行しましょう。
java Hello
下記のように表示されれば成功です。


( 3 ) ループ処理の使用 -for 文-

for 文を使用した処理分岐を行うプログラムを作成してみましょう。 プログラムは下記の Hello クラスになります。

ファイル名:Hello.java
public class Hello {
	public static void main(String args[]) {
		for(int i =0;i < 10 ; i ++){
			System.out.println("Hello!");
		}
	}
}

上記のプログラムの簡単な解説

for 文を使用してSystem.out.println("Hello!") を10回表示します。 for 文では、条件式 i < 10 が true となる間、ループを続けます。 i ++ とすることで、i は、1 ループに 1 づつ加算されていき、10 回実行されたところで、 i は 9 となります。次のループ実行判定時には i は 10 となるので、 条件式は false となり、その時点でループは終了します。
( 0 から 9 まで、つまり、10 回実行される。 )

for(int i =0; i < 10 ; i ++){
    System.out.println("Hello!");
}

上記から、この Hello クラスを実行すると、標準出力に 「Hello!」が 10 回、表示されます。


プログラムをコンパイルします。
cd C:\work
javac Hello.java
プログラムを実行しましょう。
java Hello
下記のように表示されれば成功です。


( 3 ) ループ処理の使用 -while 文-

while 文を使用したループ処理を行うプログラムを作成してみましょう。 プログラムは下記の Hello クラスになります。

ファイル名:Hello.java
public class Hello {
	public static void main(String args[]) {
		int i = 0;
		while(i < 10){
			System.out.println("Hello!");
			i++;
		}
	}
}

上記のプログラムの簡単な解説

while ループ文を使用してSystem.out.println("Hello!") を10回表示しています。
while ループ文では、条件式 (i < 10) が true となる間、ループを続けます。
i ++ とすることで、i は、1 ループに 1 づつ加算されていき、10回ループしたところで、 i は 10 となります。条件式は false となり、その時点でループは終了します。
while ループ文では、条件式を間違えると無限ループ ( 半永久的にループしつづける ) に陥る危険があるので注意しましょう。

while(i < 10){
    System.out.println("Hello!");
    i++;
}

上記から、この Hello クラスを実行すると、標準出力に 「Hello!」が 10 回、表示されます。


プログラムをコンパイルします。
cd C:\work
javac Hello.java
プログラムを実行しましょう。
java Hello
下記のように表示されれば成功です。


技術情報 TOP へ


Google
WWW を検索 whitemark.co.jp を検索
[ 株式会社ホワイトマーク TOP ]   [ 免責事項 ]

Copyright © 2006 by WhiteMark, All rights Reserved. Last Modified: 2006/05