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).