Область блока в Java
Пара фигурных скобок образует блок. Переменная, объявленная внутри блока, видна только между этими скобками.
Имя token объявлено внутри блока.
Сразу после закрывающей скобки программа
не соберется:
if (true) {
String token = "abc";
System.out.println(token);
}
System.out.println(token); // программа не собирается
Вложенный блок может читать переменную
внешнего блока того же метода, если имена
не совпадают. На экран попадут 1
и 2:
int outer = 1;
if (true) {
int inner = 2;
System.out.println(outer);
System.out.println(inner);
}
Имя из внутреннего блока снаружи не видно. Программа снова не соберется:
if (true) {
int inner = 2;
}
System.out.println(inner); // программа не собирается
Код не собирается. Исправьте его так,
чтобы на экран попала строка "ok":
if (true) {
String status = "ok";
}
System.out.println(status);
Дан код:
int a = 1;
if (true) {
int b = 2;
System.out.println(a + b);
}
System.out.println(b);
Определите, соберется ли программа.