TP Programmation par objets - Java, Licence3 - Module ULIN504, Université de Montpellier II

Enseignant resp : Jacques Ferber,ferber@lirmm.fr

 

 

 

 

TP 0 : Premiers pas en Java

Environnements / code de base / paramètre

 

 

1 L'environnement de programmation

 Dans un premier temps, nous compilerons "à la main" un petit programme, avant de passer sous Eclipse. Il est bon de comprendre ce que l'on fait, alors que des environnements trops sophistiqués masquent ce qui se passe réellement.

Vous pouvez récupérer les références des classes et le tutoriel de Sun sur java.sun.com

Pour vérifier la version de votre java, vous pouvez taper la commande (dans un "terminal"):

   java -version

s'il y a une erreur c'est que le path de votre système est mal positionné. Mettre les lignes suivantes dans votre fichier .bashrc qui se trouve dans votre home directory

    PATH=%PATH%:<l'endroit où se trouve le dir de Java>/bin
    export PATH
 

Note: le "home directory" est le directory où vous êtes loggé. Faire

   ls -Fa

pour voir tous les fichiers (ainsi que les fichiers cachés) de ce directory.

 

1.1 L'éditeur de texte : KWrite (avant d'utiliser Eclipse pour la suite du cours)

Note: on peut préférer l'éditeur kwrite ou kate (qui utilisent la même norme que raccourcis claviers que les programmes windows) pour ceux qui n'aiment pas Emacs

Pour écrire un programme java nous allons utiliser l'éditeur de texte KWrite, pour le lancer taper la commande suivante à partir d'une console Unix:

> kwrite &

 

Sous KWrite

Pour ouvrir un fichier existant faites comme sous Windows. Commande File>Open. Pour enregistrer les modifications File>Save ou [Ctrl s].

1.2 Compiler et exécuter : javac et java

Pour faire un programme en java il faut taper son code via un éditeur de texte, dans notre cas il s'agit d'Emacs, et d'enregistrer le code dans un fichier : nom_fich.java .

Pour compiler le programme il faut taper la commande :

            > javac nom_fich.java

Cette commande génère un fichier compilé de nom : nom_fich.class. Et pour lancer l'exécution de ce programme il faut taper :

     > java nom_fich

 

2 Les bases d'un programme java

2.1 Le code minimal

En Java, tout programme commence par la définition d'une classe publique contenant la fonction main() qui est exécutée au lancement du programme. Comme vous le verrez plus tard, en règle générale, chaque classe est stockée dans un fichier différent. Le nom du fichier doit être identique au nom de la classe qu'il contient avec en plus l'extension '.java', en respectant les minuscules et les majuscules.

Voici le code minimal pour un programme Java :

     public class nom_classe {         
 			//point d'entrée  
        public static void main(String[] args ){
          //votre code ...      
             }
} 

Rmq:    - le symbole // permet d'écrire une ligne de commentaire (ignorée du compilateur).

- les noms indiqués ci-dessus en italique sont des noms de classe ou de variables qui peuvent être choisis à votre guise.         

Ce code doit donc être enregistré dans un fichier portant le nom :  nom_classe.java

 

2.2 Exemple de programme java

L'exemple suivant est le code complet d'un programme java qui se contente d'afficher la chaîne de caractère :  "Hello world !!!"

      public class Hello {

             public static void main(String[] args){
                            System.out.println("Hello world !!");
			 }
      }

Enregistrer ce code dans le fichier : Hello.java. Compiler ensuite ce programme en tapant :     

> javac Hello.java  
Et exécuter-le en tapant : > java Hello

Notez au passage une fonction très importante en Java :

System.out.println("votre texte");

Cette fonction vous permet d'afficher une ligne de texte. Vous pouvez l'utiliser aussi pour afficher la valeur d'une variable :
         int n=5;  
         System.out.println(n);

Ou encore une chaîne structurée avec un texte et la valeur d'une variable :
         int n=5;  
         System.out.println("La valeur de n est : "+n);

 

Exercice 1 : Coder la fonction factorielle itérative avec affichage du résultat.

Rappel : cette fonction calcule le factoriel de n, où n  est une variable de type int dont la valeur est fixée dans le code au moment de sa déclaration ( int n=5; ). Fact(n) = n*n-1*...*2*1

                        exemple, si n = 5 :   

> java Fact 

120

3. Le compte en Banque

Refaire le programme de compte en banque vu en cours. On rappelle que l'on crée deux classes: Compte et Banque. La classe Compte comprend deux attributs 'solde' et 'numero' et quatre méthodes 'deposer(s)', 'retirer(s)', 'avoirSolde' et 'avoirNumero'.

a) Ecrire la classe Compte et la compiler

b) Ecrire une classe Banque qui comprend une methode 'public static void main(...)' dans laquelle on instancie plusieurs fois la classe Compte. Afficher le solde et le numéro de chaque Compte.

Note: Pour compiler la Banque, vous verrez que le compilateur vous enverra des erreurs de type "unresolved symbol Compte". En fait, le compilateur ne trouve pas la classe Compte que vous avez compilé. Pour compiler la classe Banque, en lui demandant d'aller chercher les autres classes (telles que Compte) dans le dossier (directory) courant faire:

      javac -classpath . Banque.java