Java: Почему я должен инициализировать примитив локальной переменной?

public class Foo {
    public static void main(String[] args) {
        float f;
        System.out.println(f);
    }
}

Оператор print вызывает следующую ошибку во время компиляции:

The local variable f may not have been initialized

Если примитивы в Java уже имеютзначение по умолчанию (float = 0.0f)Почему я должен определить один?

Edit:

Итак, это работает

public class Foo {
    float f;
    public static void main(String[] args) {
        System.out.println(new Foo().f);
    }
}

Спасибо всем!

Ответы на вопрос(5)

Ваш ответ на вопрос