public class Cours1 { public static void main(String []arg) { int i; // System.out.println(i); // interdit car la variable n'est pas initialisée i = 4; // i est utilisée comme l-value System.out.println(i+7); // i est utilisée comme r-value int []t; // Attention: t n'est pas un tableau! t est une référence vers un tableau unidimensionel d'entiers // System.out.println(t); // interdit t non plus n'est pas initialisée t = new int[4]; // l'opération new fournit l'adresse en mémoire d'un objet contenant 4 entiers (consécutifs en mémoire) et d'un entier contenant la longueur du tableau System.out.println(t); // ici on n'affiche pas le tableau t (t n'est pas un tableau), on affiche le contenu de la variable référence t, c'est-à-dire l'adresse de l'objet référencé/pointé par t, donc l'adresse du tableau alloué par l'opération new System.out.println(t[0]); // ici on affiche le premier entier du tableau de l'objet référencé/pointé par t. Attention, le tableau a été initialisé à sa création, la valeur 0 est utilisée pour initialisé les valeurs des tableaux d'entiers à leur création t[0] = 11; // on modifie la valeur du premier entier du tableau de l'objet référencé par t t[1] = 111; // on modifie la valeur du second entier du tableau de l'objet référencé par t System.out.println(t[1]); // on affiche la valeur du second entier du tableau de l'objet référencé par t System.out.println(t.length); // on affiche la longueur du tableau de l'objet référencé par t t = new int[6]; // ici on modifie la valeur de t, c'est-à-dire que désormais t désigne/référence/pointe un autre objet contenant un autre tableau (chaque new créé un objet frais/neuf). System.out.println(t); System.out.println(t[1]); System.out.println(t.length); } }