Vous êtes sur la page 1sur 49

Programmation Orienté Objet

(POO)

Opérations en langage Java

TP_POO 2022/2023 Regouid Meryem


Comment déclarer
les variables en Java?

TP_POO 2022/2023 Regouid Meryem


 Le type byte (1 octet) peut contenir les
entiers entre -128 et +127.

byte temperature;
temperature = 64;

TP_POO 2022/2023 Regouid Meryem


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

short vitesseMax;
vitesseMax = 32000;

TP_POO 2022/2023 Regouid Meryem


 Le type int (4 octets) va de -2 × 109 à 2 ×
109 (2 et 9 zéros derrière. . . ce qui fait
déjà un joli nombre).

int temperatureSoleil;
temperatureSoleil = 15600000;

TP_POO 2022/2023 Regouid Meryem


 Le type long (8 octets) peut aller de -9 ×
1018 à 9 × 1018 (encore plus gros. . .).

long anneeLumiere;
anneeLumiere = 9460700000000000;

TP_POO 2022/2023 Regouid Meryem


 Le type float (4 octets) est utilisé pour les
nombres avec une virgule ottante.

float pi;
pi = 3.141592653f;

TP_POO 2022/2023 Regouid Meryem


 Le type double (8 octets) est identique à
float, si ce n'est qu'il contient plus de
chiffres derrière la virgule et qu'il n'a pas
de suffixe.

double division;
division = 0.333333333333333333333333
333333333333333333334;

TP_POO 2022/2023 Regouid Meryem


 Le type char contient UN caractère
stocké entre apostrophes ( ' ' ), comme
ceci :

char caractere;
caractere = 'A';

TP_POO 2022/2023 Regouid Meryem


 Le type String permet de gérer les
chaînes de caractères, c'est-à-dire le
stockage de
texte.
Il s'agit d'une variable d'un type plus
complexe que l'on appelle objet

TP_POO 2022/2023 Regouid Meryem


String phrase1;
phrase1 = "Programmation Oriente Objet";

String phrase2 = " Programmation Oriente Objet ";

TP_POO 2022/2023 Regouid Meryem


 Le type boolean, lui, ne peut contenir que
deux valeurs : true (vrai) ou false
(faux), sans guillemets.

boolean question;
question = true;

TP_POO 2022/2023 Regouid Meryem


Déclaration d’une variable non modifiable

Déclaration d’une constante

final type nom_constante = valeur;


final type nom_constante = valeur;

final int id = 010;


// Un seule ligne

/* ,,,
,,,,*/ Plusieurs lignes

TP_POO 2022/2023 Regouid Meryem


System,out,print (`` votre message``)
Pour faire un saut à la ligne

System,out,println (`` votre message``)

System,out,print (`` votre message \n``)

TP_POO 2022/2023 Regouid Meryem


Ecrivez l’exemple suivant:

System.out.print("Saisir votre nom");

TP_POO 2022/2023 Regouid Meryem


Pour que Java puisse lire ce que vous tapez au clavier, vous
allez devoir utiliser un objet de type Scanner.

System.out.println(); Ecrire , Affichage

System.in Lecture

Scanner sc = new Scanner(System.in);


Scanner sc = new Scanner(System.in);

import java.util.Scanner;

TP_POO 2022/2023 Regouid Meryem


Exemple 1 (type String)

Scanner sc = new Scanner(System.in);


System.out.println("Veuillez saisir un mot:");
String str = sc.nextLine();
System.out.println("Vous avez saisi : " + str);
Ecrivez l’exemple suivant:

System.out.print("Saisir votre nom");


Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
System.out.println("Vous avez saisi : " + str);

TP_POO 2022/2023 Regouid Meryem


Exemple 1 (type String)

Scanner sc = new Scanner(System.in);


System.out.println("Veuillez saisir un mot:");
Les autres types???
String str = sc.nextLine();
System.out.println("Vous avez saisi : " + str);
Exemple 2 (autres types)

Scanner sc = new Scanner(System.in);


int i = sc.nextInt();
double d = sc.nextDouble();
long l = sc.nextLong();
byte b = sc.nextByte();

next<Type de variable commençant par une majuscule>


Ajouter l’age de l’utilisateur
System.out.print("Saisir votre nom");
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
System.out.println("Vous avez saisi : " + str);
System.out.println("Saisir votre age SVP:");
int age = sc.nextInt();

TP_POO 2022/2023 Regouid Meryem


Afficher le message comme suit:

TP_POO 2022/2023 Regouid Meryem


Afficher le message comme suit:

System.out.println("Votre nom est "


+ str +" et votre age est: " + age);

TP_POO 2022/2023 Regouid Meryem


Ajouter le genre de l’utilisateur (F/M)
System.out.print("Saisir votre nom");
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
System.out.println("Vous avez saisi : " + str);
System.out.println("Saisir votre age SVP:");
int age = sc.nextInt();

TP_POO 2022/2023 Regouid Meryem


Exemple 2 (autres types)

Scanner sc = new Scanner(System.in);


int i = sc.nextInt();
double d = sc.nextDouble();
Sauf le type Char
long l = sc.nextLong();
byte b = sc.nextByte();

next<Type de variable commençant par une majuscule>


Exemple 3 (type Char)

System.out.println("Saisissez une lettre :");


Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
char carac = str.charAt(0);
System.out.println("Vous avez saisi le caractère : " + carac);

récupérer le premier caractère saisi


Exemple 4

Scanner sc = new Scanner(System.in);


System.out.println("Saisissez un entier : ");
int i = sc.nextInt();
System.out.println("Saisissez une chaîne : ");
//On vide la ligne avant d'en lire une autre
sc.nextLine();
String str = sc.nextLine();
System.out.println("FIN ! ");
Les opérateurs logiques
== tester l'égalité
!= tester l'inégalité
< strictement inférieur
<= inférieur ou égal.
> strictement supérieur.
>= supérieur ou égal.
&& Le ET / AND logique (court circuit)
& Le ET / AND logique
|| Le OU / OR logique (court circuit)
| Le OU / OR logique
! Le Non logique
? Les conditions ternaires
^ Le OU exclusif
(& / &&) (| / ||)
L'esperluette simple (&) évalue toujours les deux
arguments alors que l'esperluette double (&&)
n'évaluera le deuxième argument que si le
premier argument est vrai.

Il faut simplement tenir compte de la propriété


particulière dont bénéficient les opérateurs &&
et || dits à court-circuit. Ils n’évaluent leur second
opérande que lorsque cela est nécessaire.
Les structures de contrôles
Il existe plusieurs sortes de structures
conditionnelles qui vous permettent de
n'exécuter que certains morceaux de code. :

 la structure if... elseif... else ;


 la structure switch... case... default ;
 la structure ? :
La structure de contrôle (IF / else)
if(//condition)
{
... //Exécution des instructions si la condition
est remplie
}
else
{
... //Exécution des instructions si la condition
n'est pas remplie
}
La structure de contrôle ( IF / elseif / else)
If (//condition)
{
... //Exécution des instructions si la condition est remplie
}
elseif (//condition)
{
... //Exécution des instructions si la condition est remplie

}
Else
{... //Exécution des instructions si les autres conditions
n‘sont pas remplie]
La structure de contrôle ( Switch)
switch (/*Variable*/)
{
case /*Argument*/:
/*Action*/;
break;
default:
/*Action*/;
}
Exemple (switch)
int note = 10; //On imagine que la note maximale est 20
switch (note)
{
case 0:
System.out.println("Ouch !");
break;
case 10:
System.out.println("Vous avez juste la moyenne.");
break;
case 20:
System.out.println("Parfait !");
break;
default:
System.out.println("Il faut davantage travailler.");
}
La structure de contrôle (?)

Variable = (condition) ? /*Action*/ : /*Action*/;

int x = 10, y = 20;


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

Si la condition renvoie true , la valeur qui se trouve


après le ? sera affectée ; sinon, la valeur se trouvant
après le symbole : sera affectée.
Les boucles
 La boucle (while)
 La boucle do... While
 La boucle for
La boucle while

while (/* Condition */)


{
//Instructions à répéter
}
La boucle do... while
do{
//instructions
} while(a < b);
La boucle do... while
do{
//instructions
} while(a < b);Quelle la
différence entre
while et do
,,while?
La différence
Ces boucles fonctionnent exactement de la même
manière.

Sauf
que

La boucle do... while s'exécutera au moins


une fois, contrairement à la boucle
« while »
La boucle for
for(int i = 1; i <= n; i++)
{
/*actions
}

for(int i = 0, j = 2; (i < 10 && j < 6); i++, j+=2)


{
System.out.println("i = " + i + ", j = " + j);
}
La différence
For
While
Do,,,,,While

Tous ces étapes sont dans la


condition elle-même

 déclaration d'une variable avant la boucle


 initialisation de cette variable
 incrémentation de celle-ci dans la boucle.
les instructions break /continue
break
Sortir d’un bloc d’instructions sans traiter
les instructions restantes dans ce bloc et le
contrôle du programme reprend à
l'instruction suivante qui suit le bloc

continue
toutes les déclarations après l'instruction
continue sont omis et la boucle continue
avec la prochaine itération.
Écrire un programme calculant la somme
des n premiers termes de la "série
harmonique", c’est-à-dire la somme :

Ar(n)=1 + 1/2 + 1/3 + 1/4 + ..... + 1/n

La valeur de n sera lue par l’utilisateur


Écrire un programme qui calcule les racines carrées
de nombres fournis en donnée. Il s’arrêtera lorsqu’on
lui fournira la valeur 0. Il refusera les valeurs
négatives. Son exécution se présentera ainsi :

donnez un nombre positif : 2


sa racine carrée est : 1.4142135623730951
donnez un nombre positif : -3
svp positif
donnez un nombre positif : 5
sa racine carrée est : 2.23606797749979
donnez un nombre positif : 0
Il s'agit d'écrire un programme qui lire une
chaîne de caractères (une instance de la
classe String) puis indique s'il s'agit ou non
d'un palindrome.
Un palindrome est un mot qui se lit de la
même façon de gauche à droite et de
droite à gauche ( ex: ICI, ETE, RADAR)

Vous aimerez peut-être aussi