この章では、for文、while文、do while文という 3つの繰り返し構造を学習しました。ところで、BASCIには繰り返しとは異なる GOTO文というものが存在します。サンプルプログラムは以下の通り。
10 PRINT "A" 20 GOTO 50 30 PRINT "C" 40 GOTO 70 50 PRINT "B" 60 GOTO 30 70 PRINT "D"
上記のプログラムでは、A→B→C→Dの順番で文字列が画面に出力されます。これはシンプルな例ですが、動きがとても追いづらいですよね。かつて、プログラミングの世界では構造が複雑なソースコードに対してスパゲティソースという言葉がしばしば使われていました。BASICはその言語構造上、ソースコードが複雑になることがよくありました。
また、C言語でも以下のような感じで goto文が使用されることが稀にあります。
while(条件) { while(条件) { if(条件) { println("発見\n"); goto label; } } } label: printf("完了");
Javaは、goto
は予約語に指定されています。しかし、goto文は使用することができません。つまり、goto
は何の役にも立たない予約語ということになります。
Javaにおいて、上記の C言語のように複数のループを一気に抜けるためには、ラベルを指定してのbreak
文で対処することになりますが、使用することは極めて稀だと思うこともあり、本ウェブサイトでは省略します。
雑学的な話になりますが、Javaにおいて、まったく意味の無い予約語は、もうひとつconst
があります。