goto文は使えない

みるくあいらんどっ! > ドキュメント > Java > じっくり学ぶ Java講座 [初心者向け・入門]


goto文は使えない

この章では、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があります。

最終更新: 2013/02/01 , 公開: 2013/02/01
▲top