Por que preciso inicializar um tipo primitivo?

public static void main(String[] args) { long longTipoPrimitivo; System.out.println(longTipoPrimitivo); }

Dá erro de compilação, por quê?

[quote=andredecotia]public static void main(String[] args) { long longTipoPrimitivo; System.out.println(longTipoPrimitivo); }

Dá erro de compilação, por quê?[/quote]

Todas as variaveis de atributo tem que ser inicializadas … diferente das variaveis de classe que nao precisam.

O java inicializa as variaveis de atributos, mas não variáveis locais.

Ex:

int x; //NAO HA NECESSIDADE DE INCIALIZA-LA, NAO DARA ERRO DE EXECUÇÃO AQUI
public static void main (String [] args)
{
    long longTipoPrimitivo = 0; //TEM QUE SER INICIALIZADA, PARA CRIA-LA 
    System.out.println(longTipoPrimitivo);
}

Tendeus ?

Nossa adorei a explicação…

Segundo o tutorial da Sun diz que o valor default do tipo long é 0L veja:

* For type long, the default value is zero, that is, 0L. 

Mas imprimí só o zero…

Isso baseado na explicação do cara, isso funciona…

public static long longTipoPrimitivo;
public static void main(String[] args) {
    System.out.println(longTipoPrimitivo);
}