Introduction `a la POO TP1

publicité
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
Téléchargement