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?

Les boucles for

Version ForEarch

Version Classique

Exercices Classes, types et boucles for

Exo 1

Exo 2

Exo 3

Exo 4

Exo 5