Chapitre 1 - Java & Tableaux & Applets & OO - 2 [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

Cours 1

Contenu du cours :

" " " " " " " "

Premières applications Compilation, Exécution, Chemin Affichage et saisie Types de données Flux de contrôle Applets Arrays OO de base

1

Edition Le fichier texte HelloWorld.java

Une seule classe publique par fichier source. C'est elle qui donne le nom au fichier. Les classes exécutables ont une méthode main.

2

3

Programmation

Edition

Compilation

Exécution

Correction d'erreur

Il faut compiler et exécuter souvent un programme. Cela permet de vérifier chaque partie individuellement plutôt que tout le programme

4

Compilation C:\>cd C:\Program Files\Java\jdk1.5.0_15\bin C:\Program Files\Java\jdk1.5.0_15\bin\> javac HelloWorld.java

HelloWorld.class

HelloWorld.java Source Code

Byte Code Génération du byte code reconnu par JVM

On compile un fichier « .java » avec la commande javac

5

Correction d'erreur Fichier contenant l'erreur

N° de ligne de l'erreur

Endroit exact de l'erreur

Nombre d'erreurs

Le compilateur aide à trouver les erreurs. (Nombre d'erreurs, ligne de l'erreur, type d'erreur...)

6

Exécution C:\Program Files\Java\jdk1.5.0_15\bin\> java

HelloWorld.class

HelloWorld

Bonjour

On exécute une classe, pas un fichier « .class » La JVM exécute la méthode main de la classe spécifiée.

7

Affichage Dans la console System.out.println

Changement du chemin • Pour ne pas toujours enregistrer dans le bin de java • Changer le chemin du bin pour avoir accès à javac et java

Affichage

9

Importation de la classe JOptionPane

Affichage dans une fenêtre.

Force la sortie du programme. (Obligatoire en mode graphique)

On peut utiliser différentes options d'affichage avec JOptionPane

10

Affichage Dans une fenêtre JOptionPane.showMessageDialog

On peut afficher des messages dans une fenêre de dialogue à l'aide de la classe JOptionPane.

Saisie en mode textuel // Un programme Java qui calcule le carré d’un nombre // importer la classe Scanner import java.util.Scanner ; public class Carre { public static void main (String args[]) { Scanner entree; int nombre; int carre; System.out.print("Donner un nombre : "); entree = new Scanner(System.in) ; nombre = entree.nextInt() ; carre = nombre * nombre ; System.out.print("Le carré du nombre est : " + carre); } }

Saisir en mode textuel

11

12

Saisie en mode graphique

Commentair e multi lignes Commentaire sur une ligne

Permet la saisie

Convertion en entier

On peut faire afficher une fenêtre pour faire saisir une chaîne à l'utilisateur à l'aide de showInputDialog

Types de données Types de données

Types primitifs

Types objets String , HelloWorld, etc.......

Numériques byte "short "int "long "float "double

boolean

"

char

Les types de données primitifs sont les types de base. Il existe différentes méthodes de convertion entre ces types.

13

Contrôle de flux et évaluation if ( noteEtudiant >50) System.out.println(“L’étudiantE passe” ); else System.out.println(“L’étudiantE échoue” );

Syntaxe du langage C

14

15

Utiliser la documentation de la jdk http://java.sun.com/j2se/1.5.0/docs

La documentation de la JDK est l’outil de base de programmation en java !

Utiliser la documentation des APIs

16

http://java.sun.com/j2se/1.5.0/docs/api Liste des paquets

Documentation de la classe sélectionnée Liste des classe du paquet sélectionn é

La documentation des classes de la JDK est facile et rapide à utiliser.

17

Applets Java

Internet Serveur HTTP HTML + Applet

Navigateur Java

JVM

Une applet Java est un programme téléchargeable qui peut s'exécuter dans un navigateur. Il est installé en visionnant une page HTML.

Première Applet

18

Balise

19

Paramètres de la balise applet

Balise applet

Le paramètre "code" indique le nom de la classe à exécuter. Le paramètre "codebase" indique l'URL où le code à télécharger réside.

Exécution d'une applet

C:\>temp\appletviewer HelloApplet.html

HelloApplet.html

Avec appletviewer, on exécute une page « .html » , pas un fichier « .class » ni une classe ! Ouvrir le fichier .html dans un browser quelconque

20

Tableaux

Les tableaux ont une taille fixe. Ils ne sont pas redimmensionnables.

21

Tableaux Les tableaux sont indexés à partir de 0

En java, les tableaux sont considérées comme des classes sans méthode. La variable membre « length » donne la longueur du tableau. Le dernier élément d'un tableau de taille n se trouve à l'index n-1.

22

Tableaux

Les variables de types primitifs sont initialisées à 0 pour les types numériques et à false pour les booléens. Les références sur les objets sont initialisées à null.

23

Tableaux

Une référence indique un emplacement mémoire. Cet emplacement ne représente rien en dehors de la JVM.

24

Tableaux à plusieurs dimensions

0 1 matI2[0] est un tableau à une dimension

En java, les tableaux à plusieurs dimensions sont vus comme des tableaux de tableaux (de tableaux, de tableaux, etc)

25

Passage de tableaux en paramètres

26

Passage de tableaux en paramètres

En java, les tableaux sont considérées comme des classes sans méthode. Ils sont passés par références, le mode de passage d’un élément du tableau dépend du type de l’élément (primitif ou objet).

27

28

Structure d’un fichier java Commentaire de classe

Déclaration de classe

Données membres Commentaire de méthode

Déclaration de méthode

Paramètre (variable locale)

Variable locale

Les instructions java sont autorisées UNIQUEMENT dans les méthodes. Variable déclarée dans une méthode  variable locale Variable déclarée dans la classe  donnée membre

Création de classes Modificateur: Tout le monde peut appeler cette classe pour lui demander des services.

Définition de classe

Nom de la classe

Début et fin de la classe

Une classe rend des services. Pour accéder à un de ses services, on invoque (=appelle) une de ses méthodes.

29

30

Création de méthodes

signature

bloc d'instrcutions

Trois méthodes de la classe MaClasseMath. Une méthode est composée d'une signature et d'un bloc d'instructions

Signature de méthode Cette méthode est accessible à tous.

Type de retour

Nom de la méthode

Argument ou liste d'arguments (séparés par une virgule)

Une signature de méthode est une déclaration de service. La façon dont le service est réalisé ne regarde pas l'appelant. On parle d'encapsulation.

31

Constructeurs et instanciations Un constructeur est une méthode particulière d'une classe.

Il peut y avoir plusieurs constructeurs dans/pour une même classe. Les constructeurs n'ont pas de type de retour. Les constructeurs portent le même nom que la classe.

32

Constructeurs et instanciations Pour créer de nouveaux objets (=instances) d'une classe, on appelle un des constructeurs de cette classe.

Un appel à un constructeur est toujours précédé du mot-clef "new". On dit que personne2 réfère à un objet de la classe Personne.

33

34

Références et objets Code java personne0

Code java personne0 personne1

Code java personne0 personne1

JVM personne

JVM personne personne

JVM personne personne

En java, on ne manipule que des références qui pointent vers des objets. Dès qu’un objet n’est plus référencé, il est garbage collecté.

Données membres (1)

Ces 2 champs sont des variables d'instances. Leur contenu varie pour chaque objet, elles sont accessibles à tous.

35

Données membres (2)

L’age de jean est 20 ans

L’age de jean est -1 ans

Petite astuce pour faire une pause

Lorsque les données sont publiques, il est impossible de contrôler la façon dont elle sont utilisées. Cela peut rendre vos objets incohérents

36

Masquage de données (1)

On masque les données aux clients en les rendant privées. Et on donne des méthodes d’accès publiques. Les méthodes d’accès ont un nom standardisé.

37

Masquage de données (2)

38

L’age de jean est 20 ans

L’age de jean est 0 ans

Les clients doivent passer par les méthodes du serveur pour manipuler leurs données.

39

Masquage de données (3) Le masquage de données permet:  de valider les donnéees en entrée  de formater les données en sortie  de cacher aux clients les structures de données manipulées  de s’assurer de la cohérence interne des objets. En règle générale :  les données sont privées  les méthodes sont publiques (sauf celles qui sont utilisées en interne par une classe)  Principe du moindre privilège

40

Portées des variables & this La variable locale maValeur masque la donnée membre maValeur 8 5

Les données membres ont une portée globale dans la classe. On utilise le mot clef « this » pour accéder à une donnée membre lorsqu’une variable locale porte le même nom.