Java I. Introduction Historique : - Création au début des années 90 par l’entreprise SUN (aujourd’hui rachetée par Oracle) - A l’origine langage OAK, plus simple que le C et plus facilement exploitable, créé par James Gosling - En 95 intégration dans un navigateur et présenté lors d’une conférence qui conquis le public et donna lieu à l’achat d’une première licence par Netscape. C’est aussi l’année ou OAK devient Java - En 96 sort Java 1.0 (aujourd’hui en version 7) Règles de fabrication : - création d’un fichier source (.java) dont le nom doit commencer par une majuscule - compilation du fichier source o elle ne produit pas de code machine (compréhensible par le processeur) o elle produit un autre code appelé « byte-code » identique à toutes les machines o on utilise pour cela la commande javac Exemple.java qui donnera le byte-code Exemple.class - interprétation du byte-code o produit par la commande : java Exemple Définition : - le langage (règles d’écritures) - les commandes - les types "classes" ≅ 5000 (rt.jar) Cela forme la plateforme java JSE (Java Standard Edition). Remarque : il existe d’autres plateformes : JEE (Java Enterprise Edition) pour le web dynamique, JME (Java Micro Edition) pour les systèmes embarqués II. Exemples programme simple : addition de deux nombres public class Exemple { plublic static void main (String [] args) { int a,b,c; a=10; b=15; System.out.println(“le resultat est” + c); } } programme d’addition avec saisie (boîte de dialogue) import javax.swing.JOptionPane ; public class Exemple { public static void main(String [] args){ String rep; int a,b,c; rep = JOptionPane.showInputDialog(“Taper a”); a = Integer.parseInt(rep); rep = JOptionPane.showInputDIalog(“Taper b”); b = Integer.parseInt(rep); c = a + b; JOptionPane.showMessageDialog(null, “le résultat est” + c ); System.exit(0) ; } } RQ : les bibliothèques en Java sont appelées package et contiennent donc les classes, le principal est java.lang elle est intégrée automatiquement. JOptionPane est dans le package javax.swing III. Variables et types 2 catégories de variables : o types primitif (équivaut à peu près à ce qui viens du C) boolean (true / false, tiens sur un byte) byte (1 byte) short (2byte) int (4 byte) long (8 byte) float (4 byte) double (8 byte) char (2 byte, UNICODE [256 caractères]), pour utiliser un autre caractère on utilise char c = ‘\uXXXX’ où XXXX est le code hexa du caractère Rq: à partir du moment qu’il y a un “.” le compilateur le considère comme un double, du coup pour dire au compilateur de le considérer comme un float on rajoute f, ex : float x = 1.2f o types classes (équivaut à peu près à ce qui vient de la POO) (environ 5000 types ≈ pointeurs alloués) pour créer une variable de type classe on la nomme : Type idvar ; et on lui alloue un espace mémoire idvar = new Type (…), la libération de la mémoire est gérée par la JVM. Exemple : FileReader fr ; fr = new Filereader(“fic.html”); Exemples de classes o String “ “ = String chaînes de caractères non modifiable construction String nom; nom = new String(); nom = String (“abc”); ou String nom = new String (“def”); ensemble de fonctions String nom=”bonjour”; nom.length() 7 nom.charAt(indice) nom.substring(ind1, ind2) : donne la chaine entre ind1 et ind2 – 1 nom.toLowerCase (attention pour récupérer on éxécute donc nom = nom.toLowerCase comme la chaîne String ne peux être modifiée) nom.indexOf(« chaîne », position de départ [facultatif]) : renvoie la position de la chaine nom.lastIndexOf : recherche à partir de la droite Integer.parseInt : transforme en int (marche avec tous les formats) String.valueOf(nombre) : donne la valeur de la chaîne à cet indice. o String Buffer