Java - Tipi di dati di base

Le variabili non sono altro che posizioni di memoria riservate per memorizzare i valori. Ciò significa che quando crei una variabile riservi un po 'di spazio in memoria.

In base al tipo di dati di una variabile, il sistema operativo alloca la memoria e decide cosa può essere archiviato nella memoria riservata. Pertanto, assegnando diversi tipi di dati alle variabili, è possibile memorizzare numeri interi, decimali o caratteri in queste variabili.

Ci sono due tipi di dati disponibili in Java:

  • Tipi di dati primitivi
  • Tipi di dati di riferimento / oggetto

Tipi di dati primitivi

Esistono otto tipi di dati primitivi supportati da Java. I tipi di dati primitivi sono predefiniti dalla lingua e denominati da una parola chiave. Esaminiamo ora in dettaglio gli otto tipi di dati primitivi.

byte

  • Il tipo di dati byte è un intero con complemento a due con segno a 8 bit

  • Il valore minimo è -128 (-2 ^ 7)

  • Il valore massimo è 127 (incluso) (2 ^ 7-1)

  • Il valore predefinito è 0

  • Il tipo di dati byte viene utilizzato per risparmiare spazio in array di grandi dimensioni, principalmente al posto degli interi, poiché un byte è quattro volte più piccolo di un numero intero.

  • Esempio: byte a = 100, byte b = -50

corto

  • Il tipo di dati breve è un intero con complemento a due con segno a 16 bit

  • Il valore minimo è -32.768 (-2 ^ 15)

  • Il valore massimo è 32.767 (inclusi) (2 ^ 15-1)

  • Il tipo di dati breve può anche essere utilizzato per salvare la memoria come tipo di dati byte. Uno short è 2 volte più piccolo di un intero

  • Il valore predefinito è 0.

  • Esempio: breve s = 10000, breve r = -20000

int

  • Il tipo di dati Int è un intero con complemento a due con segno a 32 bit.

  • Il valore minimo è - 2.147.483.648 (-2 ^ 31)

  • Il valore massimo è 2.147.483.647 (incluso) (2 ^ 31-1)

  • L'intero viene generalmente utilizzato come tipo di dati predefinito per i valori integrali a meno che non vi sia un problema di memoria.

  • Il valore predefinito è 0

  • Esempio: int a = 100000, int b = -200000

lungo

  • Il tipo di dati lungo è un intero con complemento a due con segno a 64 bit
  • Il valore minimo è -9.223.372.036.854.775.808 (-2 ^ 63)
  • Il valore massimo è 9.223.372.036.854.775.807 (inclusi) (2 ^ 63-1)
  • Questo tipo viene utilizzato quando è necessario un intervallo più ampio di int
  • Il valore predefinito è 0L
  • Esempio: lungo a = 100000L, lungo b = -200000L

galleggiante

  • Il tipo di dati Float è una virgola mobile IEEE 754 a 32 bit a precisione singola

  • Float viene utilizzato principalmente per risparmiare memoria in grandi array di numeri in virgola mobile

  • Il valore predefinito è 0,0 f

  • Il tipo di dati Float non viene mai utilizzato per valori precisi come la valuta

  • Esempio: float f1 = 234.5f

Doppio

  • il tipo di dati double è una virgola mobile IEEE 754 a doppia precisione a 64 bit

  • Questo tipo di dati viene generalmente utilizzato come tipo di dati predefinito per i valori decimali, generalmente la scelta predefinita

  • Il tipo di dati doppio non deve mai essere utilizzato per valori precisi come la valuta

  • Il valore predefinito è 0,0 d

  • Esempio: double d1 = 123,4

booleano

  • Il tipo di dati booleano rappresenta un bit di informazione
  • Ci sono solo due possibili valori: vero e falso
  • Questo tipo di dati viene utilizzato per flag semplici che tengono traccia delle condizioni vere / false
  • Il valore predefinito è false
  • Esempio: booleano uno = vero

char

  • il tipo di dati char è un singolo carattere Unicode a 16 bit
  • Il valore minimo è "\ u0000" (o 0)
  • Il valore massimo è "\ uffff" (o 65.535 inclusi)
  • Il tipo di dati Char viene utilizzato per memorizzare qualsiasi carattere
  • Esempio: char letterA = 'A'

Tipi di dati di riferimento

  • Le variabili di riferimento vengono create utilizzando costruttori definiti delle classi. Sono usati per accedere agli oggetti. Queste variabili sono dichiarate di un tipo specifico che non può essere modificato. Ad esempio, dipendente, cucciolo, ecc.

  • Gli oggetti di classe e vari tipi di variabili di matrice rientrano nel tipo di dati di riferimento.

  • Il valore predefinito di qualsiasi variabile di riferimento è null.

  • Una variabile di riferimento può essere utilizzata per fare riferimento a qualsiasi oggetto del tipo dichiarato o qualsiasi tipo compatibile.

  • Esempio: Animal animal = new Animal ("giraffa");

Letterali Java

Un letterale è una rappresentazione del codice sorgente di un valore fisso. Sono rappresentati direttamente nel codice senza alcun calcolo.

I valori letterali possono essere assegnati a qualsiasi variabile di tipo primitivo. Ad esempio:

byte a = 68;
char a = 'A';

byte, int, long e short possono essere espressi anche nei sistemi numerici decimale (base 10), esadecimale (base 16) o ottale (base 8).

Il prefisso 0 viene utilizzato per indicare ottale e il prefisso 0x indica esadecimale quando si utilizzano questi sistemi numerici per i letterali. Ad esempio:

int decimal = 100;
int octal = 0144;
int hexa =  0x64;

I letterali stringa in Java vengono specificati come nella maggior parte delle altre lingue racchiudendo una sequenza di caratteri tra una coppia di virgolette doppie. Esempi di stringhe letterali sono:

Esempio

"Hello World"
"two\nlines"
"\"This is in quotes\""

I tipi stringa e char di letterali possono contenere qualsiasi carattere Unicode. Ad esempio:

char a = '\u0001';
String a = "\u0001";

Il linguaggio Java supporta anche alcune sequenze di escape speciali per String e char literals. Sono -

Notazione Carattere rappresentato
\ n Nuova riga (0x0a)
\ r Ritorno a capo (0x0d)
\ f Formfeed (0x0c)
\ b Backspace (0x08)
\S Spazio (0x20)
\ t tab
\ " Virgolette doppie
\ ' Virgoletta singola
\\ barra rovesciata
\ ddd Carattere ottale (ddd)
\ uxxxx Carattere UNICODE esadecimale (xxxx)

Cosa c'è dopo?

Questo capitolo ha spiegato i vari tipi di dati. Il prossimo argomento spiega diversi tipi di variabili e il loro utilizzo. Questo ti darà una buona comprensione di come possono essere utilizzati nelle classi Java, nelle interfacce, ecc.