ループを扱うとき、プログラマは変数の宣言という微妙な選択に直面します。ループのスコープ内またはスコープ外。この難問は、特に潜在的なパフォーマンス上の懸念とコーディング スタイルに関して、終わりのない議論を引き起こしました。
Java プログラマーは、この区別について疑問に思うことがよくあります。たとえば、次のコードについて考えてみましょう。
<br>String str;<br>while (condition) {</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">str = calculateStr(); .....
}
このコードは、while ループの外側で変数 "str" を宣言していますが、これは一般に何も発生しません。眉毛。ただし、対応するもの:
<br>while (条件) {</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">String str = calculateStr(); .....
}
にはフラグが立てられることがよくあります「危険」または「間違っている」として。この異なる処理の背後にある理論的根拠は何ですか?
鍵はローカル変数のスコープにあります。変数のスコープによって、プログラム内での変数の可視性の範囲が決まります。 Java では、ブロック内で宣言された変数のスコープはそのブロックに限定されます。
最初のスニペットでは、「str」がループの外で宣言され、プログラム全体を含むスコープが与えられます。これは有利に見えるかもしれませんが、一般にベスト プラクティスではありません。 「str」の範囲をループ自体に制限することで、2 番目のスニペットはそのコンテキスト内でのみアクセスできるようになります。
なぜこれが重要ですか?これは効率と明確さが重要です。
したがって、答えは明らかです。一般に、ループ内で変数を宣言することが望ましいです。外ではなく。この原則に従うことで、コードの効率、可読性、保守性を向上させることができます。
以上がJava ではループ変数をループの内側または外側で宣言する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。