Vous êtes sur la page 1sur 31

JAVA

Parcours Licence-Master
2021-2022
Prof: MEZUI GUY

Pr. Mezui Guy 16/10/2023


Introduction: JAVA
Partie 1: Les généralités
PLAN A- Installation des outils de développement
B- Les variables et les opérateurs
C- Lire les entrées du clavier
D- Les conditions
E- Les boucles
F- Les tableaux
G- Les méthodes de classe
Pr. Mezui Guy 16/10/2023
Partie 2: Java orienté objet

PLAN H- Etude de la classe


I- L’ héritage
J- Les packages
K- Les classes abstraites
L- Les interfaces
M- Les exceptions
N- Les collections d’objets
Conclusion
Pr. Mezui Guy 16/10/2023
INTRODUCTION: JAVA
 Java est un langage de programmation moderne développé par Sun Microsystems (aujourd'hui
racheté par Oracle).

 Il ne faut surtout pas le confondre avec JavaScript (langage de scripts utilisé principalement sur les
sites web).

 Une des plus grandes forces est son excellente portabilité : une fois votre programme créé, il
fonctionnera automatiquement sous Windows, Mac, Linux, etc.

 On peut faire de nombreuses sortes de programmes avec Java : des applications, sous forme de
fenêtre ou de console ; des applications pour appareils mobiles, etc…..

Pr. Mezui Guy 16/10/2023


PARTIE 1: LES GÉNÉRALITÉS

Pr. Mezui Guy 16/10/2023


A- Installation des outils de développement
 Nous allons utiliser un outil de développement, ou IDE(Integrated Development Environment),
pour nous aider à écrire nos futurs codes source…

 Nous allons donc avoir besoin de différentes choses afin de pouvoir créer des programmes Java:
JRE ou JDK

 Commencez par télécharger l'environnement Java sur le site


d'Oracle(https://www.oracle.com/java/technologies/downloads/). Choisissez en fonction de votre
système d’exploitation et la dernière version java stable .

 Ensuite télécharger « Eclipse IDE » qui est un environnement de développement libre permettant de
créer des programmes dans de nombreux langages de programmation (Java, C++, PHP…). C'est
l'outil que nous allons utiliser pour programmer.
(https://www.eclipse.org/downloads/)
16/10/2023
Pr. Mezui Guy
B- Les variables et les opérateurs
 Définition
Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront
être modifiées lors de l'exécution du programme.
 Les différents types de variables
–Nous allons commencer par découvrir comment créer des variables dans la mémoire.
- Une déclaration de variable se fait comme ceci : <Type de la variable> <Nom de la variable> ;
- En Java, nous avons deux types de variables :
1. des variables de type simple ou « primitif » ;
2. des variables de type complexe ou des « objets ».

NB: Ce qu'on appelle des types simples ou types primitifs, en Java, ce sont tout bonnement des nombres entiers,
des nombres réels, des booléens ou encore des caractères.

16/10/2023
Pr. Mezui Guy
B- Les variables et les opérateurs
 Les variables de type numérique
1. Le type byte (1 octet) peut contenir les entiers entre -128 et +127.
Ex: byte temp;
temp = 64;

2. Le type short (2 octets) contient les entiers compris entre -32768 et +32767.

Ex: short vitesse;


vitesse = 36OO;

3. Le type int (4 octets) va de -2*10^9 à 2*10^9 (2 et 9 zéros derrière…ce qui fait déjà un joli nombre).

Ex: int temperature;


temperature = 15600000;
16/10/2023
Pr. Mezui Guy
B- Les variables et les opérateurs
4. Le type long (8 octets) peut aller de -9*10^18 à 9*10^18 (encore plus gros…)

Ex: long lumiere;


lumiere = 9460700000000000L;
Remarque: Afin d'informer la JVM que le type utilisé est long, on doit ajouter un "L" à la fin du nombre, sinon le compilateur essaiera d'allouer ce dernier dans
une taille d'espace mémoire de type entier.

5. Le type float (4 octets) est utilisé pour les nombres avec une virgule flottante.
Ex: float pi;
pi = 3.141592653f;
Remarque: Il ne faut pas mettre une virgule, mais un point ! De plus le tout suivi de « f ».

6. Le type double (8 octets) est identique à float, sauf qu'il contient plus de chiffres derrière la virgule.
Ex: double tiers;
tiers = 0.55555555555555555555555555555555555554d;
16/10/2023
Pr. Mezui Guy
B- Les variables et les opérateurs
 Les variables stockant un caractère
Le type char contient un caractère stocké entre apostrophes (« ' ' »):
Ex: char caractere;
caractere = ‘M’;

 Les variables stockant les chaines de caractères


Le type String permet de gérer les chaînes de caractères, c'est-à-dire le stockage de texte.
Ex1: String ecole;
ecole = "Inia";
Ex2: String phrase;
phrase = "Amine comment ça va?";

16/10/2023
Pr. Mezui Guy
B- Les variables et les opérateurs
 Les variables de type booléen
Le type boolean, lui, ne peut contenir que deux valeurs : true (vrai) ou false (faux), sans guillemets.
Ex: boolean question;
question = true;

 Remarques générales:

- Tous vos noms de classes doivent commencer par une majuscule ;


- Tous vos noms de variables doivent commencer par une minuscule ;
- Pas d’accentuation sur les variables (é , è).

16/10/2023
Pr. Mezui Guy
B- Les variables et les opérateurs
Les opérateurs arithmétiques
Les opérateurs arithmétiques sont ceux que l'on apprend à l'école primaire…ou presque :

« + » : permet d'additionner deux variables numériques (mais aussi de concaténer des chaînes de caractères).

« - » : permet de soustraire deux variables numériques.

« * » : permet de multiplier deux variables numériques.

« / » : permet de diviser deux variables numériques (mais je crois que vous aviez deviné).

« % » : permet de renvoyer le reste de la division entière de deux variables de type numérique ; cet opérateur s'appelle le modulo.

16/10/2023
Pr. Mezui Guy
B- Les variables et les opérateurs
Exemples:
.
int nbre1, nbre2, nbre3; //Déclaration des variables
nbre1 = 1 + 3; //nbre1 vaut 4
nbre2 = 2 * 6; //nbre2 vaut 12
nbre3 = nbre2 / nbre1; //nbre3 vaut 3
nbre1 = 5 % 2; //nbre1 vaut 1, car le reste de la division est 1
nbre2 = 99 % 8; //nbre2 vaut 3, car le reste de la division est 3
nbre3 = 6 % 3; //là, nbre3 vaut 0, car le reste de la division est 0

16/10/2023
Pr. Mezui Guy
B- Les variables et les opérateurs
Les opérateurs spéciaux
1. L’incrémentation

C’est le fait d’ajouter à chaque fois une valeur à la variable elle-même.


int nbre1;
nbre1=0;
nbre1 = nbre1 + 1;
nbre1 += 1;
nbre1++;
++nbre1;

Remarques:
Les trois premières syntaxes correspondent exactement à la même opération.
La troisième ne fonctionne que pour augmenter d'une unité la valeur de nbre1.
Si vous voulez augmenter de 2 la valeur d'une variable, utilisez les deux première syntaxes .

16/10/2023
Pr. Mezui Guy
B- Les variables et les opérateurs
Les opérateurs spéciaux
1. La décrémentation

C’est le fait d’enlever à chaque fois une valeur à la variable elle-même.


int nbre1;
nbre1=0;
nbre1 = nbre1 - 1;
nbre1 -= 1;
nbre1--;
--nbre1;
Remarques:
Les trois premières syntaxes correspondent exactement à la même opération.
La troisième ne fonctionne que pour soustraire d'une unité la valeur de nbre1.
Si vous voulez soustraire de 2 la valeur d'une variable, utilisez les deux première syntaxes .

16/10/2023
Pr. Mezui Guy
B- Les variables et les opérateurs
Les opérateurs spéciaux
1. Même principe pour la multiplication et la division

int nbre1;
nbre1=1;

nbre1 = nbre1 * 2;
nbre1 *= 2;

nbre1 = nbre1 / 2;
nbre1 /= 2;

16/10/2023
Pr. Mezui Guy
B- Les variables et les opérateurs
Les conversions ou cast
3. D'un type int en type String
1. D'un type int en type float
int i = 12;
int i = 123; String j = new String();
float j = (float)i; j = j.valueOf(i);

2. D'un type float en type int 2. D'un type String en type int

double i = 1.23; String j = "12";


double j = 2.9999999; int k = Integer.valueOf(j).intValue();
int k = (int)i; //k vaut 1
k = (int)j; //k vaut 2 Important
Il existe des équivalents à intValue() pour les autres types
numériques : floatValue(), doubleValue()…

16/10/2023
Pr. Mezui Guy
C- Lire les entrées du clavier
Exemple 1
La classe Scanner
 Saisir les valeur de 3500 et 123.8974 sur le clavier

 La classe Scanner, permet de saisir les données à puis les afficher.


partir de votre clavier. Scanner d= new Scanner(System.in);

Syntaxe : Scanner s = new Scanner(System.in); int entier=d.nextInt();


float reel =d.nextFloat();
Remarque: Avant d’utiliser la classe Scanner
il faut à chaque fois importer ou appeler la System.out.println(entier);
bibliothèque java.util.Scanner; System.out.println(reel);

Utilisation avec int, double, long et byte: Exemple 2


Scanner sc = new Scanner(System.in);  Saisir le texte suivant sur le clavier puis affiche le
int i = sc.nextInt(); "Je suis un étudiant à Inia"
double d = sc.nextDouble();
long l = sc.nextLong(); Scanner s= new Scanner(System.in);
byte b = sc.nextByte(); String phrase=s.nextLine();
System.out.println(phrase);
Pr. Mezui Guy 16/10/2023
D- Les conditions
1. La structure if…..else Structure

Avant de pouvoir créer et évaluer des conditions, nous allons utiliser ce qu'on
if(//condition)
appelle des « opérateurs logiques ».
Ceux-ci sont surtout utilisés lors de conditions (si [test] alors [faire ceci]) pour
{
évaluer différents cas possibles. //Exécution des instructions si la condition est remplie
Opérateurs à connaître :
}
« == » : permet de tester l'égalité.
« != » : permet de tester l’inégalité. else
« < » : strictement inférieur.
« <= » : inférieur ou égal.
{
« > » : strictement supérieur. //Exécution des instructions si la condition n'est pas
remplie
« >= » : supérieur ou égal.
« && » : l'opérateur ET. Il permet de préciser une }
condition
« || » : le OU. Même combat que le précédent.

Pr. Mezui Guy 16/10/2023


D- Les conditions
Exemple 1 Exemple 2

int i = 10; int i = 0;


if (i < 0) { if (i < 0)
{
System.out.println("le nombre est négatif"); System.out.println("Ce nombre est négatif !");
}
}else { else
{
System.out.println("le nombre est positif"); if(i == 0)
System.out.println("Ce nombre est nul !");
} else
System.out.println("Ce nombre est positif !");
}

Pr. Mezui Guy 16/10/2023


D- Les conditions
2. La structure SWITCH Exemple 1
On utilise un switch pour éviter des else if à répétition int note = 10; //On imagine que la note maximale est 20
et pour alléger un peu le code.
switch (note)
Structure {
case 0:
switch (/*Variable*/) System.out.println(" Vous êtes null !");
break;
{ case 10:
case /*Argument*/: System.out.println("Vous avez juste la moyenne.");
break;
/*Action*/; case 20:
break; System.out.println("Parfait !");
break;
default: default:
System.out.println("Il faut davantage travailler.");
/*Action*/;
}
}
Pr. Mezui Guy 16/10/2023
D- Les conditions
2. La structure SWITCH
Exemple 2

String chaine = "Bonjour";

switch(chaine) {
case "Bonjour":
System.out.println("Bonjour monsieur !");
break;
case "Bonsoir":
System.out.println("Bonsoir monsieur !");
break;
default:
System.out.println("Bonjoir ! :p");
}
Pr. Mezui Guy 16/10/2023
D- Les conditions
3. Condition ternaire
 Les conditions ternaires sont assez complexes et relativement peu
utilisées.

 La particularité de ces conditions réside dans le fait que trois


variables ou constantes sont utilisées.

Exemple

int x = 6, y = 90;
int max = (x < y) ? y : x ; //Maintenant, max vaut 90

Pr. Mezui Guy 16/10/2023


E- Les boucles
1. La boucle while Exemple
 faire répéter une instruction un certain nombre de
int a = 1, b = 15;
fois tanque la condition est vérifiée.
while (a < b){
 Avant d’utiliser une boucle while il faut d’abord
initialiser la variable . System.out.println("valeur de " +a+ " fois !!");
a++;
 On test d’abord la condition avant de rentrer dans }
la boucle pour exécuter les instructions.

Structure
while (/* Condition */)
{
//Instructions à répéter
}
Pr. Mezui Guy 16/10/2023
E- Les boucles
Exemple
2. La boucle do… while
int a = 1, b = 15;
 Avant d’utiliser une boucle do ..while il faut
d’abord initialiser la variable. do{
 On exécute d’abord les instructions avant de
System.out.println("valeur de " +a+ " fois !!");
tester la ou les condition(s).
a++;
Structure } while (a < b);

do{
//Instructions
}while(/* Condition */);

Pr. Mezui Guy 16/10/2023


E- Les boucles
3. La boucle for
 Cette boucle est un peu particulière puisqu'elle
prend tous ses attributs dans sa condition puis fait
l’initialisation automatique et l’incrémentation.

Exemple

for(int i = 1; i <= 10; i++)


{
System.out.println("Voici la ligne "+i);
}

Pr. Mezui Guy 16/10/2023


F- Les tableaux
1. Définition
 Un tableau est une variable qu’on peut affecter
plusieurs valeurs ordonnées séquentiellement et
qu’on appelle au moyen d'un indice ou d'un
compteur.
Déclaration
<type du tableau> <nom du tableau> [] = { <contenu du tableau>};

Exemple

int tableauEntier[] = {0,1,2,3,4,5,6,7,8,9};


double tableauDouble[] = {0.0,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0};
char tableauCaractere[] = {'a','b','c','d','e','f','g'};
String tableauChaine[] = {"chaine1", "chaine2", "chaine3" , "chaine4"};

Pr. Mezui Guy 16/10/2023


F- Les tableaux
2. Déclaration d’un tableau vide 3. Tableaux multidimensionnels
 Pour déclarer un tableau vide il faut qu’il contienne Un tableau multidimensionnel n'est rien d'autre
impérativement un nombre de cases bien défini. qu'un tableau contenant au minimum deux
tableaux
Exemple Exemple
int tab[][] = { {0,2,4,6,8} , {1,3,5,7,9} };
int tableauEntier[] = new int[6];
Ou encore
int[] tableauEntier2 = new int[6]; Représentation

tab

Pr. Mezui Guy 16/10/2023


G- Les méthodes de classe
1. Les méthodes prédéfinies
 Une méthode prédéfinie est une méthode qui existe
dans une Library et qu’on appelle à chaque fois
qu’on veut l’utiliser ?

1. a) toLowerCase() 1. b) toUpperCase()

La méthode toLowerCase() permet de transformer tout caractère La méthode toUpperCase() permet de transformer tout caractère
alphabétique en son équivalent minuscule. alphabétique en son équivalent majuscule.

Exemple
Exemple
String maj = new String("Bienvenue au cours!"),
String chaine = new String("BONJOUR LES m = new String();
DEVELOPPEURS !"), m= maj.toUpperCase();
ch = new String();
ch = chaine.toLowerCase();

Pr. Mezui Guy 16/10/2023


G- Les méthodes de classe
1. Les méthodes prédéfinies
1. c) length() 1. d) equals()

La méthode length() renvoie la longueur d'une chaîne de caractères. La méthode equals() permet de vérifier (donc de tester) si deux
chaînes de caractères sont identiques.

Exemple
Exemple
String str1 = new String("coucou"),
String chaine = new String(" DEVELOPPEUR ! "); String str2 = new String("toutou");
int longueur = 0;
longueur = chaine.length(); if (str1.equals(str2))
System.out.println("Les deux chaînes sont identiques !");
else
System.out.println("Les deux chaînes sont différentes !");

Pr. Mezui Guy 16/10/2023


G- Les méthodes de classe
1. Les méthodes prédéfinies
1. f) charAt() 1. g) substring()

Elle permet d’extraire un caractère à l’intérieur d’une chaine de  La méthode substring() extrait une partie d'une chaîne de
caractère. caractères.

 Elle prend deux entiers en arguments :


Exemple - Le premier définit le premier caractère à extraire,
String nbre = new String("1234567"); - Le second correspond au dernier caractère à extraire.
char c = nbre.charAt(4);
 Le premier caractère porte le numéro 0.

Exemple

String chaine = new String("la paix niche"),


chaine2 = new String() ;
chaine2 = chaine.substring(3 , 13);

Pr. Mezui Guy 16/10/2023

Vous aimerez peut-être aussi