Esse código não compila pois o J não foi inicializado, segundo o que eu entendo quando vc declara um tipo primitivo int
ele vem com zero, logo ele já foi inicializado.
Mas pelo visto estou errado, alguém poderia me explicar
public static void main(String[] args) {
int j;
System.out.println("j== "+ j);
}
a variável j esta dentro de um método.
e dentro de um método é necessário inicializar com algum valor.
[quote=javahunter]a variável j esta dentro de um método.
e dentro de um método é necessário inicializar com algum valor.[/quote]
Exatamente. Apenas as variáveis de instância (definidas fora de métodos) são inicializadas com valores padrão. Uma variável local precisa ser inicializada antes do uso.
Acho que o mais interessante aqui é diferenciar variáveis locais, que existem apenas dentro de métodos e sempre precisam ser inicializadas, de atributos de classes, que tem valores iniciais padrão, caso você não coloque nada.
Acho que a galera já explicou bem, mas só para complementar:
Valor padrões para variáveis de instância:
int = 0;
float/double = 0,0;
boolean = false;
objeto = null;