palavra-chave double em Java
A palavra-chave double
em Java é um tipo de dados primitivo que representa um ponto flutuante IEEE 754 de 64 bits com precisão dupla. É usado para armazenar números decimais com um grau maior de precisão em comparação com o tipo de dados float
.
Uso
O tipo de dados double
é comumente usado em situações que exigem um grande intervalo de valores ou um alto grau de precisão, como cálculos científicos, aplicativos financeiros e cálculos matemáticos complexos. O intervalo para os valores de double
é de aproximadamente 4,9e-324 a 1,7e+308.
Sintaxe
double variableName = value;
variableName
: O nome da variável.value
: O valor a ser atribuído à variável, que pode incluir pontos decimais.
Exemplos
Exemplo 1: Uso básico
public class DoubleExample {
public static void main(String[] args) {
double pi = 3.14159;
double gravity = 9.81;
System.out.println("Value of pi: " + pi);
System.out.println("Value of gravity: " + gravity);
}
}
Neste exemplo, duas variáveis double
pi
e gravity
são declaradas e inicializadas com os valores 3,14159 e 9,81, respectivamente. Em seguida, o programa imprime esses valores.
Exemplo 2: Aritmética dupla
public class DoubleArithmetic {
public static void main(String[] args) {
double a = 5.5;
double b = 2.2;
double sum = a + b;
double product = a * b;
System.out.println("Sum: " + sum);
System.out.println("Product: " + product);
}
}
Este exemplo demonstra operações aritméticas com as variáveis do site double
. As variáveis a
e b
são adicionadas e multiplicadas, e os resultados são armazenados em sum
e product
, respectivamente.
Exemplo 3: Matriz dupla
public class DoubleArrayExample {
public static void main(String[] args) {
double[] temperatures = {36.6, 37.0, 36.8, 37.2};
for (double temp : temperatures) {
System.out.println("Temperature: " + temp);
}
}
}
Este exemplo mostra o uso de uma matriz double
. A matriz temperatures
é inicializada com quatro valores double
. Um loop for-each
percorre a matriz e imprime cada temperatura.
Dicas e práticas recomendadas
- Precisão: Use
double
quando você precisar de mais precisão do quefloat
pode oferecer. O tipo de dadosdouble
é mais preciso, mas também consome mais memória (64 bits). - Evite usar para valores exatos: Evite usar
double
para valores exatos, como moeda. Nesses casos, considere o uso do siteBigDecimal
.BigDecimal value = new BigDecimal("123.45");
- Tipo de fundição: Tenha cuidado ao fazer a conversão entre
double
e outros tipos de dados. Pode ser necessária a conversão explícita de tipos.double a = 5.5; int b = (int) a; // Explicit type casting
- Notação científica:
double
pode representar números muito grandes ou muito pequenos usando notação científica.double largeNumber = 1.23e10; // 1.23 * 10^10 double smallNumber = 1.23e-10; // 1.23 * 10^-10
- Use a classe dupla: Para funções de utilidade e métodos que envolvem duplas, considere usar a classe
Double
.Double doubleObject = Double.valueOf(a); // Using Double class
Constantes comuns
Infinito positivo
double positiveInfinity = Double.POSITIVE_INFINITY;
Infinito negativo
double negativeInfinity = Double.NEGATIVE_INFINITY;
NaN (Not a Number)
double notANumber = Double.NaN;
Essas constantes podem ser usadas para lidar com casos especiais na aritmética de ponto flutuante, como resultados de operações indefinidas.