Javaでスコープ規則を理解するのに役立つ人はいますか?Javaのスコープ規則
{
int i = 0;
System.out.println(i); // fine, of course
}
System.out.println(i); // syntax error
i
が{}
内で宣言され、それが外に利用できません。これは明らかに有効ではありません。それでは、これはどうですか?
for (int i = 0; i < 10; i++) {
System.out.println(i); // fine, of course
}
System.out.println(i); // syntax error, same as above.
ここでは構文エラーに驚いています。 i
は外側のスコープで宣言されていますが、後で利用できません。 for
ループのいくつかの特別なルールによって内部ブロックスコープにバインドされていますか?これが起こる可能性がある他のシナリオはありますか?実際にこのように表さループのための
「裸」 '{}'と '{}' *その他のキーワードや文法の生産に関連した違いがある* - つまり、それはで表示されなければなりません多くのケースが類似したセマンティクスを持っていても、文法のコンテキスト。 –