Promozione
In un’espressione il valore numerico con precisione più bassa è promosso implicitamente al tipo con precisione più alta
byte -> short -> int -> long
float -> double
byte, short, int, long -> float, double
I caratteri diventano interi (codice Unicode), se compaiono in un’espressione numerica
char -> int
Qualsiasi dato diventa un testo se è concatenato a una stringa con l’operatore +
byte, short, int, long, float, double, char, boolean -> String
Retrocessione
Se si desidera che il risultato di un’espressione sia del tipo con precisione più bassa
byte <- short <- int <- long
float <- double
byte, short, int, long <- float, double
è necessario retrocederlo esplicitamente con
(tipo)espr
Per trasformare una stringa in un valore numerico è necessario utilizzare i metodi
Byte.parseByte() Short.parseShort() Integer.parseInt() Long.parseLong() Float.parseFloat() Double.parseDouble()