Here is an explanation for both of your questions: oop - Uninitialized variables and members in Java - Stack Overflow
The compiler forces you to initialize local variables partly because it can not...