0% ont trouvé ce document utile (0 vote)
45 vues56 pages

learn.java.oop.chapter1

Transféré par

achrafmessioui9471
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)
45 vues56 pages

learn.java.oop.chapter1

Transféré par

achrafmessioui9471
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/ 56

Java : introduction

Mohammed OUANAN

[email protected]

Mohammed OUANAN
Plan

1 Introduction

2 Architecture

3 Installation
JDK
IDE : Eclipse

4 Avant de commencer

5 Premier projet Java

6 Commentaires

7 Documentation

Mohammed OUANAN
Introduction

Java
Java

langage de programmation

orienté objet
fortement typé

présenté officiellement en 1995 par Sun Microsystems (racheté par Oracle


Corporation le 20 avril 2009)

syntaxe très proche du C (procédural) et C++ (procédural, orienté objet)

Mohammed OUANAN 3 / 38
Introduction

Java
Java

langage de programmation

orienté objet
fortement typé

présenté officiellement en 1995 par Sun Microsystems (racheté par Oracle


Corporation le 20 avril 2009)

syntaxe très proche du C (procédural) et C++ (procédural, orienté objet)

Attention

Java ̸= JavaScript

Mohammed OUANAN 3 / 38
Introduction

Java, pourquoi ?

Langage de haut niveau (pas de gestion de mémoire, pas d’allocation


dynamique, pas de pointeur... comme en C et C++)

Disposant d’une bonne documentation, des supports vidéos, plusieurs exemples


sur internet

E´norme communauté : un des langages les plus utilisés dans le monde


(https://www.tiobe.com/tiobe-index/)

Permettant de développer des programmes :


robustes

sécurisés et fiables
bien structurés et maintenables
portables : Windows, Mac OS, Linux (Write once, run everywhere ou
E´crire une fois, exécuter partout)
...

Mohammed OUANAN 4 / 38
Introduction

Java
Trois plateformes d’exécution

Java Standard Edition (J2SE ou Java SE ou JSE)


applications consoles
applications du bureau ou Desktop

Java Enterprise Edition (J2EE ou Java EE ou JEE)


applications web
services web

Java Micro Edition (J2ME ou Java ME ou JME)


applications mobiles
applications embarquées
jeux

Mohammed OUANAN
Introduction

Différentes versions de Java

Java 1 (1995) Java 11 (Septembre 2018) : simplifier l’exécution d’un


programme en ligne de commande
Java 1.2 (1998, nommée Playground) : Swing,
collection... Java 12 (Mars 2019) : simplification de switch et
String multi-lignes
Java 1.3 (2000, nommée Kestrel) : JNDI...
Java 13 (Septembre 2019) : -> dans switch
Java 1.4 (2002, nommée Merlin) : JAXP...
Java 14 (Mars 2020) : Text Blocks
Java 5.0 ou 1.5 (2004, nommée Tiger) : généricité,
annotation, énumération, plus besoin de convertir les Java 15 (Septembre 2020) : Record,
types wrappers en primitifs (et inversement) Stream.toList, classes cachées...
Java 6.0 ou 1.6 (2006, nommée Mustang) : JAX-WS Java 16 (Mars 2021) : Intégration du langage C++
Java 7 ou 1.7 (2011, nommée Dolphin) : String
Java 17 (Septembre 2021) : Classes scellées
dans switch

Java 8 ou 1.8 (Mars 2014, nommée Spider) : interface Java 18 (Mars 2022) : UTF-8 par défaut
fonctionnelle, méthode par défaut, expression Lambda
Java 19 (Septembre 2022) : Threads virtuels

Java 9 (Septembre 2017, nommée Umbrella) : JSON Java 20 (Mars 2023) : Imbrication des Record
et HTTP/2
Java 21 (Septembre 2023) : Simplification du main
Java 10 (Mars 2018) : mot-clévar

rouge : version non supportée, bleu : LTS (Long time support) version.

Mohammed OUANAN
Introduction

Java

Remarque

Depuis Java 17, une version LTS sera proposée tous les deux ans.

Mohammed OUANAN
Architecture

Java
Comment ça fonctionne ?

On écrit un programme dans un fichier .java


Ensuite, le compilateur génère un fichier .class du même nom
(contenant du bytecode)
Puis, la machine virtuelle exécute le bytecode.

compiler JVM
MyClass.java MyClass.class MyClass

Mohammed OUANAN
Architecture

Java
De quoi on a besoin (le minimum)?

Un éditeur de texte (Bloc-notes, Notepad++, Sublime Text...)

Un kit de développement (JDK : Java Development Kit) contenant :


Java Runtime Environment (JRE, incluant la machine virtuelle de Java (JVM))
JSE, JEE, JME
Des commandes permettant la création, la compilation et l’exécution d’un
programme Java
javac : pour compiler
java : pour exécuter
javadoc : pour générer une documentation
jar : pour archiver

Mohammed OUANAN
Architecture

Java

JDK OpenJDK

Développé par Oracle. Développé par Oracle.

Partiellement open-source. Entièrement open-source.

Nouvelle version disponible six mois plus


Nouvelle version disponible
tard.
immédiatement.

Mohammed OUANAN
Architecture

Java
JCP : Java Community Process

Organisation communautaire ouverte ayant comme rôle : définir et/ou améliorer les
spécifications des technologies Java.

Mohammed OUANAN 11 / 38
Architecture

Java
JCP : Java Community Process

Organisation communautaire ouverte ayant comme rôle : définir et/ou améliorer les
spécifications des technologies Java.

JSR : Java Specification Request

Document utilisé par JCP pour décrire une proposition d’amélioration du langage
Java et ses environnements.

Mohammed OUANAN 11 / 38
Architecture

Java
JCP : Java Community Process

Organisation communautaire ouverte ayant comme rôle : définir et/ou améliorer les
spécifications des technologies Java.

JSR : Java Specification Request

Document utilisé par JCP pour décrire une proposition d’amélioration du langage
Java et ses environnements.

JEP : JDK Enhancement Process

Document utilisé pour décrire les nouveaux changement à OpenJDK.

Mohammed OUANAN 11 / 38
Installation JDK

Java

JDK 11 : téléchargement

https://www.oracle.com/java/technologies/javase/jdk11-archive-downloads.html

JDK 17 : téléchargement

https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html

JDK 21 : téléchargement

https://www.oracle.com/java/technologies/javase/jdk21-archive-downloads.html

Mohammed OUANAN
Installation JDK

Java

Remarque

Pour lancer un programme en ligne de commande, il faut :


aller dans Panneau de configuration, chercher Système et
cliquer sur Paramètres systèmes avancés
choisir Variables d’environnement puis dans la zone
Variables utilisateur sélectionner Path et cliquer sur
Modifier
cliquer sur Nouveau puis saisir le chemin vers la JDK dans la
zone de saisie qui a apparu
valider

Mohammed OUANAN
Installation JDK

Java
Créons une classe MyClass dans un fichier MyClass.java
public class MyClass {

public static void main(String[] args) {


System.out.print("Hello world from console");
}
}

compiler JVM
MyClass.java MyClass.class MyClass

Mohammed OUANAN 14 / 38
Installation JDK

Java
Créons une classe MyClass dans un fichier MyClass.java
public class MyClass {

public static void main(String[] args) {


System.out.print("Hello world from console");
}
}

compiler JVM
MyClass.java MyClass.class MyClass

javac MyClass.java

Mohammed OUANAN 14 / 38
Installation JDK

Java
Créons une classe MyClass dans un fichier MyClass.java
public class MyClass {

public static void main(String[] args) {


System.out.print("Hello world from console");
}
}

compiler JVM
MyClass.java MyClass.class MyClass

javac MyClass.java java MyClass.class

Mohammed OUANAN 14 / 38
Installation JDK

Java
Créons une classe MyClass dans un fichier MyClass.java
public class MyClass {

public static void main(String[] args) {


System.out.print("Hello world from console");
}
}

compiler JVM
MyClass.java MyClass.class MyClass

javac MyClass.java java MyClass.class

java MyClass.java [depuis Java 11]

Mohammed OUANAN 14 / 38
Installation JDK

Java

Pour compiler
javac MyClass.java

Mohammed OUANAN 15 / 38
Installation JDK

Java

Pour compiler
javac MyClass.java

S’il existe plusieurs versions de JDK sur la machine


javac -target 8 -version 8 MyClass.java

Mohammed OUANAN 15 / 38
Installation JDK

Java

Pour compiler
javac MyClass.java

S’il existe plusieurs versions de JDK sur la machine


javac -target 8 -version 8 MyClass.java

Pour exécuter (affiche Hello world from console)


java MyClass

Mohammed OUANAN 15 / 38
Installation IDE : Eclipse

Java

On peut aussi utiliser un IDE (Environnement de développement i n t é g ré)

pour éviter d’utiliser la console et les commandes

car un IDE intègre un compilateur lancé même pendant l’écriture du


code

pour profiter de la coloration syntaxique, l’auto-complétion, l’indentation


automatique...

pour avoir une bonne structuration du projet

Mohammed OUANAN
Installation IDE : Eclipse

Java

Exemple d’IDE pour Java

Eclipse
Netbeans
JDeveloper
IntelliJ IDEA
JBuilder
JCreator...

...

Mohammed OUANAN
Installation IDE : Eclipse

Java

Eclipse, pourquoi ?

open-source
écrit en Java
multi-langage : Java, C++, PHP, Cobol, C#, JavaScript...
multi-OS : Windows, Linux, Mac...

Mohammed OUANAN
Installation IDE : Eclipse

Java

Eclipse : teléchargement

https://www.eclipse.org/downloads/download.php?file=
/oomph/epp/2023-09/R/eclipse-inst-jre-win64.exe

Mohammed OUANAN
Installation IDE : Eclipse

Java

Editeur Java en ligne

https://www.jdoodle.com/online-java-compiler/

Mohammed OUANAN
Installation IDE : Eclipse

Java

Mohammed OUANAN 21 / 38
Installation IDE : Eclipse

Java

Mohammed OUANAN 21 / 38
Installation IDE : Eclipse

Java
Quelques raccourcis Eclipse

Ctrl + Shift + : : commenter/décommenter le code

Ctrl + Shift + f : formater le code

Ctrl + Alt + ↓ ou Ctrl + Alt + 𝛙 : dupliquer la ligne sélectionnée

Ctrl + Shift + o : gérer les importer

Ctrl + Alt + l : afficher la liste des raccourcis

Alt + Shift + R : faire une séection multiple

Shift + K : aller àl’occurrence suivante

Ctrl + Shift + K : aller à l’occurrence précédente

Mohammed OUANAN
Avant de commencer

Java
Réglesde nommage en Java

Pour les classes et les fichiers : Pascal case


Pour les variables, les objets et les méthodes : Camel case
Pour les constantes : Screaming snake case
Pour les noms de projets : Kebab case

Mohammed OUANAN 23 / 38
Régles de nommage en Java

Mohammed OUANAN
Avant de commencer

Java
Régles de nommage en Java

Pour les classes et les fichiers : Pascal case


Pour les variables, les objets et les méthodes : Camel case
Pour les constantes : Screaming snake case
Pour les noms de projets : Kebab case

Pour plus de detailś

https://en.wikipedia.org/wiki/Naming_convention_(programming)

Mohammed OUANAN 23 / 38
Avant de commencer

Java

Instructions

Chaque instruction se termine par ;


Il est possible d’écrire plusieurs instructions sur une même ligne
(mais ce n’est pas une bonne pratique)

Mohammed OUANAN
Avant de commencer

Java

Comment organiser un projet Java ?

Une classe par fichier


Organiser les classes par package selon la sémantique
Une classe ne peut être définie dans plusieurs fichiers (pas de
classe partielle en Java)
Il est possible de créer deux classes avec le même nom dans
deux packages différents

Mohammed OUANAN
Premier projet Java

Java
Comment créer un projet sous Eclipse
?

Aller dans File > New > Java Project

Remplir le champ Project name: avec cours-introduction puis cliquer sur Next

Décocher la case Create module-info.java file puis cliquer sur Finish

Mohammed OUANAN 26 / 38
Premier projet Java

Java
Comment créer un projet sous Eclipse
?

Aller dans File > New > Java Project

Remplir le champ Project name: avec cours-introduction puis cliquer sur Next

Décocher la case Create module-info.java file puis cliquer sur Finish

Que contient ce projet ?

JRE System Library : l’ensemble de .jar indispensable pour le lancement du projet

src : le répertoire qui contiendra les fichiers sources (les classes)

Mohammed OUANAN 26 / 38
Premier projet Java

Java
Comment créer une classe ?

Aller dans File > New > Class

Dans Package, saisir org.eclipse.classes

Dans Class, saisir FirstClass

Cocher la case public static void main (String[] args)

Cliquer sur Finish

Mohammed OUANAN 27 / 38
Premier projet Java

Java
Comment créer une classe
?

Aller dans File > New > Class

Dans Package, saisir org.eclipse.classes

Dans Class, saisir FirstClass

Cocher la case public static void main (String[] args)

Cliquer sur Finish

Remarque

Si on a un package, on peut le sélectionner au moment de la création de la classe

Mohammed OUANAN 27 / 38
Premier projet Java

Java

Comment créer un package ?

Aller dans File > New > Package


Saisir le nom du package et valider

Mohammed OUANAN
Premier projet Java

Java

Contenu de la classe FirstClass


package org.eclipse.classes;

public class FirstClass {

public static void main(String[] args) {


// TODO Auto-generated method stub

Mohammed OUANAN
Premier projet Java

Java

Explication

En Java, et contrairement à plusieurs langages OO comme C++, Python,


PHP..., on ne peut écrire une instruction en dehors d’une (méthode de) classe.

En Java, un fichier contient une seule classe et une classe ne peut être déclarée
dans plusieurs fichiers (contrairement a` C#)

La première ligne package org.eclipse.classes nous informe que la


classe actuelle se situe dans src/org/eclipse/classes dans un répertoire
cours-introduction situé dans le workspace d’Eclipse

Dans un projet Java, il faut qu’au moins une classe contienne la méthode
public static void main(String[] args) : point d’entrée du projet

Mohammed OUANAN
Premier projet Java

Pour afficher Hello World, on modifie la classe FirstClass

package org.eclipse.classes;

public class FirstClass {

public static void main(String[] args) {

System.out.println("Hello World!");

}
}

Java est un langage 100% (ou presque) orienté objet

Pour afficher un message, il faut utiliser la classe System

La classe System a deux objets pour l’entrée/sortie (in/out)

L’objet out a plusieurs méthodes d’affichage comme print() et println()

Mohammed OUANAN
Premier projet Java

Java

Comment executér le programme ? (voir le resultat)´

Soit en faisant clic droit sur cours-introduction dans Package


Explorer et aller dans Run As > Java Application

Soit en faisant clic droit sur la classe contenant puclic static void
main() (ici FirstClass) dans le panneau central et aller dans Run
As > Java Application

Soit en cliquant sur le triangle vert dans la liste de raccourci

Mohammed OUANAN
Premier projet Java

Java
Ou voir le résultat?

Dans la console Eclipse


Si la console n’est pas visible, aller dans Window > Show View
> Other..., saisir console et la sélectionner puis valider.

Mohammed OUANAN 33 / 38
Premier projet Java

Java
Ou` voir le résultat ?

Dans la console Eclipse


Si la console n’est pas visible, aller dans Window > Show View
> Other..., saisir console et la sélectionner puis valider.

Ou sont les .class générés?

Dans le work-space, aller voir dans le répertoire portant le nom


du projet (ici cours-introduction)
Dans org/eclipse/classes, un fichier FirstClass.class
a été gé né ré .

Mohammed OUANAN 33 / 38
Commentaires

Java

Commentaires

Instructions ignorées par le compilateur

Mohammed OUANAN 34 / 38
Commentaires

Java

Commentaires

Instructions ignorées par le compilateur

Trois types de commentaire en Java

Mohammed OUANAN 34 / 38
Commentaires

Java

Commentaire sur une seule ligne


// commentaire

Mohammed OUANAN 35 / 38
Commentaires

Java

Commentaire sur une seule ligne


// commentaire

Raccourci Eclipse

Pour commenter ou décommenter : Ctrl + Shift + : ou


Ctrl + Shift + c

Mohammed OUANAN 35 / 38
Commentaires

Java

Commentaire sur une plusieurs lignes (Raccourci VS : )


/* le commentaire
la suite
et encore la suite
*/

Mohammed OUANAN 36 / 38
Commentaires

Java

Commentaire sur une plusieurs lignes (Raccourci VS : )


/* le commentaire
la suite
et encore la suite
*/

Raccourci Eclipse

Pour commenter ou dé-commenter : Ctrl + \

Mohammed OUANAN 36 / 38
Commentaires

Java

Commentaire pour la documentation


/**
* @author Mohammed OUANAN
*/

Mohammed OUANAN 37 / 38
Commentaires

Java

Commentaire pour la documentation


/**
* @author Achref El Mouelhi
*/

Raccourci Eclipse

Alt + Shift + j

Mohammed OUANAN 37 / 38
Documentation

Java

Documentation

https://docs.oracle.com/javase/tutorial/java/
nutsandbolts/index.html

Mohammed OUANAN 38 / 38

Vous aimerez peut-être aussi