goto
日本語 | 行く |
英語 | go to |
ふりがな | ごーとぅー |
フリガナ | ゴートゥー |
無効な予約語。
特別な機能はないが、予約語のため変数名やメソッド名には使用できない。
Javaでは無効だが、C言語/C++言語では「特定の行にジャンプする」という機能を持つ予約語である。
JavaはC++言語を元に作られているが、「gotoはJavaには存在しない」ことを示すため、予約語としては持っている。そうすることにより、使用時にコンパイルエラーを出力させ、誤用を防いでいる。同様に無効な予約語としてconstがある。
C言語/C++言語におけるgotoと同じ機能を持つ予約語はJavaには存在しない。
gotoは、ラベルを貼った行にネストを無視して飛ぶため、for等のループ、if等の制御構造を崩してしまい、C言語/C++言語においても「使用禁止」と言われた予約語である。
逆に言えば、ステートメントの制御構造をうまく利用すれば、gotoで行いたいことはできるため、もしgotoが使われまくっているプログラムをJavaにリプレースする場合にはステートメントでうまく組み直すことになる。
特別な機能はないが、予約語のため変数名やメソッド名には使用できない。
Javaでは無効だが、C言語/C++言語では「特定の行にジャンプする」という機能を持つ予約語である。
JavaはC++言語を元に作られているが、「gotoはJavaには存在しない」ことを示すため、予約語としては持っている。そうすることにより、使用時にコンパイルエラーを出力させ、誤用を防いでいる。同様に無効な予約語としてconstがある。
C言語/C++言語におけるgotoと同じ機能を持つ予約語はJavaには存在しない。
gotoは、ラベルを貼った行にネストを無視して飛ぶため、for等のループ、if等の制御構造を崩してしまい、C言語/C++言語においても「使用禁止」と言われた予約語である。
逆に言えば、ステートメントの制御構造をうまく利用すれば、gotoで行いたいことはできるため、もしgotoが使われまくっているプログラムをJavaにリプレースする場合にはステートメントでうまく組み直すことになる。
参考サイト
- (参考サイトはありません)
// Sample.java
public class Sample
{
public static void main( String[] args )
{
// gotoを使ってみる……?
// goto warp;
// コンパイルエラー:
// キーワード "goto" に構文エラーがあります。正しくは "interface", "class" です。
// ラベルも作れません。
// warp:
// トークン "}" に構文エラーがあります。正しくは "{" です。
}
}
public class Sample
{
public static void main( String[] args )
{
// gotoを使ってみる……?
// goto warp;
// コンパイルエラー:
// キーワード "goto" に構文エラーがあります。正しくは "interface", "class" です。
// ラベルも作れません。
// warp:
// トークン "}" に構文エラーがあります。正しくは "{" です。
}
}
// Sample.java public class Sample { public static void main( String[] args ) { // gotoを使ってみる……? // goto warp; // コンパイルエラー: // キーワード "goto" に構文エラーがあります。正しくは "interface", "class" です。 // ラベルも作れません。 // warp: // トークン "}" に構文エラーがあります。正しくは "{" です。 } }