Vous êtes sur la page 1sur 39

Les bases de la programmation en

Java
Dr MOUSSE Ange Mikaël
Sommaire
Les variables et les opérateurs

Les Variables

Les opérateurs

Les Constantes

Les instructions de contrôle de Java

Les branchements conditionnels

Les boucles

les débranchements

Les tableaux

Les tableaux à une dimension

Les tableaux à n dimensions

méthode static

Lire/Ecrire au clavier

Premier Programme Java 2

Saisie de données
Sommaire
Les variables et les opérateurs

Les Variables

Les opérateurs

Les Constantes

Les instructions de contrôle de Java

les débranchements

Les tableaux

méthode static

Lire/Ecrire au clavier
3
Dénition et déclaration
I Emplacements de mémoire dans lesquels on peut stocker des
informations de toute sorte en mémoire : des chires, des
résultats de calcul, des tableaux, des renseignements fournis
par l'utilisateur etc.

I Toute variable a un nom, un type et une valeur.

I Déclaration générale :  Typedelavariable Nomdelavariable


;

I Trois sortes de variables : les variables d'instance, les variables


de classe et les variables locales.

I Deux types de variables : des variables de type simple ou 4


primitif et des variables de type complexe ou des objets.
Les types primitifs
I En java, tout est objet sauf les types de base (primitif).

I Il y a 8 types de base :

Byte entier signé sur 8 bits de 128 à +127


Short entier signé sur 16 bits de 32 768 à +32 767
int entier signé sur 32 bits de 2 147 483648 à 2 147 483
long entier signé sur 64 bits + ou -9 milliards de milliards
oat réel sur 32 bits de 1.4E-45 à 3.4E38
double réel sur 64 bits de 4.9E-324 à 1.79E308
boolean true ou false
char caractère Unicode sur 16 entier positif entre 0 et 65 535
bits
5
Exemple

int age = 10;

float salaire = 6500.04f;

double d = 0.0;

char = 'c';
\\Le type chaîne de caractères (type String) est défini com
\\ une classe Java

String nom = "TOTO"


6
Les Opérateurs arithmétiques
Ils opèrent sur des variables entières ou réelles an de produire des
résultats.

+ addition n = a + b;
- soustraction n = a - b;
* multiplication n = a * b;
/ division n = a / b;
+= addition n += b ; à n, ajouter b
-= soustraction n -= b ; à n, soustraire b
*= multiplication n *= b ; multiplier n par b
/= divisionr n /= b ; diviser n par b
% modulo n = a % b; reste de la division de a par b
%= modulo n %= b ; reste de la division de n par b
7
Les opérateurs d'incrémentation
Ils ajoutent ou retranchent la valeur 1 à une variable.

++ incrémente la variable j++ ; ou ++j ;


-- décrémente la variable j- - ; ou - -j ;

Exemple :

int i, j = 1;
i = j++ // i vaut 1 et j vaut 2
i = ++j // i vaut 3 et j vaut 3

8
Les opérateurs de comparaison
Ils opèrent généralement sur les expressions arithmétiques pour
donner des résultats booléens

Les opérateurs de comparaison

> supérieur
< inférieur
<= inférieur ou égal
>= supérieur ou égal
== égal
!= non égal (diérent)

Les opérateurs logiques : a, n, col, t sont des entiers

&& et logique (a >= 0) && (a <= 15)


|| ou logique (n < 0 || n >= col) 9
! négation ( !t)
Promotion Vs Casting(1)
Promotion

I Soit l'expression mixte suivante : a*b + n ; avec a et n de type


oat et b de type int ;

résulat :

a*b > (oat * (int-> oat)) = oat car b est promu de int en
oat
(a*b) + n > (oat + oat) donne un résulat oat.

I Le mécanisme de conversions d'ajustement de types est appelé


promotion de types.
10
I short -> int -> long -> oat -> double
Promotion Vs Casting(2)
I le type char :
I est soit un caracètre ;
I soit un code de caractère représenté sur 16 bits. Ex : E

correspont au code 69

I soit c1, c2 de type char on a :


I c1 + 1 est de type int ((char -> int) + int) -> int
I c1 + c2 est de type int ((char -> int) + (char -> int)) -> int

Casting
Le casting permet de forcer la conversion d'une expression
quelconque dans un type de son choix, à l'aide d'un opérateur
un peu particulier nommé cast.

11
Promotion Vs Casting(3)
Si, par exemple, n et p sont des variables de type int, l'expression :
(double) ( n/p )
aura comme valeur celle de l'expression entière n/p convertie en
double.
I (double) correspond en fait à un opérateur unaire dont le rôle
est d'eectuer la conversion dans le type double de l'expression
sur laquelle il porte.
I l existe autant d'opérateurs de cast que de types diérents (y
compris les types classe que nous rencontrerons
ultérieurement).
I En Java, toutes les conversions d'un type numérique (ou
caractère) vers un autre type numérique (ou caractère) sont
réalisables par cast et ne conduisent jamais à une erreur
12
d'exécution.
L'opérateur Ternaire
I 3 opérandes
I une autre façon de faire un test de condition sur des données
booléennes

variable = (condition) ? instruction 1 : instruction


2;
I Exemple : a=10, b=50 ;

int nombre =(a>b) ? 1 : 2 ;

13
Les Constantes
I Une constante est une variable dont la valeur reste inchangée
par la suite
I Le mot clé nal est utilisé avant le type de la variable
I L'identicateur de la constante est souvent écrit en majuscule

Exemple : \\
final int const = 10;

final float tva = 12.5f;

final double PI = 3.1415926535;

14
Sommaire
Les variables et les opérateurs

Les instructions de contrôle de Java

Les branchements conditionnels

Les boucles

les débranchements

Les tableaux

méthode static

Lire/Ecrire au clavier

15
if, switch

if (condition) {
...
} else if (condition) {
...
} else {
...
}

switch (expression) {
case constante1 :
instr11;
16
instr12;
break;
case constante2 :
while, do .. while, for

while (conditon) do{ for (init;condition;modif){


{ ...//instructions ...//instructions
... //instructions }while(condition); }
}

I while : le code est exécuté tant que la condition est vraie.


I do .. while : le code est au moins exécuté une fois quelque soit
la valeur de la condition.
I for : le code s'exécute à chaque fois la condition est vraie.

17
Sommaire
Les variables et les opérateurs

Les instructions de contrôle de Java

les débranchements

Les tableaux

méthode static

Lire/Ecrire au clavier

18
Les débranchements
Ce sont des intructions utilisées dans les boucles.
I break : il permet de quitter une boucle ou un branchement.
I continue : il permet de sauter d'itération.

while (...) {
...
break; //sortie immediate de la boucle
...
}
I Dans une structure de contrôle while, do ... while et for,
l'instruction continue produit l'abandon de l'itération courante
19
Sommaire
Les variables et les opérateurs

Les instructions de contrôle de Java

les débranchements

Les tableaux

Les tableaux à une dimension

Les tableaux à n dimensions

méthode static

Lire/Ecrire au clavier

20
Tableau en Java
I Structure en mémoire dans laquelle on peut stocker des
données.
I Les données stockées doivent être de même type :
I entiers
I réels
I char
I String
I (un tableau d'objets liés à une classe créée)

I En java, un tableau est alloué dynamiquement. Il possède


toujours une taille xée au départ de sa création.
I Si la taille doit être variable, d'autres structures comme
comme les Objets de type Vector, ArrayList . . .sont utilisées.
21
Tableau à une dimension(1)
I L'opérateur [] est utilisé pour créer un tableau à une dimension
I Déclaration d'un tableau :

int tab[] = {1, 2, 3}; // (1) identique au langage C


int[] tab = {1, 2, 3}; // (2) indique mieux un tableau d'
int
I Les forme (2) indique mieux un tableau d'entiers dont les
valeurs sont initialisées à 1, 2 et 3.

22
Tableau à une dimension(2)

int[] tabEnt; // reference (non initialisee) vers un tableau de


int
tabEnt = new int [10]; // allocation dynamique de 10 int
pour tabEnt
ou encore
int[] tabEnt = new int [10];// tableau de int de 10 elements
I chaque élément du tableau est identié à l'aide d'un d'indice
précisant son rang dans le tableau.
I un message d'erreur s'ache si l'indice permettant d'accéder à
un élément est en dehors de la plage autorisée
I les éléments sont initialisés par défaut à 0 pour les nombres et
à faux pour les tableaux de booléens. 23
Parcours du tableau

int[] valeurs = new int[4];


for(int i=0;i<4;i++)
valeurs[i]=i*i*i;

valeurs.length = 4
valeurs[0] = 0
valeurs[1] = 1
valeurs[2] = 8
valeurs[3] = 27

24
Tableau à deux dimensions
I Java permet de créer des tableaux de tableaux.
I Chaque élément d'un tableau, peut contenir un autre tableau
et ainsi de suite, sans limitation de principe du nombre de
dimension.
I Déclaration :

type [] [] nomTab = new type [taille1] [taille2] ;


Exemple :
int [] [] tabEntier2 = new int[10] [100] ;
I Autre déclaration : :

int[][] matrice ={{ 0, 1, 4, 3 } , { 5, 7, 9, 11}}; 25


Parcours du tableau

int[][] matrice=new int[2][3];


for (int i=0; i<2; i++){
for (int j=0; j<3; j++){
matrice[i][j] = (i + j)*2;
}}

matrice[0][0] = 0
matrice[0][1] = 2
matrice[0][2] = 4
matrice[1][0] = 2
matrice[1][1] = 4
matrice[1][2] = 6
26
Sommaire
Les variables et les opérateurs

Les instructions de contrôle de Java

les débranchements

Les tableaux

méthode static

Lire/Ecrire au clavier

27
a faire pour l'année prochaine

28
Sommaire
Les variables et les opérateurs

Les instructions de contrôle de Java

les débranchements

Les tableaux

méthode static

Lire/Ecrire au clavier

Premier Programme Java

Saisie de données

28
Hello World !

public class PremierProgramme {


public static void main(String[] argv) {
// Pour acher un commentaire sur une ligne
/* Commentaires sur
plusieurs lignes */
System.out.println("Hello Word !");
}
}

Hello World !
29
L'achage des données(1)
I Les messages à l'écran s'ache au travers de la fonction
suivante :
System.out.print()

I Achage de la valeur d'une variable :

int valeur = 22 ;
System.out.print(valeur) ;
À l'écran, le résultat s'affiche ainsi :
22

30
L'achage des données(2)
I Achage d'un commentaire :

System.out.print("Le montant est de : " + valeur) ;


ou
System.out.print(valeur + " correspond au montant
total ") ;

La première instruction affiche à l'écran :


Le montant est de : 22
La seconde :
22 correspond au montant total

31
L'achage des données(3)
I Achage de plusieurs variables :

int v = 5, s = 33 ;
System.out.print(v + " elements valent au total " + s
+ " FCFA ") ;

5 elements valent au total 33 FCFA

I Achage de la valeur d'une expression arithmétique

int a = 10, b = 5 ;
System.out.print(a+" fois " + b + " est egal a " + a *

b) ;
32
10 fois 5 est egal a 50
System.in.read()
I System.in.read() : permet de récupérer un et un seul caractère
saisi au clavier.

System.out.println("Entrer votre nom");


int carac = System.in.read();
System.out.println("le caractere lu : "+ (char) carac);
Entrer votre nom
MOUSSE
le caractère lu : M

I saisir des valeurs ou des noms composés de plusieurs


caractères ?
I utiliser autant d'instructions System.in.read() que de 33
caractères à saisir.
Scanner
I Package java.util.
I Propose un ensemble de fonctions de lecture que de types de
variables.
I permet de saisir autant de caractères souhaité
I très facile d'usage avec les valeurs numériques de type entier
(byte, short, int et long) ou réel (oat et double) et des
caractères de type char ou String.

I pour ce faire :
1. importer la classe Scanner // placée au début du programme

2. créer un pbjet de type Scanner


3. utiliser une méthode de la classe Scanner pour lire les

informations saisies au cavier.


34
Exemple complet(1)

import java.util.*;
public class TestLectureClavier {
public static void main (String [] Arg) {
int intLu;
oat floatLu;
double doubleLu;
char charLu;
byte byteLu;
long longLu;
short shortLu;
String stringLu;
Scanner lectureClavier = new Scanner(System.in);
System.out.println("Entrez un short : "); 35
shortLu = lectureClavier.nextShort();
Exemple complet(2)

System.out.println("Entrez un byte : ");


byteLu = lectureClavier.nextByte();
System.out.println("Entrez un int : ");
intLu = lectureClavier.nextInt();
System.out.println("Entrez un long : ");
longLu = lectureClavier.nextLong();
System.out.println("Entrez un oat : ");
floatLu = lectureClavier.nextFloat();
System.out.println("Entrez un double : ");
doubleLu = lectureClavier.nextDouble();
System.out.println("Entrez un String: ");
stringLu = lectureClavier.next();
36
Exemple complet(3)

System.out.println("Entrez un char : ");


charLu = lectureClavier.next().charAt(0);
System.out.println("entier : " + intLu);
System.out.println("oat : " + floatLu);
System.out.println("double : " + doubleLu);
System.out.println("char : " + charLu);
System.out.println("byte : " + byteLu);
System.out.println("short : " + shortLu);
System.out.println("String : " + stringLu);
System.out.println("long : " + longLu);
}
}
37
Questions

38

Vous aimerez peut-être aussi