Java: Por que preciso inicializar uma variável local primitiva?

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

A instrução print causa o seguinte erro de tempo de compilação,

A variável local f pode não ter sido inicializada

Se os primitivos em Java já tiverem umvalor padrão (float = 0.0f), por que eu sou obrigado a definir um?

Editar:

Então, isso funciona

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

Obrigado a todos!

questionAnswers(5)

yourAnswerToTheQuestion