Was there any reason why the designers of Java felt that local variables should not be given a default value? Seriously, if instance variables can be given a default value,
It is more efficient not to initialize variables, and in the case of local variables it is safe to do so, because initialization can be tracked by the compiler.
In cases where you need a variable to be initialized you can always do it yourself, so it is not a problem.