制御構造

作成日:2007-07-15
最終更新日:

繰り返し

for を使うのが一般的である。 以下は、サティ作曲の「ヴェクサシオン」(嫌悪、嫌がらせ、の意味) である。840回繰り返す。次のプログラムでは、 クラス名を Ofendo としている。エスペラントで「侮辱」の意味。 -a は同じく「回」、ludo は同じく「演奏」。


class Ofendo {
    public static void main(String args[]){
	    int n = 840;
	    for (int i = 1; i <= 840; i++) {
	        System.out.println(i + "-a ludo");
	    }
    }
}

実行結果

$ java Ofendo
1-a ludo
2-a ludo
(中略)
839-a ludo
840-a ludo

拡張 for 文

拡張 for 文(enhanced for statement)という構文がある。この構文は、コレクションや配列に対して使える。 反復をコンパクトに書けるので、読みやすい。
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html
に例がある。下記は配列に対して使った例である。


	class Take5 {
		public static void main(String args[]){
			int[] numeroj = [1, 2, 3, 4, 5];
			for (int elemento : numeroj) {
				System.out.println("Takto estas: " + elemento);
			}
		}
	}
	

次に、コレクションに対して使う例を示す。 コレクションは、Iterable インターフェースを有しているので、この拡張 for 文が使える。
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Iterable.html


	class Verko {
		public static void main(String args[]){
			Set<String> aro = new HashSet<>();
			Collections.addAll(aro, "nokturno", "barkarolo", "valso", "improvizaĵo");
			for (String katgorio : aro) {
				System.out.println(katgorio));
			}
		}
	}
	

この項 2020-12-11

分岐

選択肢が3つ以上の場合に用いられるのが、switch 構文である。 コマンドラインの数字を拍子として認識し、楽曲種類を表示する例である。

class Takto {
    public static void main(String args[]){
	int n = Integer.parseInt(args[0]);
	switch (n) {
	case 2:
	    System.out.println("marsxo"); // 行進曲
	    System.out.println("polko"); // ポルカ
	    break;
	case 3:
	    System.out.println("valso"); // ワルツ
	    System.out.println("polonezo"); // ポロネーズ
	    break;
	case 4:
	    System.out.println("pavano"); // パヴァーヌ
	    System.out.println("gavoto"); // ガヴォット
	    break;
	case 6:
	    System.out.println("siciliadanco"); // シチリアーナ
	    System.out.println("barkarolo"); // 舟歌
	    break;
	default:
	    System.out.println("nekonata numero"); //認識できない文字
	}
    }
}

実行結果

$ java Takto 6
siciliadanco
barkarolo

まりんきょ学問所Java羅剣 > 制御構造


MARUYAMA Satosi