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 文(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