Universit´e Paris Diderot JAVA
MASS L2 Ann´ee 2007-2008
TP n1 - Correction
UNIX, emacs, premier programme java
Ce premier TP a pour but de reprendre en main les machines et d’ˆetre capable d’´ecrire et
de compiler un premier programme en java.
Dans la mesure du possible, mettez-vous seul `a une machine.
Tout d’abord, allumez votre machine, et choisissez l’environnement UNIX, sous lequel nous
travaillerons durant tout le trimestre. Rentrez votre nom d’utilisateur, ainsi que votre mot de
passe.
1 Rappel : r´epertoires et fichiers
La m´emoire d’une machine est organis´ee en fichiers et en r´epertoires. Un r´epertoire peut
«contenir»d’autres fichiers ou r´epertoires. Ceci donne naissance `a une structure arborescente.
Voici un exemple d’une telle structure :
cours
TP
README
fichier1
notes1
notes2
Dans cet exemple, le r´epertoire contient 2 r´epertoires cours et TP, ainsi que 2 fichiers
README et fichier1. Le r´epertoire cours contient 2 fichiers notes1 et notes2. Le r´epertoire TP
est vide.
Les fichiers ou r´epertoires contenus dans un r´epertoire sont appel´es fils de ce epertoire ;
le r´epertoire qui contient un fichier ou un r´epertoire est appel´e parent de ce fichier ou de ce
r´epertoire. Dans l’exemple, le r´epertoire cours est donc un fils du r´epertoire , et est le parent
de cours.
2 Environnement UNIX
Nous allons travailler sous UNIX, en utilisant un terminal de commande - cela peut paraˆıtre
p´enible au d´ebut, mais `a l’usage, l’utilisation d’un terminal est plus puissante et permet de
gagner du temps.
1
Commencez par ouvrir un terminal.
Une invite de commande apparait. Nous allons taper quelques commandes dedans (toute
commande se termine par entr´ee).
NB : attention, la souris ne fonctionne pas dans un terminal !
Au d´epart, vous ˆetes dans votre r´epertoire personnel, qui s’appelle .
2.1 Manipulation de fichiers et r´epertoires
Voici les premi`eres commandes de bases permettant de manipuler des r´epertoires et des
fichiers (attention aux espaces ! ) :
pwd (print working directory) : affiche le nom du r´epertoire courant (celui depuis lequel
vous travaillez).
ls (listing) : affiche le contenu du r´epertoire courant.
cd nom_du_repertoire (change directory) : change de r´epertoire courant pour aller dans
l’un de ses ls, nom_du_repertoire .
cd .. : change de r´epertoire courant pour aller dans son parent.
touch nom_du_fichier (toucher) : cr´ee un fichier vide appel´e nom_du_fichier dans le
r´epertoire courant.
mkdir nom_du_repertoire (make directory) : cr´ee un r´epertoire vide appel´e nom_du_repertoire
dans le r´epertoire courant.
NB 1 : lorsque vous tapez le nom d’un fichier ou d’un dossier, vous pouvez taper seulement
les premi`eres lettres et utiliser la touche tabulation pour compl´eter automatiquement le nom de
ce fichier ou dossier.
NB 2 : en appuyant sur , vous pouvez rappeler les commandes pr´ec´edentes, ce qui peut
´egalement faire gagner du temps.
Exercice 1 `
A l’aide de ces commandes, cr´eez l’arborescence donn´ee ci-dessus et d´eplacez-vous
`a l’int´erieur.
Correction :
touch README
touch fichier1
mkdir TP
mkdir cours
cd cours
touch notes1
touch notes2
ls
cd ..
ls
Des commandes permettent ´egalement de supprimer les fichiers et les r´epertoires.
rm (remove) : permet de supprimer un fichier fils.
rmdir (remove directory) : permet de supprimer un r´epertoire fils vide.
Exercice 2 Supprimer tous les r´epertoires et fichiers cr´es lors de l’exercice pr´ec´edent.
Correction :
cd cours
rm notes1
rm notes2
2
cd ..
rmdir cours
rmdir TP
rm README
rm fichier1
2.2 Chemins relatifs
Il n’est pas utile de se d´eplacer dans un r´epertoire pour effectuer une action. On peut d´esigner
tout r´epertoire ou fichier par un nom appel´e chemin relatif, d´ependant de l’endroit o`u l’on se
trouve.
Par exemple, si l’on se trouve dans , on peut directement d´esigner notes1 dans cours
en utilisant le nom : cours/notes1 (le symbole /est appel´e slash). On tapera par exemple
rm cours/notes1 pour le supprimer. Si l’on se trouve dans TP, on tapera rm ../cours/notes1
(rappelez-vous que .. esigne le r´epertoire parent du r´epertoire courant).
Exercice 3 Sans bouger du r´epertoire racine (celui qui est `a la base de l’arborescence ; il s’agit
ici de ), cr´eez l’arborescence suivante
rep1
fichier1
rep2
fichier2
fichier3
Correction :
mkdir rep1
mkdir rep1/rep2
touch fichier1
touch rep1/fichier2
touch rep1/rep2/fichier3
2.3 eplacer et renommer
La commande mv (move) permet d’effectuer ces 2 op´erations.
mv nom repertoire_cible : d´eplace le fichier ou r´epertoire nom dans le r´epertoire repertoire_cible.
Par exemple, si l’on est dans rep2 et que l’on souhaite mettre fichier3 dans , on utilisera
mv fichier3 ../..
mv nom nouveau_nom : renomme le fichier ou r´epertoire nom en nouveau_nom.
3
Par exemple, si l’on est dans rep1 et que l’on souhaite renommer fichier2 en README, on
utilisera mv fichier2 README
Exercice 4 Cr´eez quelques nouveaux fichiers et testez ces nouvelles commandes. Terminez en
effa¸cant toute l’arborescence que vous avez cr´e´ee.
3 emacs
Nous vous conseillons pour taper vos programmes java d’utiliser l’´editeur de texte emacs,
`a moins que vous ne soyez ej`a habitu´es `a un autre ´editeur. emacs est un ´editeur de texte
extrˆemement puissant, et nous n’utiliserons qu’une infime partie de ses tr`es nombreuses fonc-
tionnalit´es.
Introduisons la commande
emacs nom_du_fichier & : ouvre avec emacs le fichier nom_du_fichier .nom_du_fichier
est cr´e´e s’il n’existe pas d´ej`a.
emacs ouvre alors une nouvelle fenˆetre. La plupart des commande dont nous allons avoir
besoin sont disponibles `a partir des menus (File,Edit et Tools principalement) situ´es en haut
de la fenˆetre. Suivant la version, quelques icones peuvent apparaitre pour les taches les plus
courantes. N´eanmoins `a l’usage, il est plus rapide d’utiliser quelques raccourcis clavier :
Ctrl x Ctrl s : sauvegarder
Ctrl x Ctrl c : fermer emacs
Ctrl k : couper une ligne
Ctrl y : coller une ligne
le cas ´eceant, les autres raccourcis sont indiqu´es dans les menus !
Il existe ´egalement un m´ecanisme g´en´eral permettant de faire des copier-coller `a la souris :
pour copier, il suffit de electionner le texte `a copier (click gauche), et pour coller, il suffit de
faire un click central `a l’endroit o`u vous souhaitez coller. Ceci fonctionne aussi dans un terminal.
Exercice 5 Ouvrez un nouveau fichier avec emacs, tapez une ligne de texte, dupliquez-l`a, puis
sauvegardez et quittez.
4 Premier programme java
Nous sommes prˆets `a ´ecrire un premier programme java.
Exercice 6 Commencez par cr´eer un r´epertoire TP1 dans votre epertoire racine. Nous allons
d´esormais travailler `a l’int´erieur de ce r´epertoire. Ouvrez avec emacs un fichier Test.java et
´ecrivez le code suivant :
public class Test{
public static void main(String[] argd)
{
System.out.println("Bonjour tout le monde");
}
}
Quelques rappels :
Un fichier .java efinit une classe et doit porter son nom (ici Test.java). Par convention,
ce nom commencera toujours par une majuscule.
4
public static void main(String[] argd), sous une apparence barbare, d´esigne en
fait seulement la fonction qui va ˆetre appel´ee lors de l’ex´ecution du programme. Nous
verrons au fur et `a mesure du cours la signification des diff´erents mots-clef utilis´es.
System.out.println() permet d’afficher `a l’´ecran une chaˆıne de caract`eres.
Une fois le code sauvegard´e, deux ´etapes nous s´eparent de son ex´ecution :
compiler - cette ´etape transforme le code en pseudo-code ou bytecode, compr´ehensible par la
machine virtuelle java.
javac Test.java
ex´ecuter - cette ´etape ex´ecute le bytecode sur une machine virtuelle java.
java Test
Exercice 7 Ex´ecutez puis compilez le code que vous venez d’´ecrire. Quel fichier est cr´e´e lors
de la compilation ? Modifiez la phrase `a afficher. Que se passe-t-il si vous ne recompilez pas le
code avant de l’ex´ecuter ?
5´
Echauffement : boucle for
On rappelle la syntaxe de la boucle for :
for (int i=0; i<10; i++)
{
//code `a ´ex´ecuter
}
Exercice 8 ´
Ecrire dans des fichiers s´epar´es les programmes suivants : (on pourra faire usage
de la copie de fichier et/ou de copier-coller pour gagner du temps).
un programme Ordre.java qui ´ecrit les entiers de 1 `a 100 dans l’ordre croissant `a l’´ecran.
un programme Desordre.java qui ´ecrit les entiers de 1 `a 100 dans l’ordre d´ecroissant `a
l’´ecran.
un programme Puissance.java qui ´ecrit les 10 premi`eres puissances de 2 `a l’´ecran.
Correction :
class Ordre{
public static void main(String argd[])
{
for (int i=1; i<=10; i++)
{
System.out.println(i);
}
}
}
class Desordre{
public static void main(String argd[])
{
for (int i=0; i<10; i++)
{
System.out.println(10-i);
}
}
}
5
1 / 7 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 !