Назад к вопросам
JuniorТеорияЧасто
Что произойдёт при компиляции и запуске программы?
public class Main {
public static void main(String[] args) {
int x;
System.out.println(x);
}
}Не скомпилируется
- Ждать
0: локальная переменная не получает значения по умолчанию, и javac не даёт прочитатьxдо присваивания. - Ждать ошибки при запуске: javac проверяет, что переменной дали значение до каждого чтения, и программа не собирается.
- Почему
static-поле получает значение по умолчанию, а локальная переменная — нет? - Как javac решает, что переменной точно присвоено значение после
if?