"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Por que meu código Java gera um erro "literal inteiro fora do intervalo" mesmo que eu esteja usando uma variável longa?

Por que meu código Java gera um erro "literal inteiro fora do intervalo" mesmo que eu esteja usando uma variável longa?

Publicado em 13/11/2024
Navegar:411

Why does my Java code throw an \

Noções básicas sobre tipos de dados e tratamento de erros

Em seu código, você declarou uma variável longa chamada testLong e tentou atribuir a ela o valor 9223372036854775807 No entanto, você encontrou um erro informando que o literal está fora do intervalo para um int. type.

A função dos tipos de dados

Cada tipo de dados em Java representa um intervalo diferente de valores. O tipo de dados longo pode conter valores inteiros entre -9.223.372.036.854.775.808 e 9.223.372.036.854.775.807. O valor tentado está dentro deste intervalo.

Identificando o erro

A mensagem de erro que você recebeu indica que o compilador está interpretando o literal 9223372036854775807 como um tipo int, que tem uma faixa de valores menor. Esta interpretação é causada pela ausência da letra 'L' no final do literal.

Corrigindo o Código

Para resolver esse problema, você precisa explicitamente especifique que o literal é do tipo long. Isso pode ser feito adicionando a letra 'L' ao final do literal, conforme mostrado abaixo:

long testLong = 9223372036854775807L;

Com esta modificação, o compilador irá corretamente interprete o literal como um valor longo e atribua-o à variável testLong.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3