• Introduction
• Syntaxe de base
– Variables, types, portée
– Opérateurs
– Instructions de contrôle
– Fonctions
– Entrées-sorties standards
– Programme, compilation,
exécution
• Classes
• Paquetages, import, javadoc,…
• Héritage
• Interfaces
• Exceptions
• Programmation générique
• Threads
• Paquetages standards
• java.lang
• Entrée-sorties : paquetage java.io
• Collections, (+ dates, …) : java.util
• Graphisme :
– Applets
– java.awt
– Evénements
– javax.swing
• Programmation réseau : java.net
• Programmation distribuée : java.rmi
• Accès bases de données : java.sql
• JavaBeans
INTRODUCTION
Les langages de programmation
• Niveaux et catégories de langages :
– langage binaire
– assembleur : instructions de base du processeur (transferts entre registres, addition, …)
– langages impératifs Basic, Fortran, Pascal, C, …
– langages fonctionnels Lisp, Caml, …
– langages orientés-objet SmallTalk, C++, Java,…
Historique de Java
• Initialement, projet de la société Sun (rachetée depuis par Oracle) pour l’électronique grand public (1991)
• Transformé en langage pour le Web, sous le nom de «Java », grâce à sa portabilité (1994/95)
• Lancement officiel en mai 1995
• Après l’engouement pour les applets, Java est progressivement reconnu comme un langage à part entière
• Langage de programmation sans doute le plus utilisé aujourd’hui :
– plusieurs millions de développeurs Java
– nombreux outils de développement
– 6 milliards d’objets avec une « machine virtuelle Java », dont 85% des téléphones portables et 91% des ordinateurs (chiffres 2008)
Intérêt de Java
• logiciels portables
• programmes fiables (rigueur du langage => peu de bogues)
• développement rapide
• pages Web interactives (via les « applets »)
• logiciels (ou briques logicielles) téléchargeables, éventuellement automatiquement
• gestion de la sécurité (par défaut, accès restreint aux ressources locales pour les applets)
SYNTAXE DE BASE
VARIABLES, TYPES, PORTEE, COMMENTAIRES, …
Variables et types
• notion de variable: nom (identificateur) + type + zone mémoire
• en Java, deux grandes catégories de types :
– types « primitifs»(entiers, flottants, …)
– références à des types « composites » :
• tableaux
• énumérations
• objets
• interfaces
Types « primitifs »
•boolean
•char (16-bit, Unicode)
•byte: entier (signé) 8-bit
•short: entier (signé) 16-bit
•int: entier (signé) 32-bit
•long: entier (signé) 64-bit
•float: flottant (IEEE 754) 32-bit
•double: flottant (IEEE 754) 64-bit
Booléens : boolean
• 2 valeurs : trueou false
• véritable type
• type retourné par les opérateurs de comparaison
• type attendu dans tous les tests
• ne peut pas être converti en entier
Entiers
• littéraux de type entier :
– en base dix : 139
– en octal : 0213
– en hexadécimal : 0x8b
• L ou l pour spécifier un long : 139L
• valeurs min/max :
–byte= [-128; +127]
– short= [-32768 ; +32767]
– int= [-2.147.483.648 ; +2.147.483.647]
– long= [-9,223… 10
18
; +9,223… 10
18
]
• conversion automatique seulement vers les types entiers plus grands (int−>long, etc…) et vers les types flottants
Booléens : boolean
• 2 valeurs : trueou false
• véritable type
• type retourné par les opérateurs de comparaison
• type attendu dans tous les tests
• ne peut pasêtre converti en entier
Programmation avec le langage Java (1051 KO) (Cours PDF)