Cours caractéristiques générales du langage Java, tutoriel introduction à Java document pdf.
1. Introduction
1.1 Historique
1.2 Informations sur Java
1.3 Aspects généraux
1.4 Son mode de fonctionnement
1.5 Notion de machine virtuelle
2. Caractéristiques générales du langage Java
2.1 Syntaxe
2.2 Types de données
2.3 Variables
3. L’aspect objet du langage Java
3.1 Concepts de base des langages objets
3.2 Objet, classes et instance
3.3 Création d’une classe
3.4 Création d’objet
3.5 Envoi de message et méthodes
3.6 Héritage
3.7 Interfaces et implémentation
3.8 Relations et liens
3.9 Graphe de collaboration
4. Autres aspects du langage Java
4.1 Packages
4.2 Applications et applets
5. Les tableaux
6. Quelques particularités
7. Les packages et classes principales
7.1 Package Java.lang
1. Introduction
1.1 Historique
Début des langages objets dans les années 60 avec Simula 67, dérivé d’Algol, conçu en Norvège à Oslo par Dahl et Nygaard. Simula est un langage destiné à faire de la simulation par événements discrets en représentant directement les entités du monde réel (grue, bateau, guichet de banque, client,..) par une structure informatique munie d’un état et d’un comportement. En 72. A partir de Sketchpad (système de manipulation d’éléments graphique) et de Simula, Alan Kay invente Smalltalk (trad. parlote ou babillage), écrit en Lisp. Il invente à ce sujet la notion d’envoi de message. Un programme est alors conçu comme un ensemble d’objets informatiques qui communiquent par envois de messages. Puis en 76, Smalltalk 76, avec la notion de méta classe. Enfin, en 80, Smalltalk 80 fait son apparition en déclinant de manière particulièrement harmonieuse la notion du « tout objet ». Smalltalk est à l’heure actuelle la référence en termes de langages concevant tout en termes d’objets.
1.2 Informations sur Java
On trouver une mine de renseignements sur le Web et sur Java.
Web: www.javasoft.com, java.sun.com
Tutoriel en français: www.inf.enst.fr/~charon/CoursJava
Sur yahoo: catégorie: informatique, langage de programmation, Java
1.3 Aspects généraux
1. Langage portable (disponible sous Unix (Solaris, Linus,..), Mac et Windows 95)
2. Machine virtuelle: Compilation -> interprétation
3. Syntaxe semblable à C++
4. Tout «presque» objet:
· Pas de variables globales (autres que les noms de classes)
· Mais il existe encore des entités primitives « non-objets» (les caractères,les nombres et les booléens).
5. Bibliothèque importante de classes
6. Gestion graphique intégrée et portable
7. Structure par « packages»
8. Exceptions
9. Threads
1.4 Son mode de fonctionnement
1.4.1 Notion d’Applet, d’applications et de machine virtuelle
Un premier exemple d’application «bonjour»: Attention, les noms de fichiers doivent avoir le nom des classes correspondant (on ne peut avoir qu’une classe «externe» par fichier).
/**
• fichiersource: SalutApp.java
• The SalutApp class implements an application that
• simply displays « Salut les copains! » to the standard output.
*/
import java.io.*;
class SalutdApp {
public static void main(String[] args) {
System.out.println(« Salut les copains! »); //imprime la chaîne
}
}
Pour compiler l’application:
javac HelloWorldApp.java
Pour exécuter l’application:
java HelloWorldApp
et on voit apparaître:
salut les copains!
La version graphique(fichier Salut.java)
import java.applet.Applet;
import java.awt.Graphics;
public class Salut extends Applet {
public void paint(Graphics g) {
g.drawString(«salut les copains!», 50, 25); //affiche la chaîne
}
}
puis on crée le fichier Salut.html:
<HTML>
<HEAD>
<TITLE> A Simple Program </TITLE>
</HEAD>
<BODY>
Voici le résultat du programme:
<APPLET CODE=»Salut.class» WIDTH=150 HEIGHT=25 ALIGN=MIDDLE>
</APPLET>
</BODY>
</HTML>
Et il n’y a plus qu’à charger ce fichier dans un browser capable d’exécuter du Java (Netscape 2.0 et suivant, Microsoft Explorer 3.0, Hot Java, etc…).
2. Caractéristiques générales du langage Java
2.1 Syntaxe
Syntaxe semblable à celle du C. Attention, comme dans C, les ‘;’sont des terminateurs d’instructions et non des séparateurs d’instructions comme en Pascal (en particulier il y a toujours un ‘;’ à la fin d’une affectation qu’il y ait un else ou non derrière).
2.1.1 Expressions
La syntaxe d’une expression est la suivante:
<expr>::= (<expr>) |
<expr> <op-bin> <expr> |
<op-unaire> <expr> |
<ident> |
<litteral> |
<envoi de message avec retour> // voir plus loin dans le cours
2.1.2 Opérateurs
Les mêmes qu’en C:
2.1.2.1 Relationnel
==,!=, >, <, >=, <=,
2.1.2.2 Arithmétique
+, *, -, /, % (reste d’une division entière, modulo)
++, — (même règles qu’en C)
2.1.2.3 Logique
&&, ||,!
Opérateurs de manipulation de bits
op1 >> op2 shift bits of op1 right by distance op2
op1 << op2 shift bits of op1 left by distance op2
op1 >>> op2 shift bits of op1 right by distance op2 (unsigned)
& op1 & op2 bitwise and
| op1 | op2 bitwise or
^ op1 ^ op2 bitwise xor
~ ~ op bitwise complement
2.1.3 Instructions
2.1.3.1 affectation
Comme dans C:
<var> = <expr>;
il existe aussi la possibilité d’associer un opérateur binaire à une affectation:
<var> += <expr>;
est équivalent à
<var1> = <var1> + <expr>;
2.1.3.2 Structures de contrôle
if <expr> <instr1> else <instr2>
if <expr> <instr>
Switch <expr> {
case <cste1>: <instr1> //penser au Break!!
…
case <csten>: <instrn>
default: <instr par defaut>
}
while <expr> <instr>
do <instr> while <expr>
for(<init>; <expr tant que>; <increment>) <instr>
2.1.3.3 Différences avec C++
· Pas de Goto!!
· Pas de Macros…
· Pas de struct et d’unions
· Pas de pointeurs
Caractéristiques générales du langage Java (176 KO) (Cours PDF)