Tamanho de uma variável long

2 respostas
B

Continuando a discussão do Tamanho máximo int e outros:

Pessoal, boa noite.

Rodei o seguinte programa:

class MeuPrograma{
public static void main (String args[]){

long l = 9223372036854775807;
	
	System.out.println(l);

}

}

Porém ao compilar, me gera o erro: integer number too large;

Como isso é possível? Esse valor cabe dentro de um variável do tipo long normalmente!

Fiquei na dúvida.

Obrigado

2 Respostas

H

O problema é por conta de como o Java trata literais do tipo inteiro: https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

(É uma das questões que podem cair na prova de certificação :wink:)

Toda literal é tratada como int, quando não houver sufixo. Pra resolver o problema, basta colocar um ‘L’(maiúsculo ou minúsculo) no final da literal:

long l = 9223372036854775807L;

Uma boa prática é sempre usar L ao invés de l, pra não confundir o ‘l’ minúsculo com o número 1!

Abcs!

B

Muito obrigado :wink:

Criado 21 de março de 2016
Ultima resposta 25 de mar. de 2016
Respostas 2
Participantes 2