Il tipo è l'insieme di caratteristiche che qualsiasi valore assunto da una variabile dovrà soddisfare.
Tipi:
- void
nessun valore restituito dal metodo o classe
- byte (8 bit)
variabile con segno e rappresenta valori in un range [-128 <-> 127] (estremi inclusi)
- short (16 bit)
numeri interi con segno [-32.768 <-> 32.767]
- int (32 bit)
signed - numeri interi con segno
unsigned - numeri interi senza segno
- long (64 bit)
signed - numeri interi con segno
unsigned - numeri interi senza segno
- float (32 bit)
numeri in virgola mobile in singola precisione
- double (64 bit)
numeri in virgola mobile in doppia precisione
- boolean (1 bit)
vero o falso (true o false)
- char (16 bit)
memorizzazione di caratteri del charset Unicode ['\u0000', '\uffff']
- String
sono sequenze di char che possono essere inizializzate utilizzando le virgolette " (doppi apici)
attento S uppercase
String variabile = "ciao mamma"
Assegnazione del valore:
il valore della variabile può essere assegnato in modo diverso a seconda del tipo di variabile
- boolean
true / false
- byte/short/int
vari metodi di attribuzione del valore:
- interi in base 10: int variabile = 42
- esadecimale utilizzando (Hex, in base 16) il suffisso 0x: int variabile = 0x2A
- binaria base 2 utilizzando il suffisso 0b: int variabile = 0b00101010
- long
come per gli int ma va messo alla fine del valore la lettere L (inserila in maiuscolo per non confonderla con il numero 1)
long variabile = 4242424242L
- double/float
possono essere espressi separando la parte decimale con il simbolo .
saranno considerati di tipo double a meno che non sia posposta la lettera F (o f)
double mille = 1000.0
double milleSci = 1.0e3 notazione scientifica (utilizzo della lettera E (o e) seguita da un numero che esprime la potenza di 10 da moltiplicare al numero espresso prima di essa)
float milleFloat = 1000.0f
- char
possono essere espressi per mezzo di caratteri Unicode (UTF-16) racchiusi tra apici singoli o eventualmente essere espressi sotto forma di charcode utilizzando "Unicode escape"
char nCirconflesso = 'ñ'
char nCorconflessoCode = '\u00F1'
questi tipi di valori detti primitivi hanno anche la corrispondete classe wrapper (simple object)