Java - Les bases. Code: java-intro. Petites connaissances en programmation Module technique suppl.: java-util (explication des packages et classpath)



Documents pareils
Programmer en JAVA. par Tama

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

Auto-évaluation Programmation en Java

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

TP1 : Initiation à Java et Eclipse

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

PROGRAMMATION PAR OBJETS

as Architecture des Systèmes d Information

Plan du cours. Historique du langage Nouveautés de Java 7

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Une introduction à Java

Introduction au langage Java

Java Licence Professionnelle CISII,

INITIATION AU LANGAGE JAVA

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Cours 1: Java et les objets

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Langage Java. Classe de première SI

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Java Licence Professionnelle CISII,

Package Java.util Classe générique

Java Licence professionnelle CISII,

Aide mémoire UML & Java 1ère partie : Introduction. marc.lemaire@u-cergy.fr

ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET

Licence Bio Informatique Année Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

Développement Logiciel

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr

Remote Method Invocation Les classes implémentant Serializable

Apprendre Java en 154 minutes

Premiers Pas en Programmation Objet : les Classes et les Objets

Threads. Threads. USTL routier 1

OpenPaaS Le réseau social d'entreprise

Objets et Programmation. origine des langages orientés-objet

RN2-Programmation Orientée Objet - JAVA CH 1 Introduction à la POO et Java

Généralités sur le Langage Java et éléments syntaxiques.

Java Licence Professionnelle Cours 7 : Classes et méthodes abstraites

Calcul Parallèle. Cours 5 - JAVA RMI

Polycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5

Programmation Réseau. Sécurité Java. UFR Informatique jeudi 4 avril 13

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

Utilisation d objets : String et ArrayList

Initiation à JAVA et à la programmation objet.

Java DataBaseConnectivity

Java 1.5 : principales nouveautés

Chapitre 10. Les interfaces Comparable et Comparator 1

Java c est quoi? Java pourquoi?

Pour plus de détails concernant le protocole TCP conférez vous à la présentation des protocoles Internet enseignée pendant.

Généralités. javadoc. Format des commentaires. Format des commentaires. Caractères spéciaux. Insérer du code

Classe Interne, Anonyme & Enumération

Solutions du chapitre 4

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

TP1. Outils Java Eléments de correction

TD3: tableaux avancées, première classe et chaînes

Programmation en Java IUT GEII (MC-II1) 1

INF 321 : mémento de la syntaxe de Java

Corrigé des exercices sur les références

Chapitre VI- La validation de la composition.

4. Groupement d objets

Initiation à la programmation orientée-objet avec le langage Java

Langage à objets : JAVA (1)

Dis papa, c est quoi un bus logiciel réparti?

Gestion distribuée (par sockets) de banque en Java

Projet de programmation (IK3) : TP n 1 Correction

Web Tier : déploiement de servlets

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Programmation par les Objets en Java

JAVA. Introduction à la programmation objet avec java 1/4. Nadir BOUSSOUKAIA

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Interfaces graphiques avec l API Swing

Support de cours et TD Programmation Orientée Objet

Environnements de développement (intégrés)

Programmation Par Objets

Bases Java - Eclipse / Netbeans

Programmation Orientée Objet - Licence TIS CM8/9. Rappel sur la séance précédente. Lancelot Pecquet Lancelot.Pecquet@math.univ-poitiers.

Remote Method Invocation (RMI)

Introduction à MATLAB R

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Applet pour visualiser les variables «automate» notifiées

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

1. Langage de programmation Java

Un ordonnanceur stupide

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Génie Logiciel avec Ada. 4 février 2013

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

Héritage presque multiple en Java (1/2)

Anne Tasso. Java. Le livre de. premier langage. 6 e édition. Groupe Eyrolles, 2000, 2002, 2005, 2006, 2008, 2010, ISBN :

TP, première séquence d exercices.

RMI le langage Java XII-1 JMF

Java et les bases de données

Programmation Objet Java Correction

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)

TD/TP PAC - Programmation n 3


Tp 1 correction. Structures de données (IF2)

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/ Vue générale 2 - Mon premier programme 3 - Types de Programme Java

Transcription:

Java - Les bases java-intro Java - Les bases Code: java-intro Originaux url: http://tecfa.unige.ch/guides/tie/html/java-intro/java-intro.html url: http://tecfa.unige.ch/guides/tie/pdf/files/java-intro.pdf Auteurs et version Daniel K. Schneider - Vivian Synteta Version: 1.2 (modifié le 4/12/00 par VS) Prérequis Petites connaissances en programmation Module technique suppl.: java-util (explication des packages et classpath) Modules Module d exercices: act-java-intro Module technique suivant: java-jsp (Java server pages)

Java - Les bases -. java-intro-2 Module technique suivant: java-servl (Java servlets) Module technique suppl.: java-jhtml (pages Java actives, démodées!!) Objectifs Notions de Java de base (pas de "comment insérer un applet dans un page html"!)

Java - Les bases - 1. Table de matières détaillée java-intro-3 1. Table de matières détaillée 1. Table de matières détaillée 3 2. Les premiers pas avec JAVA 4 2.1 Caractéristiques et usage du langage Java 4 2.2 Le cycle de développement 5 2.3 La plus simple application (Hello) 6 3. Anatomie d un programme Java 8 4. Classes et méthodes: un premier regard 11 4.1 Les classes 11 4.2 Les définitions de méthodes 17 4.3 La structure d un programme JAVA 19 4.4 Simple I/O, assignation et simples variables 20 5. Algorithmique de base 21 5.1 Instructions les plus importantes 21 5.2 Les types de données 22 5.3 Assignation, type cast et expressions simples 23 5.4 La répétition I: l instruction for 24 5.5 La sélection (if/else) et les conditionnels 25 5.6 Lire des nombres 27 5.7 La répétition II (while) 28 5.8 Les exceptions simples 30 5.9 Classes et méthodes (encore une fois) 32 5.10 Arrays et Tables 34

Java - Les bases - 2. Les premiers pas avec JAVA java-intro-4 2. Les premiers pas avec JAVA Buts de ce chapitre: Donner une feeling pour Java Apprendre a éditer, compiler et consulter la doc on-line 2.1 Caractéristiques et usage du langage Java Indépendance de la plateforme Fait pour le réseau: applets, servlets, libraries réseau Petit langage beaucoup de librairies (packages) Strictement typé ( typed ) Fait par Sun (mais plusieurs autres implémentations) Faire des bookmarks Page Staf2x Page Pointeurs JAVA de TECFA Répertoire exemples Staf2x

Java - Les bases - 2. Les premiers pas avec JAVA java-intro-5 2.2 Le cycle de développement Editeur corriger compiler ( javac *.java ) Erreurs de compilation Entrer du code Compilateur PAS OK Début OK (java *.class) Java VM Machine viruelle changer Erreurs d exécution PAS OK OK Résultats bons Erreurs logiques Fin

Java - Les bases - 2. Les premiers pas avec JAVA java-intro-6 2.3 La plus simple application (Hello) Exemple 2-1: Hello World http://tecfa.unige.ch/guides/java/staf2x/ex/basics/ // Everything in Java is a class public class Hello // All programs must have main() public static void main(string[] args) // Say hello! System.out.println("Hello World!"); // This marks the end of main() // Marks the end of the Hello class

Java - Les bases - 2. Les premiers pas avec JAVA java-intro-7 Explications L application est définie par la classe Hello // sont des commentaires Le fichier doit s appeler Hello.java Chaque application doit définir une méthode main Compiler / Exécuter: javac Hello.java java Hello Pour plus d infos regarder: url: Your first cup of Java

Java - Les bases - 3. Anatomie d un programme Java java-intro-8 3. Anatomie d un programme Java Note: Il ne faut pas essayer de tout comprendre... Exemple 3-1: Simple dessin (Le Ring) Java Gently (2nd edition), p.20 import java.awt.*; import java.awt.event.*; class Ring extends Frame /* The Ring program inspired by Rings by J M Bishop Dec 1996 http://tecfa.unige.ch/guides/java/staf2x/ex/basics/ring.java */ public static void main (String [ ] args) // Create a graphics frame of Class Ring // Set the Size and make it appear as // outlined in the paint method. Frame monframe= new Ring (); monframe.setsize (300, 200); monframe.setvisible (true); // Add functionality for closing the window [coupé ici] public void paint (Graphics g) // Draw a yellow ring g.setcolor (Color.yellow); g.drawoval (100,50,50,50); // Label the drawing g.drawstring("la bague!", 110,140);

Java - Les bases - 3. Anatomie d un programme Java java-intro-9 A. Packages et classes de l API API = application programmer s interface Les packages sont des ensembles de classes qui rajoutent de la fonctionalité au langage Il faut explicitement déclarer chaque package qu on désire utiliser Il existe 22 packages dans le JDK 1.1.7 et PLEINS de classes url: http://tecfa2.unige.ch/guides/java/jdk1.1/docs/api/packages.html Importation de l awt (interface utilisateur) import java.awt.*; import java.awt.event.*; Définition de la classe principale "Ring" Utilisation et élargissement de la classe "système" Frame (fenêtre) class Ring extends Frame...

Java - Les bases - 3. Anatomie d un programme Java java-intro-10 Instantiation d un objet Ring Frame monframe= new Ring (); monframe.setsize (300, 200); monframe.setvisible (true); on crée un objet (instantiation) du type Frame avec la classe Ring et on utilise des méthodes de la classe Frame pour définir la taille et l afficher... pour les détails voir plus tard! Définition de la méthode paint public void paint (Graphics g)... implémente une méthode paint pour afficher le contenu du Frame; la méthode paint nécessite un argument de type Graphics "paint" est appelée automatiquement quand le frame se crée la variable "g" instantie la classe Graphics Appel à des méthodes de la classe Graphics g.setcolor (Color.yellow); g.drawoval (100,50,50,50); // Label the drawing g.drawstring("la bague!", 110,140);

Java - Les bases - 4. Classes et méthodes: un premier regard java-intro-11 4. Classes et méthodes: un premier regard 4.1 Les classes Une classe représente une définition abstraite des "propriétés" et "capacités" d un objet classe = structure d information + méthodes de traitement d information. Un programme Java est définie par un ensemble de classes Une fois définie une classe, on peut (et doit) créer des objets concrets. Lorsque le programme est exécuté, des objets seront crées et des méthodes seront exécutés. Des objets peuvent communiquer entre eux par le biais de méthodes "publiques" Syntaxe de class [Modificateur] class NomDeClasse [extends SuperClasse] [implements Interface1[, Interface2]] CorpsDeClasse... détails à suivre plus tard Exemples simples: public class Hello... public void paint (Graphics g)...

Java - Les bases - 4. Classes et méthodes: un premier regard java-intro-12 A. Les constructeurs Ce sont des méthodes spéciales destinées à instantier les classes; ils portent le même nom que la classe! ils ne retournent aucun type (pas même void); Exemple 4-1: Classe et constructeur simple // Game est une classe class Game // Game est un constructeur Game MyGame = new Game

Java - Les bases - 4. Classes et méthodes: un premier regard java-intro-13 B. Les diagrammes de classe (Voir Java Gently, pp 30, 81ss) Exemple 4-2: Les arbres Classe Variable de classe Trees totalenquiries main enquiry Variable d instance (mémoire des objets) acacia willow palm Objets (Instances) noofenquiries noofenquiries noofenquiries 10 Classes Objets Méthodes Valeurs

Java - Les bases - 4. Classes et méthodes: un premier regard java-intro-14 C. Un programme qui implémente nos arbres //http://tecfa.unige.ch/guides/java/staf2x/ex/basics/trees.java class Trees static int totalenquiries; int noofenquiries; public Trees () public Trees (int n) noofenquiries = n; public static void main (String [ ] args) // on crée 3 arbres Trees acacia = new Trees (); Trees willow = new Trees (); Trees palm = new Trees (10); palm.enquiry(); System.out.println ("Number of enquiries for palm trees = " + palm.noofenquiries + "\nnumber of total enquiries = " + totalenquiries ); void enquiry () noofenquiries++; totalenquiries++;

Java - Les bases - 4. Classes et méthodes: un premier regard java-intro-15 D. Les constructeurs (again) On définit deux constructeurs: un qui crée un simple objet de classe Trees un qui permet en plus de donner une valeur à la variable noofenquiries public Trees () public Trees (int n) noofenquiries = n; E. Simple Output System.out.println imprime un string Notez que l on peut concatener strings et nombres pour créer un seul string: System.out.println ("Number of enquiries for palm trees = " + palm.noofenquiries + "\nnumber of total enquiries = " + totalenquiries );

Java - Les bases - 4. Classes et méthodes: un premier regard java-intro-16 F. Une méthode très simple void enquiry () noofenquiries++; totalenquiries++; enquiry incrémente des compteurs à chaque fois que l on apelle palm.enquiry(); appelle (invoque) cette méthode sur l objet palm qui a été crée une méthode est toujours attachée à un objet ou une classe.

Java - Les bases - 4. Classes et méthodes: un premier regard java-intro-17 4.2 Les définitions de méthodes Détails, exemples, explications etc. voir plus tard! Syntaxe d une méthode Syntaxe: [Modificateurs] TypeRetourné NomDeMéthode(ListeDeParamètres) CorpsDeLaMéthode Les méthodes ont toujours un "TypeRetourné" LeTypeRetourné indique le type que la méthode "retourne" quand on l invoque. sauf s il s agit de constructeurs. Dans ce cas seulement, aucun type n est spécifié (pas même void). Laliste des paramètres s exprime comme en langage C. (Type nom_de_variables, Type nom_de_variables,...) Exemple de modificateurs: public: La méthode peut être utilisée par d autres méthodes en dehors de la même classe private: Le contraire (en plus ce sont de méthodes "final") abstract: Méthodes d interfaces sans code, mais que des sous-classes doivent implémenter (à voir plus tard) static: Méthode qui s applique uniquement à la classe et aux variables de classe (pas aux instances, à voir plus tard) protected et final: voir plus tard...

Java - Les bases - 4. Classes et méthodes: un premier regard java-intro-18 A. Exemples: Une méthode publique typique qui ne retourne rien: public void paint (Graphics g)... Une méthode publique qui retourne une valeur booléenne: public boolean action(event event, Object what)... Une méthode statique typique: public static void main (String [ ] args)... Une méthode publique pour initialiser un applet public class MyEAIapplet extends Applet.. public void init() B. Le langage JAVA est un langage polymorphique: Il est possible de faire de la surcharge de nom de méthodes : utiliser un nom de méthode qui existe déjà pour une méthode de la même classe ou d une superclasse. Il existe deux types de surcharge: Surcharge "verticale" : déclarer une méthode de même spécification qu une méthode héritée, mais en faire une spécification différente. Surcharge "horizontale" : déclarer une méthode qui a le même nom qu une autre méthode, mais pas la même liste de paramètres. (voir: D. Les constructeurs (again) [15])

Java - Les bases - 4. Classes et méthodes: un premier regard java-intro-19 4.3 La structure d un programme JAVA programme fait avec des classes fait avec des membres sont champs sont methodes ( void ou typed ) variables objets déclarés avec types classes construc- teurs paramètres champs (champs) instructions (invocation, assignation, répétition, sélection, exception)

Java - Les bases - 4. Classes et méthodes: un premier regard java-intro-20 4.4 Simple I/O, assignation et simples variables Exemple 4-3: HelloWorld interactif http://tecfa.unige.ch/guides/java/staf2x/ex/basics/greetings.java import java.io.*; class Greetings /* A simple greetings program by J M Bishop Oct 1996 * -------------------------- Java 1.1 Dec 1997 */ public static void main (String [] args) throws IOException BufferedReader in = new BufferedReader (new InputStreamReader(System.in)); System.out.println("What is your name?"); String name = in.readline(); System.out.println("Bonjour " + name); Ignorez comment fonctionne le input pour le moment Mémorisez la méthode pour lire une ligne: // 1. Définir un input buffer BufferedReader in = new BufferedReader (new InputStreamReader(System.in)); // 2. Utiliser: String xxxx = in.readline()

Java - Les bases - 5. Algorithmique de base java-intro-21 5. Algorithmique de base Formule: Programme = structure de données + algorithmes Les algorithmes sont des instructions qui manipulent les données. Dans ce contexte on parle aussi de structures de contrôle. 5.1 Instructions les plus importantes Nom Fonctionalité Voir: assignation assigner une valeur à une variable 5.3 Assignation, type cast et expressions simples [23] for "Pour faire"; faire N fois, etc. 5.4 La répétition I: l instruction for [24] if "selection"; si alors sinon... 5.5 La sélection (if/else) et les conditionnels [25] while "tant que faire", boucler tant qu une condition soit remplie 5.7 La répétition II (while) [28] try "essayer" et si cela ne marche pas faire autre chose 5.8 Les exceptions simples [30] expressions calculer quelque chose, invoquer une 5.9 Classes et méthodes (encore méthodes etc. une fois) [32]

Java - Les bases - 5. Algorithmique de base java-intro-22 5.2 Les types de données Max / ou valeurs possibles défaut Initiatlisation par Exemple Nombres byte 127 89 0 short 32767-3 0 int 2147483647 10 0 long 10e18 10 0 float 10e38 123.456789 0.0 double 10e308 2.1 0.0 Autres boolean true false true false char A-Z,a-z,!@... * "" Vecteurs et Matrices xxx [] - int i []; char tablo [] []; selon le type Classes Java String "..." "Daniel S" "" pleins d autres!

Java - Les bases - 5. Algorithmique de base java-intro-23 5.3 Assignation, type cast et expressions simples Syntaxe: assignation simple variable = expression; variable voir aussi 5.2 Les types de données [22] expression voir les manuels Java Exemples i tree x+y/10 "Sylvere M" palm.enquiry() vrai faux Exemple 5-1: Simple Calcul http://tecfa.unige.ch/guides/java/staf2x/ex/basics/simplecalculs.java // public class SimpleCalculs // All programs must have main() public static void main(string[] args) int somme = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10; float moyenne = somme / 10; System.out.println ("La moyenne est égale à " + moyenne);

Java - Les bases - 5. Algorithmique de base java-intro-24 5.4 La répétition I: l instruction for Syntaxe: For-statement Exemple 5-2: Imprimer des messages un peu répétitifs http://tecfa.unige.ch/guides/java/staf2x/ex/basics/foryou.java public class ForYou for (start; check; update) body Exemples start initialisations de variables d itération int I=0; int Kaspar = 0; check condition qui teste s il faut sortir de la boucle i<10; update mise à jour de variables d itération i++; ou i=i+a; body instruction ou bloc d instructions System.out.println(i + "fois,") // All programs must have main() public static void main(string[] args) // Say hello! for (int i=1; i<11; i++) System.out.println("J aimerai t embrasser "+ i +"fois\n ");

Java - Les bases - 5. Algorithmique de base java-intro-25 5.5 La sélection (if/else) et les conditionnels Syntaxe: if Exemples if (condition) bloc_d instructions else bloc_d instructions condition (... ) (nombre > 1) bloc_ d instructions Illustration: instruction; instruction;... ou instruction_simple; instruction simple a = 1 + a; b = 2 + a; if (thesecondstring.length() < thefirststring.length()) System.out.println("The second string is shorter"); else System.out.println("The second string is NOT shorter"); for (int i=1) System.out.println ("forever") ; a = b;

Java - Les bases - 5. Algorithmique de base java-intro-26 Exemple 5-3: Comparaison de la longeur de 2 strings import java.io.*; class Condition /* A simple program to say what is the shortest string of two * -------------------------- Java 1.1 Oct 1998 */ public static void main (String [] args) throws IOException BufferedReader in = new BufferedReader (new InputStreamReader(System.in)); System.out.println("Please: input a string"); String thefirststring = in.readline(); System.out.println("Please: input another string"); String thesecondstring = in.readline(); if (thesecondstring.length() < thefirststring.length()) System.out.println("The second string is shorter"); else if (thesecondstring.length() == thefirststring.length()) System.out.println("The two strings have the same length"); else System.out.println("The first string is shorter");

Java - Les bases - 5. Algorithmique de base java-intro-27 5.6 Lire des nombres Exemple 5-4: Lire un nombre http://tecfa.unige.ch/guides/java/staf2x/ex/basics/sign.java import java.io.*; class Sign /* A simple program to get the sign of a number * -------------------------- Java 1.1 Oct 1998 */ public static void main (String [] args) throws IOException, NumberFormatException BufferedReader in = new BufferedReader (new InputStreamReader(System.in)); System.out.println("Please: input a number"); Integer thenumber = new Integer(in.readLine()); if (thenumber.intvalue() < 0) System.out.println("Negative number"); else System.out.println("Positive number");

Java - Les bases - 5. Algorithmique de base java-intro-28 5.7 La répétition II (while) Syntaxe: while Initialisation_des_conditions while (conditions) bloc_d instructions changement_des conditions Exemples while (conditions) bloc_d instructions comme pour le "if" (voir 5.5 La sélection (if/else) et les conditionnels [25] Voici la logique d un while: a = 0; while (a < 10) n = n + a; a = a + 1; Illustration: while (CurrentNumber.length()!=0) TheSum = TheSum + (new Integer(CurrentNumber)).intValue(); CurrentNumber=in.readLine();

Java - Les bases - 5. Algorithmique de base java-intro-29 Exemple 5-5: Lire une série de nombres http://tecfa.unige.ch/guides/java/staf2x/ex/basics/sum.java import java.io.*; class Sum /* A simple program to get the sum of a list of numbers * -------------------------- Java 1.1 Oct 1998 */ public static void main (String [] args) throws IOException, NumberFormatException BufferedReader in = new BufferedReader (new InputStreamReader(System.in)); System.out.println("Please:"); System.out.println("Input a list of numbers, pressing enter between each number."); System.out.println("When you have finished, just press enter."); int TheSum = 0; String CurrentNumber = in.readline(); while (CurrentNumber.length()!=0) TheSum = TheSum + (new Integer(CurrentNumber)).intValue(); CurrentNumber=in.readLine(); System.out.println("The sum of all the numbers is " + TheSum);

Java - Les bases - 5. Algorithmique de base java-intro-30 5.8 Les exceptions simples Syntaxe: Exemples try bloc_d instructions catch (Signal_d exception var) bloc_d instructions catch (Signal_d exception var) bloc_d instructions... Signal d exception Signaux définies par le système NumberFormatException définis par vous-même Illustration: try Integer TheNumber = new Integer(in.readLine()); System.out.println("The string you typed is a valid java number."); catch (NumberFormatException e) System.out.println("The string you typed is not a valid java number.");

Java - Les bases - 5. Algorithmique de base java-intro-31 Exemple 5-6: Lire un nombre et gérer les exceptions http://tecfa.unige.ch/guides/java/staf2x/ex/basics/catch.java import java.io.*; class Catch /* A simple program to read a string and tell if it is a valid java number * -------------------------- Java 1.1 Oct 1998 */ public static void main (String [] args) throws IOException, NumberFormatException BufferedReader in = new BufferedReader (new InputStreamReader(System.in)); System.out.println("Please: Input a number."); try Integer TheNumber = new Integer(in.readLine()); System.out.println("The string you typed is a valid java number."); catch (NumberFormatException e) System.out.println("The string you typed is not a valid java number.");

Java - Les bases - 5. Algorithmique de base java-intro-32 5.9 Classes et méthodes (encore une fois) récursion vs. itération Exemple 5-7: Les palindromes import java.io.*; class Call /* A simple program to show the way java methods are invoked * -------------------------- Java 1.1 Oct 1998 */ static String TheString; // constructor for the class Call () throws IOException BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Please:"); System.out.println("Input a string"); TheString = in.readline(); System.out.println("The palindrome is:"); System.out.println(Palindromize1(TheString) + " (using method 1)"); System.out.println(Palindromize2(TheString) + " (using method 2)"); System.out.println("Hopefully, we get the same result"); // Simple Main method public static void main (String [] args) throws IOException Call TheCall = new Call();

Java - Les bases - 5. Algorithmique de base java-intro-33 String Palindromize1 (String AString) if (AString.length() < 2) return AString; else // return the palindromized (2-last element) + 1st char return Palindromize1(AString.substring(1)).concat(AString.substring(0,1)); String Palindromize2 (String AString) String ThePalindrome = new String(); for (int i = (AString.length() - 1); i >= 0; i--) ThePalindrome = ThePalindrome.concat(AString.substring(i,i + 1)); return ThePalindrome;

Java - Les bases - 5. Algorithmique de base java-intro-34 5.10 Arrays et Tables Syntaxe: Simples tables Exemple int TheTable[] = new int[100]; Définit une table avec 100 éléments, chaque élément doit être un nombre entier. Exemple 5-8: Lire des nombres et les mettre dans un tableau http://tecfa.unige.ch/guides/java/staf2x/ex/basics/table2.java import java.io.*; class Table2 /* A VERY simple program to show how to use an array * -------------------------- Java 1.1 Oct 1998 */ public static void main (String [] args) throws IOException, NumberFormatException BufferedReader in = new BufferedReader (new InputStreamReader(System.in)); System.out.println("Please:"); System.out.println("Input a list of numbers, pressing enter between each number."); System.out.println("When you have finished, just press enter.");

Java - Les bases - 5. Algorithmique de base java-intro-35 int TheTableLength = 0; int TheTable[] = new int[100]; String CurrentNumber = in.readline(); while (CurrentNumber.length()!=0) TheTableLength = TheTableLength + 1; TheTable[TheTableLength - 1] = (new Integer(CurrentNumber)).intValue(); CurrentNumber=in.readLine(); System.out.println("The computer has a very big short term memory (100 elements max):"); for (int i = 0; i < (TheTableLength); i++) System.out.print(TheTable[i] + " ");

Java - Les bases - 5. Algorithmique de base java-intro-36