In three languages, the initialization of static and global variables defaults to 0. Local variables can be initialized without initialization, and the C language may implicitly initialize it to 0XCC (that is, "debug magic Number") at compile time. Because the compiler is different, the local variables are initialized with different values. This is also done to allow programmers to find the cause of the error faster.
But Java does not initialize local variables, and you cannot manipulate an uninitialized variable.
In the title, the uninitialized, in fact, is equivalent to saying that the variable is not assigned the initial value, that is, the variable is artificially assigned.
The compiler will use different initialization methods for different memory areas, the variables in the stack will not be initialized, the heap (global variables) and static storage (static variables) will be initialized to the corresponding values, such as the int is initialized to 0, the object is initialized to null.
C, C + +, how the Java compiler handles uninitialized variables.