Introduction `a la POO
TP1 - Conseils
1 Conseils g´en´eraux
Dans ce TP, on aborde des notions de base en Java : comment ex´ecuter un pre-
mier programme, utilisation des tableaux, saisie, affichage, arguments, m´ethodes.
On d´ecouvre ´egalement les bases de la programmation objet avec la notion de
classe et d’attribut.
Par d´efaut, les entier (type int) sont initialis´es `a 0. On peut donc les d´eclarer
comme suit :
int n;
Ce type de d´eclaration permet d’´ecrire un code plus concis et donc plus lisible.
Vous pouvez consulter la liste des valeurs attribu´ees par d´efaut `a chacun des
types primitifs de Java `a 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 `a maintenir, il est toujours
conseill´e de suivre les conventions, surtout lorsqu’elles sont aussi bien ´etablies
et respect´ees.
2 Une premi`ere classe
Dans cet exercice, on apprend `a cr´eer un ex´ecutable Java, le compiler, l’ex´ecuter.
A retenir :
un fichier de code Java est une classe
le fichier doit porter le nom de la classe (attention `a la casse : Java est
case-sensitive)
on met une classe par fichier
compilation : javac NomDeLaClasse.java
1
ex´ecution : java NomDeLaClasse
R´eponse aux questions :
1. Une seule classe : MonPremierProgramme.
2. Le fichier .java doit imp´erativement porter le nom de la classe qu’il d´efinit.
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´ethode LireCaractere() donn´ee dans l’´enonc´e doit ˆetre utilis´ee comme
une boite noire : il n’est pas demand´e de comprendre le code de cette m´ethode
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´ee, la saisie sera stock´ee dans
une chaˆıne de caract`ere (c`ad une variable de type String). Cette chaˆıne de
caract`ere sera renvoee par la m´ethode.
Il n’est pas n´ecessaire de cr´eer de m´ethodes suppl´ementaires, tout l’exercice tient
dans le main.
En Java, toutes les m´ethodes sont contenues dans la classe, c`ad 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`ere, int est le type entier. Ces types ne
sont pas encod´es de la mˆeme mani`ere en m´emoire. On utilise la m´ethode
LireCaractere pour r´ecup´erer un entier saisi au clavier. La m´ethode
2
parseInt(String) de la classe Integer renvoit un int. C’est pourquoi
il est n´ecessaire 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 `a nouveau utiliser la m´ethode LireCaractere.
4. Faire un tri simple.
5. Java peut utiliser des entiers (type int) pour calculer des d´ecimaux (type
float).
4 Piles
Dans cet exercice, on mod´elise la pile au moyen d’un tableau. Il est n´ecessaire
d’attribuer une taille `a ce tableau afin de l’initialiser. La taille du tableau ne
correspondra pas `a la taille de la pile : on stocke la taille de la pile dans une
variable de type int qui sera incr´ement´ee lorsqu’on ajoute un ´el´ement `a la pile
et d´ecr´emenee lorsqu’on retire un ´el´ement de la pile.
Dans un premier temps, on utilise le mot-clef static pour que les m´ethodes et
les attributs soient visibles de toute la classe, et accessibles depuis le main, ce
qui permet d’obtenir un comportement similaire `a 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
1 / 3 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !