1

gototheが Java のキーワードであることは知っています。また、wikiから、「使用されておらず、機能がありません」ということを抜粋できます。

goto私は、それが役に立たず、どこにも使用されていないのに、なぜキーワードとして宣言されているのだろうか? 誰かgotoがJavaプログラムで使用したことがありますか? Java プログラミングで宣言された goto のようなキーワードは他にありますが、比喩的には使用されていません。

日常のプログラミングで goto を使用する場所、またはめったに使用しない場合は?

4

5 に答える 5

4

goto ステートメントについての要約を次に示します。

使用法:

それらは、言語のステートメントのブロックから飛び出すために使用されます.JMP命令は、アセンブリレベルでこの作業を行います.

Goto は、プログラムのトレースを困難にするため、厳重に禁止されています。コード内の過度のジャンプは、プログラムを遅くします。内部に goto があるループを想像してください。それはまったく良くありません。

Java は、このキーワードを予約している可能性があります。これは、あいまいさを避けるために、jvm (C/C++ のビット) コード内のネイティブ コードも含まれている可能性があります。

Java は goto の実装として break を提供しますが、その使用法も制限されており、頻繁に使用するべきではありません。

Java での GOTO としてのブレークの例を次に示します。

于 2013-04-20T05:38:51.710 に答える
1

gotoconst が元々予約されていた本当の理由を知るには、Java 言語の設計者に尋ねる必要があります。言語がオークと呼ばれたときに決定が下されたでしょう。

ただし、もっともらしい説明がいくつかあります。

  • 彼らは、これらのキーワードを使用できるように言語を拡張する必要があるかもしれないと考え、選択肢を開いたままにしていました。

  • 彼らは、C/C++ プログラマーが Java コードを読んで、見当違いの人が "goto" または "const" を変数またはメソッド名として使用することに決めたという認知的不協和を回避したいと考えていました。

しかし、これらの予約語が現在使用される可能性はゼロです。


アップデート

どうやら Javaは、ある時点で go を 行っていたようです。

「私が行ったことの 1 つは、goto に問題があったことです。Java には、ある時点で goto がありました。私は、人々が goto で何をしているかについてこの研究を行いましたか?そして、50 万行のコードのその研究に基づいて、私はちょうどそれを取り除きました。」

「James Gosling on Java、2001 年 5 月」より。

したがって、本当の説明は、Java の初期のバージョンで使用さgotoていたために予約されており、彼らはそれを取り除くことにしたということです。

于 2013-04-20T06:16:15.743 に答える
1

宣言されて使用されない理由は、将来必要になった場合に備えて予約するためです。現在、それは何の役にも立たない。

const何もしない別の予約語です。これらは予約されているため、プログラムで (変数として) 使用することはできません。

于 2013-04-20T05:29:18.793 に答える
0

Java キーワード リストで goto キーワードが指定されていますが、「未使用」とマークされています。Java プログラミングで宣言されている goto に似ているが比喩的には役に立たない他のキーワードについては、Java キーワード リストを参照してください。

startAgain:
for(int i =0; i <10 ;i++){
    for(int i =0; i <10 ;i++){
        if(someCondition)
        break startAgain;

    }

}

上記のコードは goto に似ています。

于 2013-04-20T05:28:16.013 に答える
0

go toステートメントは java. で使用できますが、「未使用」とマークされています。

goto の代わりに labelled break ステートメントを使用できます

壊す

于 2013-04-20T05:28:18.977 に答える