Un tipo di dati è un’insieme di valori e di operazioni definite su tali valori.

N.B.: in Java sono statici, cioè il tipo di una variabile non può mai cambiare finché essa rimane in memoria.

Tipi di dati di base (o primitivi)

Sono built-in, cioè predefiniti (di default) nel linguaggio. NON SONO OGGETTI (nemmeno in Java).

N.B.: E’ fondamentale essere a conoscenza di quali siano i tipi di base e quali non lo siano per ragioni di efficienza e di allocazione della memoria.

In Java sono:

TipoDominioOperatoriDimensione
byte1 byte
booleantrue o false&& || !1 byte
chartutti i caratteri unicode+ -2 byte
shortinteri 2 byte
intinteri + - * / %4 byte
floatparte intera: ±1038, parte frazionaria: circa 7 cifre decimali significative4 byte
longinteri 8 byte
doubleparte intera: ±10308, parte frazionaria: circa 15 cifre decimali significative+ - * / %8 byte
String*sequenze di caratteri unicode+variabile

N.B.: le stringhe non sono veramente primitive, ma si possono trattare come tali, perché non hanno bisogno dell’operatore new per essere inizializzati

Tipi derivati: Oggetti

Al momento della creazione dell’oggetto i campi di una classe sono inizializzati automaticamente.

Tipo del campoInizializzato implicitamente a
int, long0, 0L
float, double0.0f, 0.0
char’\0’
booleanfalse
classe Xnull

N.B.: le inizializzazioni sono automatiche per i campi di una classe, ma NON per le variabile locali dei metodi.

tipi generici

La parola chiave var

N.B.: NON LA DEVI USARE MAIIII!!! SE LO USI LA GENTE MUORE!!! (cit. Faralli)

Esempio:

var k = 10;           // equivale a int k = 10
var s = "ciao";       // equivale a String s = "ciao"
var p = new Pippo();  // equivale a Pippo p = new Pippo()