Tipi di dati primitivi

Il linguaggio di programmazione Java è tipizzato staticamente, il che significa che tutte le variabili devono essere dichiarate prima di poter essere utilizzate. Un tipo primitivo è predefinito dal linguaggio e prende il nome da una parola chiave riservata. Gli 8 tipi di dati primitivi supportati da Java sono:

  • byte: tipo intero a 8-bit con segno; valori da -128 a 127
  • short: tipo intero a 16-bit con segno; valori da -32.768 a 32.767
  • int: tipo intero a 32-bit con segno; valori da -2.147.483.648 a 2.147.483.647
  • long: tipo intero a 64-bit con segno; valori da -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807
  • float: tipo reale a 32-bit in virgola mobile; valori da ±1.40129846432481707E-45 a ±3.40282346638528860E+38
  • double: tipo reale a 64-bit in virgola mobile; valori da ±4.94065645841246544E-324 a ±1.79769313486231570E+308
  • boolean: tipo logico; valori possibili: true o false. Questo tipo di dati rappresenta un bit di informazione, ma la sua “dimensione” non è definita con precisione.
  • char: tipo carattere a 16-bit Unicode; valori da ‘u0000’ a ‘uFFFF’

Oltre agli 8 tipi di dati primitivi di cui sopra, il linguaggio di programmazione Java, fornisce anche un supporto speciale per le stringhe di caratteri attraverso il tipo:

  • String: tipo stringa, sequenza di caratteri di lunghezza variabile

Un letterale è la rappresentazione di un valore fisso; letterali sono rappresentati direttamente nel codice senza la necessità di calcolo. È possibile assegnare un valore letterale a una variabile di tipo primitivo, mentre la si dichiara:

boolean risultato = true;
char letteraC = 'C';
byte b = -100;
short s = 10000;
int i = 100000;

I tipi interi (byte, short, int e long) possono essere espressi utilizzando i sistemi di numerazione decimale, ottale o esadecimale. Il sistema decimale è il sistema di numerazione utilizzato comunemente: è basato sulle 10 cifre da 0 a 9. Il sistema ottale è a base 8; utilizza le cifre da 0 a 7. Il sistema esadecimale è a base 16; utilizza le cifre da 0 a 9 e le lettere dalla A alla F. L’esempio che segue mostra la sintassi corretta dei sistemi ottale ed esadecimale. Il prefisso 0 indica ottale, mentre 0x indica esadecimale:

int = 26;   // Il numero 26, in decimale
int = 032;   // Il numero 26, in ottale
int = 0x1A;   // Il numero 26, in esadecimale

I tipi in virgola mobile (float e double) possono essere espressi utilizzando E o e (per la notazione scientifica), F o f (per il tipo float a 32-bit) e D o d (per il tipo double a 64-bit; questo è il tipo predefinito e la D si omette):

double d1 = 123.4;
double d2 = 1.234E2;   // stesso valore di d1, ma in notazione scientifica
float f1 = 123.4f;

Letterali di tipo char e String possono contenere qualsiasi carattere Unicode (UTF-16). Se il tuo editor lo consente, è possibile utilizzare tali caratteri direttamente nel codice. In caso contrario, è possibile utilizzare un “escape Unicode” come ‘u0108’ (lettera Ĉ maiuscola con accento circonflesso) o “Su00ED seu00F1or” (Sí señor in spagnolo). Usa sempre ‘virgolette semplici’ per letterali char e “virgolette doppie” per letterali String.

Il linguaggio di programmazione Java supporta anche uno serie speciale di sequenze di escape per letterali char e String: b (backspace), t (tab), n (line feed), f (form feed), r (carriage return), ” (doppi apici), ‘ (singolo apice), e \ (backslash).