palavra-chave long em Java
A palavra-chave long
em Java é um tipo de dados primitivo que representa um número inteiro complementar de dois bits assinado de 64 bits. É usado quando você precisa de um alcance maior do que int
é necessário. O tipo de dados long
pode armazenar valores de -2^63 a 2^63-1.
Uso
O tipo de dados long
é comumente usado em situações em que são necessários valores inteiros grandes, como em cálculos científicos, aplicativos financeiros ou ao lidar com grandes conjuntos de dados.
Sintaxe
long variableName = value;
variableName
: O nome da variável.value
: O valor a ser atribuído à variável, que deve estar no intervalo de -2^63 a 2^63-1.
Exemplos
Exemplo 1: Uso básico
public class LongExample {
public static void main(String[] args) {
long population = 7800000000L;
long distanceToMoon = 384400000L;
System.out.println("World Population: " + population);
System.out.println("Distance to Moon in meters: " + distanceToMoon);
}
}
Neste exemplo, duas variáveis long
population
e distanceToMoon
são declaradas com valores 7.800.000.000 e 384.400.000, respectivamente. O sufixo L
é usado para indicar que os literais são do tipo long
.
Exemplo 2: Matriz longa
public class LongArrayExample {
public static void main(String[] args) {
long[] longArray = {10000000000L, 20000000000L, 30000000000L};
for (long l : longArray) {
System.out.println(l);
}
}
}
Este exemplo demonstra o uso de uma matriz long
. A matriz longArray
é inicializada com três valores long
. Um loop for-each
é usado para iterar a matriz e imprimir cada valor.
Exemplo 3: Operações aritméticas
public class LongArithmeticExample {
public static void main(String[] args) {
long a = 5000000000L;
long b = 2000000000L;
long sum = a + b;
long product = a * b;
System.out.println("Sum: " + sum);
System.out.println("Product: " + product);
}
}
Este exemplo mostra operações aritméticas com valores long
. Duas variáveis long
a
e b
são declaradas e inicializadas. A soma e o produto dessas variáveis são calculados e impressos.
Dicas e práticas recomendadas
- Considerações sobre a memória: Use
long
somente quando você precisar armazenar valores inteiros grandes. Para intervalos menores, prefira usarint
para economizar memória. - Uso do sufixo: Sempre use o sufixo
L
(caixa alta) ao atribuir valores literais grandes a uma variávellong
para evitar confusão com o dígito1
.long bigNumber = 10000000000L; // Correct long bigNumber = 10000000000l; // Avoid using lowercase 'l'
- Tipo de fundição: Tenha cuidado ao realizar operações aritméticas com tipos de dados mistos. Pode ser necessária a conversão explícita de tipos.
int a = 10; long b = 20L; long c = a + b; // No casting needed as 'a' is promoted to 'long'
- Evite transbordamentos: Certifique-se de que as operações aritméticas não excedam o intervalo
long
para evitar problemas de estouro. - Use a classe longa: Para funções de utilidade e métodos que envolvem valores longos, considere usar a classe
Long
.Long longObject = Long.valueOf(a); // Using Long class
- BigInteger para números muito grandes: Se você precisar lidar com números maiores do que o intervalo
long
, considere usarBigInteger
do pacotejava.math
.import java.math.BigInteger; BigInteger bigInt = new BigInteger("12345678901234567890");