Nous avons déjà vu de nombre type dans le exemples précédents.
Point point=new Point();
int i=4;
Les types nous permettent de comprendre ce que représentent des données en mémoire, et donc de traduire en valeur ou en adresse une série de bits. Java étant un langage de programmation utilisant un typage fort, il permet de savoir, lors de la compilation l’ensemble des opérations réalisables sur une variable. Par exemple:
Types de conversion¶
certaines conversions sont implicites: le compilateur ne considère que les types, et pas les valeurs avant de faire les conversions
int x=3;
double d=x; //conversion implicite
Certaines conversions sont explicites:
Le compilateur a besoin d’être sûr que nous sommes ok avec la perte de précision!
double d=3.14;
int x = (int) d; //perte de précision!!
certaines conversions nécéssite l’utilisation de fonctions spécialisées
String s="3";
int x = Integer.parseInt(s);
types primitifs vs Objets¶
Il exite 8 types primitifs en java : int, long, float, double, char, boolean, byte, short
stockent directement leur valeur
ne peuvent être null
on ne peut pas invoquer de méthodes
Il existe des classes enveloppe équivalentes (Intger, Long etc.)
Objets: Shape, Point, String…
ils ne stockent pas des valeurs, mais des références vers des valeurs
On peut accéder aux attributs à l’aide de l’opérateur .
Peuvent être null
on peut utiliser == pour savoir si deux références sont égales.
Arrivez vous à voir la différence dans le nommage de types entre les primitifs et les objets?