38
Formation en Java Formation interne au Laboratoire Mohammed Amine TABERKIT Doctorant,Unité de recherche URMER, Université de Tlemcen Equipe de recherche : Matériaux Composés & Dispositifs Electroniques et Optoélectronique (M.C.D.E.O) 15 Mai 2014 Mohammed Amine TABERKIT Formation de base en Java

Formation en Java-Partie 01_ TABERKIT_Mohammed_Amine_2014

Embed Size (px)

DESCRIPTION

La première Partie d'une formation en langage de programmation Java, elle ne contient que des prises de notes, et que l'essentiel de ce qu'il faut apprendre pour les débutants. P.S : Formation préparé en LaTeX, et je suis encore débutant dans l'utilisation de "Beamer", toute remarque ou critique est la bienvenue.

Citation preview

Page 1: Formation en Java-Partie 01_ TABERKIT_Mohammed_Amine_2014

Formation en JavaFormation interne au Laboratoire

Mohammed Amine TABERKIT

Doctorant,Unité de recherche URMER, Université de TlemcenEquipe de recherche : Matériaux Composés & Dispositifs Electroniques et

Optoélectronique (M.C.D.E.O)

15 Mai 2014

Mohammed Amine TABERKIT Formation de base en Java

Page 2: Formation en Java-Partie 01_ TABERKIT_Mohammed_Amine_2014

Introduction

C’est quoi Java ?

Mohammed Amine TABERKIT Formation de base en Java

Page 3: Formation en Java-Partie 01_ TABERKIT_Mohammed_Amine_2014

Introduction

C’est un environnement de programmation orienté objetsdéveloppé par SUN et adapté à la distribution d’applicationssur internet et s’intégrant au Web.Dans un des premiers papiers sur le langage Java, SUN ledécrit comme suit :Java : A simple, object-oriented, distributed, interpreted,robust, secure, architecture neutral, portable,high-performance, multithreaded, and dynamic language.

Mohammed Amine TABERKIT Formation de base en Java

Page 4: Formation en Java-Partie 01_ TABERKIT_Mohammed_Amine_2014

Historique

Un nouveau langage a été développé en 1990 par une équipede Sun Microsystems dirigée par James Gosling, plus adapté àla réalisation des logiciels embarqués appelé OAK.En 1993, OAK change d’orientation et s’adapte à latechnologie Internet.En 1995, SUN rebaptisa OAK en Java (nom de la machine àcafé autour de laquelle se réunissait James Gosling et sescollaborateurs.En 2009, SUN est racheté par Oracle Corporation.

Mohammed Amine TABERKIT Formation de base en Java

Page 5: Formation en Java-Partie 01_ TABERKIT_Mohammed_Amine_2014

Caractéristiques du langage Java

Simple et FamilierL’apprentissage de Java est facile et sa syntaxe est proche de cellede C/C++.

Orienté ObjetJava est un langage objet de la famille des langages de classecomme C++.

Fiable et indépendant

Gestion automatique de la mémoire(garbage collector),desexceptions. Le bytecode généré par le compilateur est indépendantde toute architecture.

multi-tâchesExécution de plusieurs processus effectuant chacun une tâchedifférente.

Mohammed Amine TABERKIT Formation de base en Java

Page 6: Formation en Java-Partie 01_ TABERKIT_Mohammed_Amine_2014

Applets et applications

Deux types de développements sont possibles :Les Applets : il s’agit d’un programme s’exécutant parexemple au sein d’un navigateur web. Une applet ne peuts’exécuter indépendamment et doit être logée et activée parune autre application.Les Applications : il s’agit de programme standard etindépendant.

Mohammed Amine TABERKIT Formation de base en Java

Page 7: Formation en Java-Partie 01_ TABERKIT_Mohammed_Amine_2014

Les différentes éditions de Java

Java Standard Edition (J2SE / Java SE) : environnementd’exécution et ensemble complet d’API pour des applicationsde type desktop.Java Enterprise Edition (J2EE / Java EE) :environnement d’exécution reposant intégralement sur Java SEpour le développement d’applications d’entreprises.Java Micro Edition (J2ME / Java ME) :environnementd’exécution et API pour le développement d’applications surappareils mobiles et embarqué : Carte à puce, TéléphoneMobile, ... etc

Mohammed Amine TABERKIT Formation de base en Java

Page 8: Formation en Java-Partie 01_ TABERKIT_Mohammed_Amine_2014

Termes

JDK (Java Development Kit) : Environnement dedéveloppement fourni par Sun, il contient :

1 Des outils de développement : Compilateur, debugger,interpréteur.

2 Des librairies de classes standards.3 documentation.

API (Application and Programming Interface) :Ensemblede bibliothèques permettant une programmation plus aisée, quisont regroupées, par catégories, en paquetages ( "packages").IDE (Integrated Development Environment) : Ensembled’outils destinés à programmer dans un langage donné, quisont distribués ensemble. Il permet de manipuler les outils deprogrammation depuis une interface graphique simplifiée.(NetBeans,Eclipse,Visual Studio, .. etc).

Mohammed Amine TABERKIT Formation de base en Java

Page 9: Formation en Java-Partie 01_ TABERKIT_Mohammed_Amine_2014

Les Principaux packages

java.util : structures de données.java.io : entrées / sorties.java.lang : chaînes de caractères, interaction avec l’OS,threads.java.applet : les applets sur le web.java.awt : interfaces graphiques, images et dessins.javax.swing : Interfaces graphiques.java.net :sockets, URL.java.sql : fournit le package JDBC (Java Data BaseConnectivity).

Mohammed Amine TABERKIT Formation de base en Java

Page 10: Formation en Java-Partie 01_ TABERKIT_Mohammed_Amine_2014

Lancer un programme

Stocker ce programme dans le fichier Hello.javaCompilation : javac Hello.java : Ceci génère Hello.classLancer l’exécution : java HelloRésultat de l’exécution : Hello World !

Mohammed Amine TABERKIT Formation de base en Java

Page 11: Formation en Java-Partie 01_ TABERKIT_Mohammed_Amine_2014

Syntaxe du langage Java

Mohammed Amine TABERKIT Formation de base en Java

Page 12: Formation en Java-Partie 01_ TABERKIT_Mohammed_Amine_2014

Les Commentaires

/* commentaire sur une ou plusieurs lignes */Expliquer le fonctionnement ou les choix du programmeur.. etc// commentaire de fin de ligneDécrire le rôle d’une instruction/** commentaire d’explication */Les commentaires d’explication se placent généralement justeavant une déclaration (d’attribut ou de méthode) Ils sontrécupérés par l’utilitaire javadoc et inclus dans ladocumentation ainsi générée.

Mohammed Amine TABERKIT Formation de base en Java

Page 13: Formation en Java-Partie 01_ TABERKIT_Mohammed_Amine_2014

Instructions, Blocs

Les instructions Java se terminent par un : ;Les blocs sont délimités par :{ pour le début de bloc} pour la fin du blocUn bloc permet de définir un regroupement d’instructions. Ladéfinition d’une classe ou d’une méthode se fait dans un bloc.Les espaces, tabulations, sauts de ligne sont autorisés. Celapermet de présenter un code plus lisible.

Mohammed Amine TABERKIT Formation de base en Java

Page 14: Formation en Java-Partie 01_ TABERKIT_Mohammed_Amine_2014

Point d’entrée d’un programme Java

Pour pouvoir faire un programme exécutable il fauttoujours une classe qui contienne une méthodeparticulière, la méthode “main ”c’est le point d’entrée dans le programme : le microprocesseursait qu’il va commencer à exécuter les instructions à partir decet endroit.

Mohammed Amine TABERKIT Formation de base en Java

Page 15: Formation en Java-Partie 01_ TABERKIT_Mohammed_Amine_2014

Exemple

Mohammed Amine TABERKIT Formation de base en Java

Page 16: Formation en Java-Partie 01_ TABERKIT_Mohammed_Amine_2014

Les Identificateurs

On a besoin de nommer les classes, les variables, lesconstantes, etc. ; on parle d’identificateur.Java distingue les majuscules des minuscules.Conventions sur les identificateurs :

1 Les noms de classes commencent par une majuscule :Formation.

2 Les mots contenus dans un identificateur commencent par unemajuscule : UneClasse.

3 Les Constantes sont en majuscule et les mots sont séparés parle caractère souligné “_ ”.

Mohammed Amine TABERKIT Formation de base en Java

Page 17: Formation en Java-Partie 01_ TABERKIT_Mohammed_Amine_2014

Les mots réservés de Java

Mohammed Amine TABERKIT Formation de base en Java

Page 18: Formation en Java-Partie 01_ TABERKIT_Mohammed_Amine_2014

Les types de bases

En Java, tout est objet sauf les types de base.Il y a huit types de base :

1 un type booléen pour représenter les variables ne pouvantprendre que 2 valeurs (vrai et faux, 0 ou 1, etc.) : booleanavec les valeurs associées true et false.

2 un type pour représenter les caractères : char.3 quatre types pour représenter les entiers de divers taille : byte,

short, int et long4 deux types pour représenter les réelles : float et double

Mohammed Amine TABERKIT Formation de base en Java

Page 19: Formation en Java-Partie 01_ TABERKIT_Mohammed_Amine_2014

Les types de bases

Mohammed Amine TABERKIT Formation de base en Java

Page 20: Formation en Java-Partie 01_ TABERKIT_Mohammed_Amine_2014

Les opérateurs

Example (Opérateurs)

Les plus utilisés :Arithmétiques

+ - * /% (modulo)++ -- (pré ou post décrementation)

Logiques&& (et) || (ou) ! (négation)

Relationnels== != < > <= >=

Affectations= += -= *= ...

Mohammed Amine TABERKIT Formation de base en Java

Page 21: Formation en Java-Partie 01_ TABERKIT_Mohammed_Amine_2014

Les structures de contrôles

Les structures de contrôle classiques existent en Java :if, elseswitch, case, default, breakforwhiledo, while

Mohammed Amine TABERKIT Formation de base en Java

Page 22: Formation en Java-Partie 01_ TABERKIT_Mohammed_Amine_2014

Les tableaux

Les tableaux permettent de stocker plusieurs valeurs demême type dans une variable.- Les valeurs contenues dans la variable sont repérées par unindice.- En langage java, les tableaux sont des objets.Déclaration- int tab [] ;- String chaines [] ;Création d’un tableau- tab = new int [20] ; // tableau de 20 int- chaines = new String [100] ; // tableau de 100 chaine

Mohammed Amine TABERKIT Formation de base en Java

Page 23: Formation en Java-Partie 01_ TABERKIT_Mohammed_Amine_2014

Exemple sur les Tableaux

Mohammed Amine TABERKIT Formation de base en Java

Page 24: Formation en Java-Partie 01_ TABERKIT_Mohammed_Amine_2014

La classe String

Attention ce n’est pas un type de base. Il s’agit d’uneclasse défini dans l’API Java (Dans le package java.lang)String s=“aaa ” ; // s contient la chaîne “aaa ”La concaténationl’opérateur “+ ”entre 2 String les concatène :Exemple :String str1 = “Bonjour ! ” ;String str2 = “Comment vas-tu ? ” ;String str3 = st1+str2 ; //str3 contient : Bonjour ! Commentvas-tu ?

Mohammed Amine TABERKIT Formation de base en Java

Page 25: Formation en Java-Partie 01_ TABERKIT_Mohammed_Amine_2014

La classe String

Longueur d’un objet String :- Méthode int length() : renvoie la longueur de la chaîneString str1 = “Bonjour ! ” ;int n = str1.length() ; // n vaut 7Sous-chaînes :- Méthode String substring(int debut,int fin) :Extraction de la sous-chaine depuis la position debut jusqu’àla position fin.String str2 = str1.substring(0,3) ; // str2 contient la valeur“bon ”

Mohammed Amine TABERKIT Formation de base en Java

Page 26: Formation en Java-Partie 01_ TABERKIT_Mohammed_Amine_2014

La classe String

Récupération d’un caractère dans une chaîne :- Méthode char charAt(int pos) : renvoie le caractère situéà la position pos dans la chaîne de caractère.String str1 = “Bonjour ! ” ;char unJ = str1.charAt(3) ; // unJ contient le caractère ‘j ’Modification des objets String :String str1 = str1.substring(0,3)+ “soir ” ;str1 contient la chaine : bonsoir.

Mohammed Amine TABERKIT Formation de base en Java

Page 27: Formation en Java-Partie 01_ TABERKIT_Mohammed_Amine_2014

La classe Math

Les fonctions mathématiques les plus connues sontregroupées dans la classe Math qui appartient aupackage java.lang- les fonctions trigonométriques.- les fonctions d’arrondi, de valeur absolue, ...- la racine carrée, la puissance, l’exponentiel, le logarithme, etc.Exemple :double sqrt(double x) : racine carrée de xdouble pow(double x, double y) : x puissance y

Mohammed Amine TABERKIT Formation de base en Java

Page 28: Formation en Java-Partie 01_ TABERKIT_Mohammed_Amine_2014

Notion de Classe

Une classe est constitué de description de :- données : que l’on nomme attributs.- procédures : que l’on nomme méthodes.Une classe est un modèle de définition pour des objets- Ayant la même structure ( même ensemble d’attributs).- Ayant le même comportement (même opérations, méthodes).- Ayant une sémantique commune.Une classe permet d’instancier (créer) plusieurs objetsChaque objet est instance d’une (seule) classe.

Mohammed Amine TABERKIT Formation de base en Java

Page 29: Formation en Java-Partie 01_ TABERKIT_Mohammed_Amine_2014

Exemple sur les classes

Le Fichier est : point.javaLe nom doit être identique au nom de classe.

Mohammed Amine TABERKIT Formation de base en Java

Page 30: Formation en Java-Partie 01_ TABERKIT_Mohammed_Amine_2014

Notion d’objets

Un objet est instance d’une (seule) classe :- il se conforme à la description que celle-ci fournit.- il admet une valeur (qui lui est propre) pour chaque attributdéclaré dans la classe.- ces valeurs caractérisent l’état de l’objet.- il est possible de lui appliquer toute opération (méthodedéfinie dans la classe).Tout objet admet une identité qui le distingue pleinement desautres objets :- il peut être nommé et être référencé par un nom.

Mohammed Amine TABERKIT Formation de base en Java

Page 31: Formation en Java-Partie 01_ TABERKIT_Mohammed_Amine_2014

Création et accès aux attributs d’un objet

- L’instanciation provoque une allocation dynamique de la mémoire.- Si un objet n’est plus référencé la mémoire qui lui était allouée estautomatiquement libérée ( le garbage collector).

Example (Objets)point p1;p1= new point();point p2=new point();point p3=p2;p1.x=10;p2.y=14;p3.y=p1.x+p2.x;

Mohammed Amine TABERKIT Formation de base en Java

Page 32: Formation en Java-Partie 01_ TABERKIT_Mohammed_Amine_2014

Les Méthodes

Méthode ⇐⇒ fonctions/procédures :- Pour factoriser du code.- Pour Structurer le code.- pour servir de “sous programmes utilitaires ”aux autresméthodes de la classe.contient une séquence d’instructions, délimitée par { } .exemple :- Math.random() ;- LectureClavier.lireEntier() ;

Mohammed Amine TABERKIT Formation de base en Java

Page 33: Formation en Java-Partie 01_ TABERKIT_Mohammed_Amine_2014

Les Méthodes

En java une méthode peut retourner une valeur et avoir uneliste de paramètres :type_de_retour nom_de_méthode ( liste_des_paramètres ){corps de la méthode}Exemple :int addition(int a, int b){return a + b ;}

Mohammed Amine TABERKIT Formation de base en Java

Page 34: Formation en Java-Partie 01_ TABERKIT_Mohammed_Amine_2014

Classes et Héritage

Une classe peut hériter d’une autre classe.class nom_de_la_class extends nom_de_la_classe_mère{corps de la classe}La Classe enfant (sous-classe) possède systématiquement lesattributs et les méthodes de la classe parent (super-classe)L’héritage multiple n’existe pas en java.

Mohammed Amine TABERKIT Formation de base en Java

Page 35: Formation en Java-Partie 01_ TABERKIT_Mohammed_Amine_2014

Classes et Héritage

Example (Héritage)

class Personne {String nom;int anneeNaissance;public int age() { return 2014 - anneeNaissance; }}class Etudiant extends Personne {String [] cours;String niveau;String ecole;...}Ce qui est disponible dans Etudiant:nom, anneeNaissance, age(),cours, niveau, ecole, ...

Mohammed Amine TABERKIT Formation de base en Java

Page 36: Formation en Java-Partie 01_ TABERKIT_Mohammed_Amine_2014

Les Constructeurs

Constructeurs d’une classe :- Méthodes particulières pour la création d’objets de cetteclasse.- Méthodes dont le nom est identique au nom de la classe.rôle d’un constructeur :- Effectuer certaines initialisations nécessaires pour le nouvelobjet crée.Si aucun constructeur n’est défini par le programmeur, javaconsidère que la classe est munie d’un constructeur par défaut.

Mohammed Amine TABERKIT Formation de base en Java

Page 37: Formation en Java-Partie 01_ TABERKIT_Mohammed_Amine_2014

Les Constructeurs

Example (Constructeurs)

public class Ville {

//Stocke le nom de notre villeString nomVille;//Stocke le nom du pays de notre villeString nomPays;//Stocke le nombre d’habitants de notre villeint nbreHabitants;

public Ville(String pNom, int pNbre, String pPays){

System.out.println("Création d’une ville");nomVille = pNom;nomPays = pPays;nbreHabitants = pNbre;

}}

Mohammed Amine TABERKIT Formation de base en Java

Page 38: Formation en Java-Partie 01_ TABERKIT_Mohammed_Amine_2014

Merci pour votre collaboration

Mohammed Amine TABERKIT Formation de base en Java