0% ont trouvé ce document utile (0 vote)
78 vues

CH1 Introduction Java

Ce document présente une introduction à la programmation orientée objet en Java. Il décrit les concepts clés comme les classes, objets, encapsulation et héritage. Le document contient également un plan détaillé des sujets abordés.

Transféré par

Farah
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
78 vues

CH1 Introduction Java

Ce document présente une introduction à la programmation orientée objet en Java. Il décrit les concepts clés comme les classes, objets, encapsulation et héritage. Le document contient également un plan détaillé des sujets abordés.

Transféré par

Farah
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 42

1

Programmation Java

Chapitre 1 : Introduction Java

Mehdi Mokni
2020/2021
2

Moyenne du module

70% Examen Finale


20% Devoir Surveillé
10% Contrôle Continue
3 Plan
 Introduction Java
 Classe et objet
 Encapsulation
 Héritage
 Polymorphisme
 Exceptions
 Connexion Base de donnée
 Interfaces
 Lambda Expression
 Collections
 Stream
4 Objectifs

✓ Comprendre le paradigme OO et utiliser Java pour


le mettre en œuvre
✓ Notion de classe et d’objet
✓ Décrire les éléments-clé de la plate-forme Java
✓ Compiler et exécuter une application Java
✓ Décrire la syntaxe du langage
✓ Comprendre et utiliser les API de java
5

Aperçu : Orienté Objet


6 Orienté Objet

✓ La programmation orientée objet se base sur une


approche de conception et de développement de
logiciels

✓ Représenter les éléments du monde réel par des


entités informatiques appelés "objets" en adoptant un
haut niveau d'abstraction.
7 Orienté Objet
Approche procédurale :
"Que doit faire mon programme ?"

Approche orientée-objet :
"De quoi doit être composé mon programme ?"
8 Orienté Objet
Des objets similaires peuvent être informatiquement décrits par
une même abstraction : une classe

➢ même structure de données et méthodes de traitement


➢ valeurs différentes pour chaque objet
9
C++ vs Java

Pas de structures ni d’unions


Pas de typedef
Pas de variables ni de fonctions en dehors des classes
Pas d'héritage multiple de classes
Pas de surcharge d’opérateurs
Pas de passage par copie pour les objets
Pas de pointeurs, seulement des références
10

JAVA: La plateforme
11 Qu’est ce que « Java » ?

Un langage de programmation orienté objet.

Java est portable : il est indépendant de toute plate-forme

Quels types d’application pour « java » ?

Java SE Java ME Java EE Java Java Card


(Standard Edition) (Micro Edition) (Enterprise Edition) Embedded
Programme en Java interprété/
12
compilé ?

✓ Compiler le programme
- Traduire le programme dans un langage de bas niveau
(machine)
- [éventuellement optimisation]
- Produire un programme (code) exécutable

✓ Exécution
- Charger le programme en mémoire (typiquement en tapant
le nom du programme exécutable)
- Exécution
13 Programme JAVA (1)

Un programme Java est compilé et


interprété

-le code source est, directement,


Compilé interprété sans phase de
compilation, et c'est l'interprète qui
exécute ce code source, qu'il
interprète à la volée (JVM)

-le code source est soumis à un


compilateur, pour en faire un
fichier binaire compréhensible par
un microprocesseur (une sorte de Interprété
pré-fichier .exe)
14 Programme JAVA (2)
15 JAVA: la Plateforme
Plateforme = environnement hardware ou software sur lequel le
programme est exécuté.
La Java « Platform » se compose de :
✓ Java Virtual Machine (Java VM)
✓ Java Application Programming Interface (Java API)
16 Machine Virtuelle : JVM

Une machine virtuelle est un ordinateur fictif s’exécutant


sur un ordinateur réel :

 Possède un langage natif propre et traduit un programme


écrit dans ce langage vers le langage natif de
l’ordinateur.

 Définit les spécifications hardware de la plateforme

 Lit le bytecode compilé (indépendant de la plateforme)


API: Java Application
17
Programming Interface
✓ L’API Java est structuré en libraires (packages)

✓ Les packages comprennent des ensembles fonctionnels de composants


(classes)

✓ Le noyau (core) de l’API Java (inclus dans toute implémentation complète


de la plateforme Java) comprend notamment :

▪ Essentials (data types, objects, string, array, vector, I/O, date,…)


▪ Applet
▪ Abstract Windowing Toolkit (AWT)
▪ Basic Networking (URL, Socket TCP or UDP, IP)
▪ Evolved Networking (Remote Method Invocation)
▪ Internationalization
▪ Security
…..
18

JAVA: Les versions


Release End of Free Extended
Version
date Public Updates Support Until
JDK Beta 1995 ? ?
19 JDK 1.0 January 1996 ? ?
JDK 1.1 February 1997 ? ?
J2SE 1.2 December 1998 ? ?
J2SE 1.3 May 2000 ? ?
J2SE 1.4 February 2002 October 2008 February 2013
J2SE 5.0 September 2004 November 2009 April 2015
Java SE 6 December 2006 April 2013 December 2018
Janvier 2010 Rachat de Sun par Oracle
Java SE 7 July 2011 April 2015 July 2022
Java SE 8 (LTS) March 2014 May 2026 December 2030
Java SE 9 September 2017 March 2018 N/A
Java SE 10 March 2018 September 2018 N/A
Java SE 11 (LTS) September 2018 October 2024 September 2026
Java SE 12 March 2019 September 2019 N/A
Java SE 13 September 2019 March 2020 N/A
Java SE 14 March 2020 September 2020 N/A
Java SE 15 September 2020 March 2021 N/A
Java SE 16 March 2021 September 2021 N/A
Java SE 17 (LTS) September 2021 TBA TBA
Legend
Older version, still
Old version Latest version Future release
maintained
20
JAVA: Les versions
Java 6 vs Java 7
Les améliorations proposées par la version SE 7 de Java :

▪ Performance, stabilité et sécurité accrues

▪ Améliorations du plug-in Java pour le développement et le déploiement des


applications Internet riches

▪ Une meilleure optimisation du code Java

▪ Améliorations de la machine virtuelle Java destinées à prendre en charge les


langages autres que Java
21 JAVA: Les versions

Java 7 vs Java 8

Les nouvelles fonctionnalités proposées par la version SE 8 de


Java:

- Lamda Expressions
- Generic Type changes and improvements
- Stream Collection Types (java.util.stream)
- Functional Interfaces (java.util.function)
- Nashorn – The Node.js on JVM
- Date/Time changes (java.time)
- Type Annotations
22

JAVA: Notions, mots clés…


23 Notions fondamentales

- Classe / Objet / Instance

- Attributs / Méthodes

- Encapsulation

- Héritage

- Polymorphisme
24 JAVA: Classe

- les briques de constructions d’un programme JAVA sont les


classes,
LES ATTRIBUTS :
Partie statique les données (Propriétés) Les attributs représentent
la
description des données
propres à chaque classe
d'objets

le code les manipulant LES METHODES :


Partie dynamique Les méthodes représentent
(Méthodes)
l'ensemble des actions,
procédures, fonctions ou
opérations que l'on
peut associer à une classe
Classe
25 Les Identificateurs

• Nommer les classes, les variables, les méthodes, ...


• Un identificateur Java
✓ est de longueur quelconque
✓ commence par une lettre Unicode
✓ peut ensuite contenir des lettres ou des chiffres ou le caractère
✓ souligné«_ »
✓ ne doit pas être un mot réservé du langage (mot clé) (if, for,
✓ true, … )

• les caractères suivants sont autorisés pour construire un


identificateur Java : "$" , "_" , "μ" et les lettres accentuées.

[a..z, A..Z, $, _, μ ]{a..z, A..Z, $, _, μ, 0..9, Unicode}


26 Mots clés Java

Abstract boolean break byte


case catch char class
continue default do double
else extends final, finally
float for if implements
import instanceof, int interface
long native new null
package private protected public
return short static super
switch synchronized this throw
throws transient try
void volatile while
27 Règles de Nommage
Classe :
✓ 1ère lettre en majuscule
✓ Mélange de minuscule, majuscule avec la première lettre de
chaque mot en majuscule
✓ Donner des noms simples et descriptifs

Packages
✓ Tout en minuscule.
✓ Utiliser seulement [a-z], [0-9] et le point '.': Ne pas utiliser de tiret
'-', d'underscore '_', d'espace, ou d'autres caractères ($, *,
accents, ...).

Constante:
• Les constantes sont en majuscules et les mots sont séparés par
le caractère souligné« _ »: UNE_CONSTANTE
28 Types de données en Java

On distingue entre 2 grands groupes de types de données :

➢ types primitifs

➢ objets (instances de classe)


29 Types primitifs
• Valeur logique
✓ boolean (true/false)
• Nombres entiers
✓ byte (1 octet)
✓ short (2octets)
✓ int (4 octets)
✓ long (8 octets)
• Nombres non entiers (à virgule flottante)
✓ float (4 octets)
✓ double (8 octets).
• Caractère (un seul)
✓ char (2 octets)
30 Types primitifs et valeurs
31 Les enveloppeurs (Wrappers)

• Les primitives peuvent être "enveloppées" dans un objet


provenant d'une classe prévue

• Les enveloppeurs sont des objets pouvant contenir une


primitive et auxquels sont associés des méthodes permettant de
les manipuler

• Tous les enveloppeurs héritent de la classe Object et


bénéficient de plusieurs méthodes utilitaires (comparaison,
valeur maximale et minimale etc.)
32 Les enveloppeurs (Wrappers)
33 Les enveloppeurs (Wrappers)

public class MyClass {


public static void main(String[] args) {

int myint = 100;


Integer myInt = 100;
String myString = myInt.toString();

System.out.println(myString.length());
}
}
34 Structure conditionnelle/ittératif

 Schémas conditionnels : Exécuter une série d'instructions


dans le cas où une condition est vraie, et d'exécuter une
autre série d'instructions dans le cas contraire
 if (même syntaxe qu'en C/C++)
 switch-case (même syntaxe qu'en C/C++)

 Schémas itératifs : Le traitement itératif est utilisé pour


exécuter une ou plusieurs instructions plusieurs fois
 for (même syntaxe qu'en C/C++)
 while (même syntaxe qu'en C/C++)
 do-while (même syntaxe qu'en C/C++)
35

JAVA: Premiers pas …


36 Outils de développement (1)

 Pour développer un programme JAVA on utilise un IDE,

 Afin de pouvoir créer une application JAVA consistante, on a


besoin du JDK,

 Pour tester et lancer le code écrit, on doit, nécessairement,


disposer du JRE.
37 Outils de développement (2)

L’environnement qui permet d'exécuter les applications java.


JRE
(Java Runtime
Il est constitué de la JVM en particulier (Java Virtual Machine).
Environment)

Outils permettant de développer, compiler (javac), débuguer (jdb) et


JDK exécuter un programme java.
(Java Development
Kit)
Il y a aussi des outils d'archivage (jar), de génération de documentation
(javadoc).
38 Outils de développement (3)

Un programme regroupant un ensemble d'outils pour le développement


IDE de logiciels.
(Integrated
Development
Environment) En général, un IDE regroupe un éditeur de texte, un compilateur, des
outils automatiques de fabrication, et souvent un débogueur. (Exp:
Eclipse, Netbeans)
39 Hello World (Pré-configuration)

Installer le JDK sous Windows


 Télécharger et d'exécuter le programme "jdk-8u261-windows-x64.exe"
depuis le site d’Oracle
 https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

Paramétrer correctement la variable PATH


(Variables d’environnement )
 https://javatutorial.net/set-java-home-windows-10
40 Premier Programme
41 Les commandes en JAVA

✓ Compiler avec la commande : Javac HelloWorld.java

➔Un fichier « HelloWorld.class » est généré

✓ Exécuter en lançant la machine virtuelle java et en


lui spécifiant le point d'entrée Java HelloWorld

✓ Utiliser args[0] pour lire le premier argument arg1 de


type String (args[1] pour arg2 ect)
Java HelloWorld arg1 arg2
42 Exécution du 1er Programme

Vous aimerez peut-être aussi