Gráfico de comparação
Base para Comparação | int | longo |
---|---|---|
Basic | O tipo de dados int é de 32 bits. | O tipo de dados longo é de 64 bits. |
Bytes | Se contado em bytes, int é de 4 bytes. | Se contado em bytes, o comprimento é de 8 bytes. |
Alcance | Em Java, o intervalo do tipo int é –2.147.483.648 a 2.147.483.647. | Em Java, o intervalo do tipo long é –9, 223, 372, 036, 854, 775, 808 a 9, 223, 372, 036, 854, 775, 807. |
Palavra chave | A palavra-chave usada para declarar uma variável do tipo int é "int". | A palavra-chave usada para declarar uma variável de tipo longo é "longa". |
Memória | A memória necessária para armazenar uma variável int é menor em comparação com a longa. | A memória necessária para armazenar uma variável longa é maior em comparação com o int. |
Definição do tipo int
Um tipo de dados int é um tipo de dados mais comumente usado que contém um valor inteiro. Um valor que uma variável int pode conter não é muito curto nem muito longo. Geralmente, o valor de uma variável int é usado como uma variável de loop que controla o loop ou é usado como uma variável de índice de uma matriz. O tipo de dados byte e short tem um intervalo menor quando comparado com o tipo de dados int, mas eles não podem substituir int, mesmo se o valor de uma variável int for menor. A razão por trás disso é que, quando usamos o tipo de dados byte e short em uma expressão, ao avaliar essa expressão, o tipo de dados byte e short é promovido para int pelo compilador. Então, a partir disso, pode-se dizer que é melhor usar int sempre que um número inteiro for necessário.
Vamos dar uma olhada no uso do tipo de dados int.
byte a = 70; byte b = 80; int c = a * b; // sem erro. byte d = a + 10; // Erro de tempo de compilação.
Como você pode observar no código acima, as duas variáveis de byte, a e b, contêm o valor 70 e 80, que é um valor válido de variação de bytes. Mas, o resultado intermediário de um * b; excede o limite do byte. Portanto, o compilador promove automaticamente as variáveis byte, short e char para digitar int, se elas forem usadas em uma expressão. Agora, você pode ver que o resultado de um * b é atribuído a uma variável int que não causa nenhum erro e compila sem problemas porque as variáveis a e b são promovidas para o tipo int e a atribuição do tipo int para o tipo int doesn ' t causa o erro.
Na última linha de código, você pode ver uma expressão, onde o valor 10 é adicionado a uma variável de byte 'a', e seu resultado ainda não excedeu o limite do byte. Mas, a atribuição do resultado intermediário da expressão “a + 10” para a variável de byte 'd', causa um erro de tempo de compilação porque, enquanto a variável de byte de avaliação de expressão 'a' é promovida para o tipo int. E a atribuição do tipo int para digitar byte não é permitida. Portanto, isso causa um erro de tempo de compilação.
Definição de tipo longo
O tipo de dados longo tem o maior intervalo e largura em comparação com os tipos byte, short e int. Em Java, o tipo long é um tipo inteiro assinado de 64 bits. O tipo long é usado onde o tipo int não é tão grande para manter o valor desejado. O intervalo de longitude é –9.223.372.036.854.775.808 a 9.223.372.036.854.775.807, o que é bastante grande, para manter os valores maiores, como grandes números inteiros. Podemos entender o tipo long com um exemplo abaixo.
class weight {public estático void main (String args []) {int item; int wt_per_item; gramas longos; caixa longa; item = 10000000; // especifica itens numéricos wt_per_item = 10000; // especifica o peso de um item em quilos gramas = wt_item * 1000; // converte peso em grama Caixa = item * gramas; // calcula o peso da caixa em gramas System.out.println ("Number of item" + item); System.out.println ("Peso por item" + wt_per_item + "kilos"); System.out.println ("Peso da caixa em grama" + caixa + "kilos"); }} Número do item 10000000 Peso por item 10000 kilos Peso da caixa em gramas 100000000000000 kilos
Observe a saída no código acima; o resultado calculado para o peso da caixa inteira contendo caixa contendo 10000000 itens, dos quais por item pesa 10000 quilos. O valor computado para o peso da caixa em gramas, não pode ser retido por uma variável int. Portanto, às vezes, é necessário usar o tipo longo quando valores grandes devem ser computados ou mantidos.
Principais diferenças entre int e long
- A diferença básica entre o tipo int e long é da largura deles, onde int é 32 bit e long é 64 bits.
- Os tipos int e long quando contados em bytes em vez de bits, o tipo int é 4 bytes e o tipo long é apenas duas vezes, se o tipo int ou seja, 8 bytes.
- Em Java, a faixa do tipo int é de –2.147.483.648 a 2.147.483.647, enquanto a faixa de tipo longo é de –9.223.372.036.854.775.808 a 9.223.372.036.854.775.807, o que é muito maior do que o tipo int.
- A palavra-chave usada para declarar uma variável do tipo int é “int”. Por outro lado, a palavra-chave usada para declarar a variável do tipo long é “longa”.
- Geralmente, a memória necessária para manter o valor do tipo int é menor em comparação com o longo.
Conclusão:
Ao escrever código, se houver necessidade de um valor de intervalo médio, você poderá usar o tipo int, mas quando a saída produzida por qualquer expressão for maior ou os valores maiores estiverem sendo usados para cálculo, a variável de tipo longo deverá ser usada para reter os valores.