Cours de base Java
Commentaires Composés : Cours de base Java. Rechercher de 53 000+ Dissertation Gratuites et Mémoiresable, nommé " ByteCode", interprété au sein d'une machine virtuelle (VM) Portabilité = disponibilité de la machine virtuelle Java
ð Outils de développement Ä Visual Café Ä Jbuilder Ä Visual J++ Ä PowerJ
Source Java Compilateur Java Intel
Bytecode Machine virtuelle Exécution
Cours de base Java / Renaud Zigmann / Copyright 2000 XSALTO sarl
3
Cours de base Java / Renaud Zigmann / Copyright 2000 XSALTO sarl
4
2
Machine virtuelle et JDK
ð Machine virtuelle Java Ä Architecture d'exécution complète
Jeu d'instructions précis des registres une pile
Machine virtuelle et JDK
(suite)
ð Version du JDK Ä JDK 1.0, 1.1, 1.2 (java2), 1.3 (nouvelle plate-forme java2)
Les JDK sont disponibles sur Internet http://java.sun.com/products /JDK
Ä JDK 1.02
première version réellement opérationnelle, API et classes élémentaires première version de la bibliothèque AWT (Abstract Windowing Toolkit) Utilisé seulement pour une compatibilité maximale.
Ä La sécurité est fondamentale
Le langage et le compilateur gèrent entièrement les pointeurs Un programme de vérification du bytecode veillent à l'intégrité du code java Le chargeur de classes (class loader) est chargé d'autoriser ou de refuser le chargement d'une classe. Une classe est chargée d'effectuer la vérification des appels au x API
Ä JDK 1.1: 1.1.8
améliorations et extensions du langage, améliorations de AWT Apparition des composants Java et JavaBeans, JDBC (Java Database Connectivity RMI ( Remote Method Invocation) ), Nouveau modèle d'événements, amélioration de la sécurité (signature des applets) Java côté serveur ( Servlets), JNI (Java Native Interface)
Ä Disponibilité
Machines virtuelles JDK Machines virtuelles intégrées aux navigateurs Machines virtuelles des environnements de développement
Ä JDK 1.2
Intégration des composants Java Swing, dans les JFC (Java Foundation Classes) Amélioration des JavaBeans, intégration de l'API Java 2D, API d'accessibilité Intégration de l'IDL en standard pour le support natif de CORBA, intégration des bibliothèques CORBA Support du drag and drop.
ð Java Development Kit
Ensemble de composants permettant le développement, la mise au point et l'exécution des programmes Java. lUn ensemble d'outils; lUn jeu de classes et de services; lun ensemble de spécifications. Un développement java peut être entièrement réalisé avec le JDK, avec des outils en ligne de commande. Les fichiers sources ont l'extension .java Les fichiers compilés ont l'extension .class
ð Bibliothèque
AWT: composants d'interface homme machine portables, basé sur des classes d'implémentation spécifiques à chaque plate-forme. Un composant AWT correspond à un composant natif. SWING : nouvelle génération de composants; 100% Java, Look & Feel paramétrable, modèle VMC (Vue Modèle Contrôleur)
ð Exercice 1: mon premier programme
Fichier HelloWorld.java:
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } }
Nom Java.exe Javac.exe Appletviewer.exe Jar.exe Javadoc.exe Javap.exe Jdb.exe
Description Machine virtuelle java Compilateur java M a c h i n e v i r t u e l l e j a v a p o u r l ’ e x é c u t i o n d ’a pplets Permet la création d’archives java Générateur de documentation java Désassembleur de classes compilées Débogueur en ligne de commande
Exemple construit sur une classe publique La méthode main est le point d'entrée du programme Le nom du fichier et le nom de la classe doivent concorder Compilation
javac HelloWorld.java
Exécution
java HelloWorld
Cours de base Java / Renaud Zigmann / Copyright 2000 XSALTO sarl
5
Cours de base Java / Renaud Zigmann / Copyright 2000 XSALTO sarl
6
3
Jbuilder 3
Ä Des experts et assistants Ä Basé sur le JDK 1.2, mais support des JDK passés Ä Apports
support intégré du JDK 1.2 bibliothèques de composants séparation DataExpress/JBCL navigation dans les sources environnement plus simple d'accès intégration de swing nouveaux experts et nouvelles versions d'experts explorateur et moniteur SQL améliorés intégration de VisiBroker 3.4
Le langage Java
ð Eléments généraux du langage Ä Codage du texte
Java peut utiliser un codage Unicode ou ASCII
Ä Commentaires
// ceci est un commentaire sur une seule ligne /* ceci est un commentaire qui peut s'étaler sur plusieurs lignes */
Ä Commentaires javadoc
Commentaires javadoc introduits par /**
Tag @see @author @version @param @return @exception @deprecated
Description Nom de classe associé Nom de l’auteur Numéro de version Nom de paramètre et description Description de la valeur de retour Nom de l’exception et description Déclare un item obsolete
Ä IDE
Mode conception pour le développement Mode exécution réservée aux phases de tests et de mise au point
Applicable à Class, method ou variable Classe Classe Méthode Méthode Méthode Classe, méthode ou variable
Ä Caractéristiques des versions
Voir page 23, "Le programmeur Jbuilder3"
ð Types
Langage typé: toute variable a un type, connu au moment de la co mpilation. Java maintient aussi des informations consultables au moment de l'exécution. Types primitifs : boolean, char, byte, short, int , long, float, double. Les types primitifs ne sont pas des objets, mais disposent de classes Wrapper .
Ä Déclaration et initialisation
int toto; double b1, b2; int foo = 12;
Les variables non initialisées sont automatiquement positionnées à "zero".
Ä Références
Les objets sont toujours manipulés par référence. Les références sont passées par valeur.
// deux références sur le même objet Car myCar = new Car(); Car anotherCar = myCar; // passage de l'objet par référence myMethod(myCar);
Object
Vehicle
Car
Cours de base Java / Renaud Zigmann / Copyright 2000 XSALTO sarl
7
Cours de base Java / Renaud Zigmann / Copyright 2000 XSALTO sarl
8
4
Le langage Java
ð Chaînes Ä Les chaînes sont des objets de classe String
System.out.println("Hello my string…"); String s = "I am a value"; String t = "Je dis \"I am a string\""; String quote = "Ceci " + "est " + s;
Le langage Java : expressions
ð Expression Ä Opérateurs
++ et -- incrémenter, décrémenter +, -, *, /: opérateurs unaires et binaires arithmétiques +: concaténation de chaînes : décalages à gauche et à droite >>> décalage à droite sans extension de signe =: comparaison numérique ~: complément binaire, !: complément logique ( type ): conversion ==, !=: égalité et différence de valeur et de référence & : 'et' binaire et logique, | : 'ou' binaire et logique ^ : 'ou exclusif' binaire et booléen && et ||: 'et' conditionnel, 'ou' conditionnel ?: : opérateur conditionnel
...