UNIVERSITÉ DES ANTILLES ET DE LA GUYANE
FACULTÉ DES SCIENCES EXACTES & NATURELLES
Licence Professionnelle – 2005/2006
Java – TD no1
Un langage comme un autre. . .
Alban MANCHERON
1 Rappels
1.1 Aspects système
1.1.1 Structure d’un programme JavaTM
Avant d’entamer l’aspect programmation et algorithmique, revenons sur la structure d’un pro-
gramme JavaTM.
Un programme (comme dans tous les langages) est composé d’un ou plusieurs fichiers écrits dans
un langage verbeux, dit de « haut niveau ». La syntaxe des instructions en JavaTM est très large-
ment inspirée du C. Ainsi, le programme principal (point d’entrée de la machine virtuelle JavaTM
(cf. Section 1.1.3 dans le programme) est défini par la fonction main :
class Chose {
...
public static void main(String[] argv) {
...
} /*Fin main */
...
} /*Fin de la classe ‘Chose’ */
1.1.2 Nomenclature des fichiers
Il est possible d’utiliser JavaTM comme un simple langage impératif, auquel cas il suffit de créer
une unique classe (un unique objet) dont toutes les méthodes sont déclarées statiques. Dans le cas où
plusieurs objets coexistent, il est plus que conseillé d’associer un fichier pour chaque objet créé. Dans
ce cas, le fichier associé à un objet portera nécessairement le nom de l’objet, suffixé de l’extension
.java’. Ainsi, l’objet ‘Chose’ sera décrit dans le fichier ‘Chose.java’. La casse des caractère
doit être respectée. L’usage veut que les noms des objets débutent par une majuscule.
1.1.3 Compilation et exécution des fichiers
Un des aspects souvent mis en avant pour promouvoir et justifier l’utilisation de JavaTM réside
dans son principe de compilation et d’exécution. En effet ,à la différence de la plupart des langages,
les fichiers obtenus par la compilation des sources JavaTM ne sont pas des « binaires » directement
exécutables sur la station de travail, mais des « bytes codes » interprétables par un programme appelé
la machine virtuelle JavaTM (JVM). Ceci signifie que quelle que soit la plate-forme sur laquelle le
1/4
Java – TD no1 Université des Antilles et de la Guyane – Licence Professionnelle
Structure de choix simple
Si <condition booléenne> Alors if (<condition booléenne>) {
<instructions> <instructions>
Fin Si } /*Fin Si */
Structure de choix avancée
Si <condition booléenne> Alors if (<condition booléenne>) {
<instructions> <instructions>
Sinon } else {
<instructions> <instructions>
Fin Si } /*Fin Si */
Structure de choix multiple
Selon que <variable> est switch (<variable>) {
<constante1><instructions> case <constante1>:<instructions>
break ;
<constante2><instructions> case <constante2>:<instructions>
break ;
.
.
..
.
.
<constanten><instructions> case <constanten>:<instructions>
break ;
Autrement <instructions> default : <instructions>
Fin Selon } /*Fin Selon */
TAB. 1 – Conditionnelles en JavaTM
programme est compilé, le ‘bytes code’ obtenu est [en théorie] exécutable par n’importe quel système
disposant d’une JVM. Le compilateur fourni par SUN (les développeurs de JavaTM) est javac. Les
fichiers résultants de la compilation ont l’extension ‘.class’.
javac <fichier>.java <fichier>.class
Il est possible d’exécuter le fichier ainsi obtenu (s’il possède une méthode publique statique
‘main’), en utilisant la JVM (la JVM fournie par SUN est ‘java’).
java <fichier>.class
1.2 Aspect programmation
1.2.1 Types primitifs & Structures algorithmique
Plusieurs types sont fournis en JavaTM, et ne sont pas des objets :
les entiers : [short|long] [unsigned] int ;
les flottants : float et double ;
les caractères : char ;
les booléens : bool.
Leur utilisation, comme leur syntaxe est un vestige du C. De la même manière, les structures condi-
tionnelles ‘si’ et ‘selon’ comme les structures répétitives ‘tant que’, ‘répéter’ et ‘pour
sont strictement identiques à leurs homologues du C(cf. Tables 1 et 2)
1.2.2 Opérations d’entrées/sorties
1Le Pour algorithmique n’existe pas stricto sensus en JavaTM.
2/4 Alban MANCHERON
Université des Antilles et de la Guyane – Licence Professionnelle Java – TD no1
Boucle ::::::::::::::::::
Tant Que
Tant Que <condition booléenne> Faire while (<condition booléenne>) {
<instructions> <instructions>
Fin Tant Que } /*Fin Tant Que */
Boucle ::::::::::::::::
Répéter
Répéter do {
<instructions> <instructions>
Tant Que <condition booléenne> } while (<condition booléenne>) ;
Boucle :::::::::
Pour en C1
<initialisation> for (<initialisation> ;
Tant Que <condition booléenne> Faire <condition booléenne> ;
<instructions> <m-à-j de la cond. bool.>) {
<m-à-j de la cond. bool.> <instructions>
Fin Tant Que } /*Fin Pour en C */
TAB. 2 – Répétitives en JavaTM
Le langage JavaTM comme la quasi totalité de langages de programmation permet d’effectuer
des opération d’entrées/sorties sur différents périphériques. Les routines standards sont fournies par
l’objet ‘System’.
Affichage formaté :
La routine standard de sortie est ‘System.out.println’. Cette instruction permet d’afficher
son argument sur la sortie standard (généralement l’écran). La concaténation de chaînes de caractères
est dénotée par l’opérateur ‘+’. Le compilateur JavaTM s’occupe d’effectuer les conversions de type.
Saisie basique :
La routine standard d’entrée est ‘System.in.read’. Cette instruction permet de saisir un ca-
ractère sur l’entrée standard (généralement le clavier).
2 Exercices
2.1 Affichage & Algorithmique
Écrire un programme JavaTM permettant d’afficher le message « Yep » sur la sortie standard.
Écrire un programme JavaTM permettant d’afficher la table de multiplication de 0à10 pour la
valeur 7.
Écrire un programme JavaTM permettant de déterminer la ou les solutions éventuelles d’un
polynôme du second degré.
L’instruction algorithmique : est équivalente à :
Pour <compteur> de <valeur_début> à<valeur_fin> faire valdeb <valeur_début>
<instructions> valf in <valeur_fin>
Fin Pour <compteur> valdeb
Tant Que <compteur> valf in Faire
<instructions>
<compteur> <compteur> +1
Fin Tant Que
Alban MANCHERON 3/4
Java – TD no1 Université des Antilles et de la Guyane – Licence Professionnelle
2.2 Saisie
Écrire un programme JavaTM permettant de saisir une chaîne de caractère sur l’entrée standard
et de l’afficher sur la sortie standard.
Écrire un programme JavaTM permettant de saisir une valeur et de calculer son double et son
carré.
Écrire un programme JavaTM permettant de saisir deux valeurs et de vérifier si la première est
inférieure à la seconde.
4/4 Alban MANCHERON
1 / 4 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 !