« Autrefois, les ordinateurs ne pouvaient afficher que du texte. Les programmes affichaient des données à l'écran après avoir reçu une entrée au clavier. C'est ce qu'on appelle une 'interface console', ou plus simplement 'console'. Une interface fenêtrée est une alternative à la console. Avec ce type d'interface, l'utilisateur interagit avec le programme par le biais d'une ou de plusieurs fenêtres. Comme nous apprenons tout juste à programmer, commençons par travailler avec la console. »

« D'accord. »

« Le texte s'affiche dans la console (à l'écran) consécutivement, ligne par ligne. Le texte est saisi au clavier. Pour éviter les erreurs, la saisie au clavier est affichée à l'écran. Parfois, c'est un peu comme si l'utilisateur humain et le programme écrivaient des choses sur l'écran chacun leur tour. »

« Tu peux utiliser la méthode System.out.print() pour afficher du texte à l'écran. Cette méthode affiche simplement le texte passé, tandis que System.out.println() affiche le texte et déplace le curseur à la ligne suivante. »

Code Résultat
System.out.print("Rain");
System.out.print("In");
System.out.print("Spain");
Lesdixcommandements
System.out.print("Rain");
System.out.println("In");
System.out.print("Spain");
Lesdix
commandements
System.out.println("Rain");
System.out.println("In");
System.out.println("Spain");
Les
dix
commandements

« Pour séparer les différents morceaux de texte, nous devons ajouter un espace. Par exemple : »

Code Résultat
int a = 5, b = 6;
System.out.print(a);
System.out.print(b);
56
int a = 5, b = 6;
System.out.print(" " + a + " " + b);
 5 6
int a = 5, b = 6;
System.out.print("The sum is " + (a + b));
The sum is 11

« Je vois. »

« Cela te permet d'afficher n'importe quoi à l'écran : tous les objets Java peuvent être transformés en chaîne. Toutes les classes Java dérivent de la classe Object, qui dispose de la méthode toString(). Cette méthode est appelée lorsque tu veux transformer un objet en chaîne. »

Code Description
Cat cat = new Cat("Oscar");
System.out.println("The cat is " + cat);
Ces trois exemples sont équivalents.
Cat cat = new Cat("Oscar");
System.out.println("The cat is " + cat.toString());
Cat cat = new Cat("Oscar");
String catText = cat.toString();
System.out.println("The cat is " + catText);

« Mais mon programme a affiché 'Le chat s'appelle com.codegym.lesson3.Chat@1fb8ee3'. Qu'est-ce que c'est censé vouloir dire ? »

« La méthode toString() standard de la classe Object renvoie une chaîne constituée du nom de la classe et de l'adresse de l'objet en mémoire (sous forme hexadécimale). »

« Oh. Et à quoi pourrait me servir une méthode pareille ? »

« Tu peux écrire ta propre implémentation de toString() dans ta classe. Ce sera cette méthode qui sera alors appelée. »

« Ah oui ? D'accord. »

« Voici quelques missions de la part de Diego. »