Java, sendo uma linguagem fortemente tipada, oferece diversas maneiras de converter um inteiro (int
) para um número de ponto flutuante de dupla precisão (double
). Este artigo explora esses métodos, destacando sua eficiência e casos de uso.
Sumário
int
em Javadouble
em Java- Conversão Implícita
- Casting Explícito
- Usando a Classe Wrapper
Double
- Promoção de Tipo Automática
int
em Java
Em Java, int
é um tipo de dado primitivo inteiro com sinal de 32 bits. Ele representa números inteiros variando de -2.147.483.648 a 2.147.483.647. int
é comumente usado para contadores, índices de array e representação de quantidades numéricas inteiras.
double
em Java
double
é um tipo de dado primitivo de número de ponto flutuante de dupla precisão de 64 bits. Ele pode armazenar números inteiros e fracionários com maior precisão e uma faixa maior que int
. double
é o tipo preferido para cálculos científicos, medições e dados financeiros onde a precisão decimal é crucial.
Conversão Implícita
A promoção de tipo automática do Java frequentemente lida com a conversão de int
para double
implicitamente. Isso ocorre quando um int
é usado em uma expressão onde um double
é esperado.
int myInt = 10;
double myDouble = myInt + 5.5; // myInt é implicitamente promovido para double
System.out.println(myDouble); // Saída: 15.5
Aqui, myInt
é automaticamente convertido para um double
antes da adição porque 5.5
é um literal double
. O resultado é um double
.
Casting Explícito
O casting explícito de tipo, ou conversão de tipo, oferece uma abordagem mais direta. Isso envolve colocar a palavra-chave double
entre parênteses antes da variável int
.
int myInt = 10;
double myDouble = (double) myInt;
System.out.println(myDouble); // Saída: 10.0
Isso instrui explicitamente o compilador a tratar myInt
como um double
durante a atribuição.
Usando a Classe Wrapper Double
Java fornece classes wrapper para tipos primitivos. A classe wrapper Double
oferece métodos para converter entre int
e double
. Embora menos comum para essa conversão específica, é uma alternativa viável.
int myInt = 10;
Double myDouble = Double.valueOf(myInt);
System.out.println(myDouble); // Saída: 10.0
O método valueOf()
cria um objeto Double
a partir do int
. Você pode recuperar o valor double
usando myDouble.doubleValue()
.
Promoção de Tipo Automática
A promoção de tipo automática do Java é o método mais conveniente e eficiente para converter int
para double
na maioria dos casos. O compilador lida com a conversão perfeitamente, resultando em um código mais limpo e legível. Embora outros métodos ofereçam insights sobre os mecanismos subjacentes e possam ser necessários em cenários específicos, a promoção de tipo automática é geralmente preferida por sua simplicidade e eficiência.