Introduction à la POO TP1 - Conseils 1 Conseils généraux Dans ce TP, on aborde des notions de base en Java : comment exécuter un premier programme, utilisation des tableaux, saisie, affichage, arguments, méthodes. On découvre également les bases de la programmation objet avec la notion de classe et d’attribut. Par défaut, les entier (type int) sont initialisés à 0. On peut donc les déclarer comme suit : int n; Ce type de déclaration permet d’écrire un code plus concis et donc plus lisible. Vous pouvez consulter la liste des valeurs attribuées par défaut à chacun des types primitifs de Java à l’adresse suivante : http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes. html Par convention, les noms de classe commencent par une majuscule en Java. Pour produire un code propre et lisible, facile à maintenir, il est toujours conseillé de suivre les conventions, surtout lorsqu’elles sont aussi bien établies et respectées. 2 Une première classe Dans cet exercice, on apprend à créer un exécutable Java, le compiler, l’exécuter. A retenir : • un fichier de code Java est une classe • le fichier doit porter le nom de la classe (attention à la casse : Java est case-sensitive) • on met une classe par fichier • compilation : javac NomDeLaClasse.java 1 • exécution : java NomDeLaClasse Réponse aux questions : 1. Une seule classe : MonPremierProgramme. 2. Le fichier .java doit impérativement porter le nom de la classe qu’il définit. 3. La console affiche le texte. 4. System.out.println affiche du texte dans une nouvelle ligne sur la console. 3 Tableaux, saisie et affichage La méthode LireCaractere() donnée dans l’énoncé doit être utilisée comme une boite noire : il n’est pas demandé de comprendre le code de cette méthode ni de le modifier. Tout ce qu’il faut savoir, c’est qu’elle attend que l’on saisisse quelque chose au clavier. En appuyant sur entrée, la saisie sera stockée dans une chaı̂ne de caractère (càd une variable de type String). Cette chaı̂ne de caractère sera renvoyée par la méthode. Il n’est pas nécessaire de créer de méthodes supplémentaires, tout l’exercice tient dans le main. En Java, toutes les méthodes sont contenues dans la classe, càd qu’elles sont toutes contenues dans les accolades de la classe: // mettre les imports ici, exemple: import java.io.*; // prenez l’habitude de ne mettre les imports que lorsqu’ils sont necessaires public class MaClasse{ // mettre les attributs et les methodes ici public static void main(String[] args){ } } // il ne faut rien mettre ici /!\ Indications sur les questions de l’exercice : 1. voir 2. 2. String est le type chaı̂ne de caractère, int est le type entier. Ces types ne sont pas encodés de la même manière en mémoire. On utilise la méthode LireCaractere pour récupérer un entier saisi au clavier. La méthode 2 parseInt(String) de la classe Integer renvoit un int. C’est pourquoi il est nécessaire de convertir le type String en type int afin de pouvoir utiliser la taille saisie au clavier comme taille du tableau au moment de l’initialisation de celui-ci. 3. Pour remplir le tableau, on peut à nouveau utiliser la méthode LireCaractere. 4. Faire un tri simple. 5. Java peut utiliser des entiers (type int) pour calculer des décimaux (type float). 4 Piles Dans cet exercice, on modélise la pile au moyen d’un tableau. Il est nécessaire d’attribuer une taille à ce tableau afin de l’initialiser. La taille du tableau ne correspondra pas à la taille de la pile : on stocke la taille de la pile dans une variable de type int qui sera incrémentée lorsqu’on ajoute un élément à la pile et décrémentée lorsqu’on retire un élément de la pile. Dans un premier temps, on utilise le mot-clef static pour que les méthodes et les attributs soient visibles de toute la classe, et accessibles depuis le main, ce qui permet d’obtenir un comportement similaire à celui de C : public class MaClasse{ static int attributStatique; static void empiler(int element){ // cette methode peut acceder a la valeur de attributStatique. } public static void main(String[] args){ // le main est toujours statique. } } 3