Может кто-нибудь помочь мне понять правила определения объема в 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
?Существуют ли другие сценарии, где это может произойти?