JAVA
Java n’est pas : Java n'a rien de commun avec HTML Java n'est pas un langage de script Java != JavaScript (c'est un langage généraliste, type C++) Java != C++ (c'est un langage purement objet, de plus haut niveau, plus proche de SmallTalk) Java se situe du côté client avec les applets et du côté serveur (application, servlet)
Java : les plus Très orienté objet Programmation réseau prévue dans le langage Gestion des entrées sorties unifiées Gestion de la sécurité (garbage collector)
Java : les moins Plus lent que le C ? Gestion de la mémoire intégrée Gestion moins fine de la mémoire Nécessite une machine virtuelle installée
Indépendant de la plate-forme Java : le langage Orienté objet Indépendant de la plate-forme Syntaxe similaire à celle du C/C++ sans ses difficultés de programmation Programme source compilé et transformé en byte Code
Développement classique Ex : C #include <stdlib.h> #include <stdio.h> int main(int count, char *argv[]) { printf(" bonjour le monde "); } windows MAC-OS Linux Code source Fichier binaire Compilateurs
Java est indépendant de la plate forme d’exécution Import java.awt.Graphics; Class HelloWorldApplet extends java.applet.Applet { public void paint( ..) } Code java Compilateur java Pseudo-code indépendant de la plate forme Byte code Interpréteur java windows MAC-X Linux HelloWorldApplet .java HelloWorldApplet.class
Java et les environnements d'exécution La machine virtuelle java (JRE) doit être présente : matérielle ou logicielle interprète et exécute le byte code garanti de la portabilité des programmes puisqu'elle fait le lien avec le système Oracle fournit des VM pour presque tous les systèmes les VMs existent aussi pour des Java embarqués : mobile, palm ...
Java : Les outils Environnements de développement : La boite à outils de java le JDK Et Un editeur de texte simple vi, notepad… Ou mieux : IDE : Eclipse, netBeans
Java : Le JDK javac : compilateur de sources java java : interpréteur de byte code appletviewer : interpréteur d'applet javadoc : générateur de documentation (HTML) javah : générateur de header pour l'appel de méthodes natives javap : désassembleur de byte code jdb : debugger …
Java : une bibliographie Quelques sites : http://www.oracle.com/technetwork/java/index.html le site officiel http://www.jmdoudoux.fr/accueil.html http://www.eteks.com/coursjava/ http://java.developpez.com/ Pour l'EDI eclipse http://www.eclipse.org Pour l'EDI netbean http://netbeans.org/downloads/
Java : Premier programme Fichier source Java : HelloWorld.java public class HelloWorld { public static void main(String[] args) System.out.println("Hello World"); } Compilation : javac HelloWorld.java Exécution : java HelloWorld Documentation : javadoc (pas de commentaire ici)
Java : les applications Tout est objet : Le point d'entrée est la fonction main la fonction main() fait partie d'une classe Aucune fonction externe Syntaxe proche du C
Java : les types de données Les types simples sont pris en charge : int Entier allant de -2 147 483 648 à +2 147 483 647 4 octets float Réel allant de -1.4 * 10-45 à +3.4 * 1038 4 octets double Réel double précision allant de 4.9 * 10-324 à +1.7 * 10308 8 octets char Caractère unicode (65536 caractères possibles) 2 octets byte Entier très court allant de -128 à +127 1 octet short Entier court allant de -32768 à +32767 2 octets long Entier long allant de -263 à +263 -1 8 octets boolean variable booléenne (valeurs : vrai ou faux) 1 octet byte Entier très court allant de -128 à +127 1 octet short Entier court allant de - 32768 à +32767 2 octets int Entier allant de -2 147 483 648 à +2 147 483 647 4 octets long Entier long allant de -263 à +263 -1 8 octets float réel allant de -1.4 * 10-45 à +3.4 * 1038 4 octets double réel double précision allant de 4.9 * 10-324 à +1.7 * 10308 8 octets char Caractère unicode (65536 caractères possibles) 2 octets boolean variable booléenne (valeurs : vrai ou faux) 1 octet
Java : les opérateurs
Java : la méthode main Le prototype : public static void main(String[ ] args) C'est le point d'entrée lors de l'exécution de la classe fourni à la jvm String [ ] args Args est un tableau de chaînes Il correspond aux arguments passés lors de l'exécution (équivalent de argv en C)
Java : les structures de contrôle Les structures de contrôles sont identiques au langage C Ecrivez un premier programme qui affiche la table de multiplication par 7
A retenir : Environnement d'exécution JRE sur la machine cible JDK pour le développement Environnement de développement EDI eclipse, netbean
A retenir : Pour compiler javac MaClass.java Pour exécuter Un fichier = 1 classe java Nom de classe commence toujours par une majuscule Nom de la classe = nom du fichier Source MaClass.java compilé MaClass.class Pour compiler javac MaClass.java Pour exécuter java MaClass