Raccomandato, 2024

Scelta Del Redattore

Differenza tra int e long

I tipi di dati int e long sono tra i due tipi di dati interi descritti in Java. In Java, i tipi int e long sono firmati, i valori + ve e -ve. Java non supporta i tipi unsigned e long non firmati. La differenza fondamentale tra un tipo di dati int e long è la larghezza di ciascun tipo. Il tipo di dati int ha la larghezza di 32 bit per la variabile di tipo int. D'altra parte, il tipo di dati lungo ha la larghezza di 64 bit per la variabile di tipo lungo. La tabella di confronto qui sotto mostra alcune altre differenze tra int e long.

Grafico comparativo

Base per il confrontointlungo
Di baseIl tipo di dati int è di 32 bit.Il tipo di dati lungo è di 64 bit.
byteSe contato in byte, int è 4 byte.Se contato in byte, long è 8 byte.
GammaIn Java l'intervallo di tipo int è -2, 147, 483, 648 a 2.147.483.647.In Java l'intervallo di tipo lungo è
-9.223.372.036.854.775.808 a 9.223.372.036.854.775.807.
Parola chiaveLa parola chiave utilizzata per dichiarare una variabile di tipo int è "int".La parola chiave utilizzata per dichiarare una variabile di tipo lungo è "lunga".
MemoriaLa memoria richiesta per memorizzare una variabile int è inferiore rispetto a quella lunga.La memoria richiesta per memorizzare una variabile lunga è maggiore rispetto a int.

Definizione di tipo int

Un tipo di dati int è un tipo di dati più comunemente usato che contiene un valore intero in esso. Un valore che una variabile int può contenere non è troppo breve e non troppo lungo. In generale, il valore di una variabile int viene utilizzato come variabile di ciclo che controlla il ciclo o viene utilizzato come variabile di indice di un array. Il tipo di dati byte e short hanno un intervallo più breve rispetto al tipo di dati int, ma non possono essere sostituiti int, anche se il valore di una variabile int è di un intervallo più breve. La ragione di ciò è che quando si utilizza il tipo di dati byte e short in un'espressione, mentre si valuta quell'espressione, il tipo di dati byte e short vengono promossi a int dal compilatore. Quindi, da questo, si può dire che è meglio usare int ogni volta che è necessario un numero intero.
Diamo un'occhiata all'utilizzo del tipo di dati int.

 byte a = 70; byte b = 80; int c = a * b; //nessun errore. byte d = a + 10; // Errore di compilazione del tempo. 

Come si può osservare nel codice precedente, le due variabili di byte a e b che contengono il valore 70 e 80, che è un valore valido per byte. Ma il risultato intermedio di a * b; supera il limite del byte. Quindi, il compilatore promuove automaticamente le variabili byte, short e char per digitare int, se vengono utilizzate in un'espressione. Ora, puoi vedere che il risultato di un * b è assegnato a una variabile int che non causa alcun errore e si compila senza problemi perché le variabili aeb sono promosse al tipo int e l'assegnazione di tipo int al tipo int doesn ' t causare l'errore.

Nell'ultima riga di codice, è possibile visualizzare un'espressione, in cui il valore 10 viene aggiunto a una variabile di byte 'a' il cui risultato non ha ancora superato il limite del byte. Ma l'assegnazione del risultato intermedio dell'espressione "a + 10" alla variabile di byte "d", causa un errore di tempo di compilazione perché mentre la variabile di byte di valutazione dell'espressione "a" viene promossa al tipo int. E l'assegnazione di tipo int al tipo byte non è consentita. Quindi, causa un errore in fase di compilazione.

Definizione di tipo lungo

Il tipo di dati lungo ha l'intervallo e la larghezza maggiori rispetto ai tipi byte, short e int. In Java, il tipo lungo è un tipo intero con segno a 64 bit. Il tipo long viene utilizzato dove il tipo int non è così grande da contenere il valore desiderato. La gamma di lungo è -9, 223, 372, 036, 854, 775, 808 a 9, 223, 372, 036, 854, 775, 807 che è abbastanza grande, per contenere i valori più grandi come numeri interi grandi. Possiamo capire il tipo lungo con un esempio qui sotto.

 class weight {public static void main (String args []) {int articolo; int wt_per_item; lunghi grammi; scatola lunga; articolo = 10000000; // specifica gli elementi numerici wt_per_item = 10000; // specifica il peso di un articolo in kg grammi = wt_item * 1000; // converti peso in grammo Box = item * grammi; // calcola il peso della scatola in grammi System.out.println ("Number of item" + item); System.out.println ("Peso per articolo" + wt_per_item + "kilos"); System.out.println ("Peso della scatola in grammi" + Scatola + "chili"); }} Numero dell'articolo 10000000 Peso per articolo 10000 kg Peso della scatola in grammi 100000000000000 chili 

Osservare l'output nel codice sopra; il risultato calcolato per il peso dell'intera scatola contenente la scatola contenente 10000000 articoli di cui per articolo pesa 10000 chili. Il valore calcolato per il peso della casella in grammi non può essere considerato da una variabile int. Quindi, a volte diventa necessario usare il tipo lungo quando i valori grandi devono essere calcolati o trattenuti.

Differenze chiave tra int e long

  1. La differenza di base tra il tipo int e long è della larghezza, dove int è a 32 bit e long a 64 bit.
  2. I tipi int e long se contati in byte invece che bit il tipo int è 4 byte e il tipo long è solo due volte se type int cioè 8 byte.
  3. In Java, l'intervallo di tipo int va da -2.147.483.648 a 2.147.483.647 mentre, l'intervallo di tipo lungo va da -9.223.372.036.854.775, 808 a 9.223.372.036.854.775, 807 che è molto più grande di tipo int.
  4. La parola chiave utilizzata per dichiarare una variabile di tipo int è "int". D'altra parte, la parola chiave utilizzata per dichiarare la variabile di tipo long è "long".
  5. In genere, la memoria richiesta per contenere il valore di tipo int è inferiore rispetto a long.

Conclusione:

Mentre scrivi il codice se è necessario un valore medio dell'intervallo, puoi usare il tipo int ma quando l'output prodotto da qualsiasi espressione sarà più grande, o se i valori più grandi vengono utilizzati per il calcolo, è necessario utilizzare la variabile di tipo long i valori.

Top