I. Eléments de Java 1) Programmes simples 2) Types simples et instructions 3) Attribut, méthode, constructeur 4) Interface 5) Classe interne 6) Classe anonyme 7) Entrée-Sortie Pas d’héritage Pas d’exception De l’assert 1) Programmes Java Programme = {Classe} + 1 méthode main dans au moins une classe Exemple : Bonjour.java public class Bonjour { public static void main(String[] arg) { System.out.println(”Bonjour”); } } Une classe = {attribut d’objet ou de classe } ∪ {constructeur} ∪ {méthode d’objet ou de classe} Un objet = instance de classe 2) Types simples et instructions char Les types simples boolean byte short int long float double Chaînes de caractères String (voir l’API) Tableau (voir l’API Arrays) int[] premiers = {2,3,5,7,11,13}; int[] pairs; pairs = new int[]{0,2,4,6,8}; int[] anonyme = new int[5]; Instruction if else, switch, for, while, do while Exemple PGCD, Premier, Erathosthene 3) Attribut, méthode, constructeur Attribut “rien” public protected private “rien” “rien” <type> <nom> “rien” ; = <valeur> static final de classe constante Modificateur de visibilité (package = {classe}) “rien” : Visible par tout le package public : Visible par toutes les classes protected : Visible par tout le package et toutes les sous-classes private : Visible uniquement par la classe Méthode “rien” public protected private “rien” “rien” <type> <nom> (paramètres) {code} static final de classe pas d’héritage possible Constructeur “rien” <nom de la classe> (paramètres) {code} public protected private Le mot clé this référence l’objet courant 4) Interface Donne une spécification externe à une classe public interface Pile { public boolean isEmpty(); public void push(Object o); public Object pop(); } public interface ListPile implements Pile { ... } Les méthodes sont publiques Les attributs sont des constantes publiques Evaluation qualitative et quantitatives d’implantations de piles ArrayPile Pile ListPile LinkedListPile ArrayListPile Evaluation qualitative - Ecrire un jeu de test - Test de front Evaluation quantitative - Mesurer le temps d’exécution d’une séquence d’instructions 5) Classe interne Classe interne de classe public class A { ... public static class B { ... } ... } ʐ Définit la classe A.B ʐ Une instance est obtenu par new A.B(...) Exemple : SimpleList.java, ListPile.java Classe interne d’objet public class A { ... public class B { ... } ... } ʐ Définit la classe A.B ʐ Une instance est obtenu par a.new B(...) ʐ Un objet de la classe A.B est associé à un objet de la classe A Exemple : SimpleList.java 6) Classe anonyme Un exemple public class beepAction implements ActionListener { public void actionPerformed (ActionEvent e) { System.out.print(”.”); } } Timer timer = new Timer(1000, new beepAction()); est équivalent à Timer timer = new Timer(1000, new ActionListener { public void actionPerformed (ActionEvent e) { System.out.print(”.”); } } ); 7) Entrée/Sortie FileInputStream System.in implements FileNotFoundException implements InputStreamReader utilise BufferReader StringTokenizer readLine() IOException StringTokenizer(String) boolean hasMoreTokens() Strin nextToken()