Cours simplifié de java
Langage de programmation orienté objet Java (Rappel)
Introduction
Les règles de base : les règles syntaxiques de base.
Les identificateurs : les règles de composition des identificateurs.
Les commentaires : les différentes formes de commentaires de Java.
La déclaration et l'utilisation de variables : la déclaration des variables, les types
élémentaires, les formats des type élémentaires, l'initialisation des variables,
l'affectation et les comparaisons.
Les opérations
arithmétiques : les opérateurs arithmétique sur les entiers et les
flottants et les opérateurs d'incrémentation et de décrémentation.
Les structures de contrôles : les instructions permettant la réalisation de boucles, de
branchements conditionnels et de débranchements.
Les tableaux : cette section présente la déclaration, l'initialisation explicite et le
parcours d'un tableau.
les règles syntaxiques de base de Java.
Java est sensible à la casse (code ≠ Code)
Les blocs de code sont encadrés par des accolades ({ le code …..}).
Chaque instruction se termine par un caractère ';' (point virgule). Une instruction peut tenir sur plusieurs lignes :
Exemple : int
code
=
1;
C’est mieux d’écrire: int code = 1;
Les identificateurs
• Chaque objet, classe, programme ou variable est associé à un nom :
l'identificateur qui peut se composer de tous les caractères
alphanumériques et des caractères _ et $.
• Le premier caractère doit être une lettre, le caractère de soulignement ou le signe dollar.
• Un identificateur ne peut pas appartenir à la liste des mots réservé du langage Java : abstract, final, int, public, interface, return, boolean, float, long,
short, break, do, for, static,true, double, new, try,case, else, if,
super, void, implements, package, switch, char, extends, import,
private, while, class,false, protected, this …
Les commentaires
Les commentaires ne sont pas pris en compte par le compilateur. Il existe trois types de commentaire en Java :
• commentaire abrégé// commentaire sur une seule ligne: int N=1; // déclaration d’un compteur
• commentaire multi ligne:/* commentaires 1
commentaires 2 */
• commentaire de documentation automatique /**
* commentaire de la méthode
* @param val la valeur a traiter
* @version 1.0
* @return Rien
* @deprecated Utiliser la nouvelle méthode recherch() */
La déclaration et l'utilisation de variables
Une variable possède un nom, un type et une valeur.
Une variable est utilisable dans le bloc ou elle est définie.
La déclaration d'une variable permet de réserver la mémoire pour en stocker la valeur.
Le type d'une variable peut être :
soit
un type élémentaire dit aussi type primitif déclaré sous la forme type
élémentaire tel que int, float, bouble, byte, long, char ….;
soit une classe déclarée sous la forme classe variable tel que Etudiant e;
La déclaration et l'utilisation de variables
L'initialisation des variables:
– int cmp; // déclaration
– cmp= 0; //initialisation
– Ou int cmp= 0; //déclaration et initialisation au même temps
L'affectation
le signe = est l'opérateur d'affectation et s'utilise avec une expression de la forme variable
= expression. il renvoie la valeur affectée ce qui permet d'écrire :
x = 0;
Il
existe des opérateurs qui permettent de simplifier l'écriture d'une
opération d'affectation associée à un opérateur mathématique
=
|
a=1
|
équivalent à : a = 1
|
+=
|
a+=1
|
équivalent à : a = a + 1
|
-=
|
a-=1
|
équivalent à : a = a - 1
|
*=
|
a*=1
|
équivalent à : a = a * 1
|
Comparaison
Java propose des opérateurs pour toutes type de comparaison:
Opérateur
|
Exemple
|
Signification
|
>
|
a > 1
|
strictement supérieur
|
<
|
a < 1
|
strictement inférieur
|
>=
|
a >= 1
|
supérieur ou égal
|
<=
|
a <= 1
|
inférieur ou égal
|
==
|
a == 1
|
Egalité
|
!=
|
a != 1
|
diffèrent de
|
&&
|
a && b
|
ET logique (pour expressions
|
|
|
booléennes) :
|
||
|
a || b
|
OU logique (pour expressions
|
|
|
booléennes) :
|
Les opérations arithmétiques
Les opérateurs arithmétiques :
+ : addition, - : soustraction, * : multiplication, / : division et % : reste de la division.
Ils peuvent se combiner à l'opérateur d'affectation: int val1 = 3;
int val2 = 5;
int res = val1 + val2;
L'incrémentation et la décrémentation
• Les opérateurs d'incrémentation et de décrémentation sont : n++, ++n, n--, - -n.
• Exemple
– int n = 0;
n++; ===> n vas être incrémenté d’une unité n=1;
Les structures de contrôles
• Comme la plus part des langages de développement orienté objets,
Java propose un ensemble d'instructions qui permettent d'organiser et de
structurer les traitements.
• Les boucles
– while ( boolean ){
... // code a exécuter dans la boucle
}
– Le code est exécuté tant que le booléen est vrai.
– Si avant l'instruction while, le booléen est faux, alors le code de la boucle ne sera jamais exécuté
– do {
...
} while ( boolean );
– Cette boucle est au moins exécuté une fois quelque soit la valeur du booléen;
• for ( initialisation; condition; modification) {
...
}
• Exemple :
– for (i = 0 ; i < 10; i++ ) { ....}
– for ( ; ; ) { ... } // boucle infinie
• L'initialisation, la condition et la modification de l'index sont optionnels.
• Il est possible d'inclure plusieurs traitements dans
l'initialisation et la modification de la boucle : chacun des
traitements doit être séparé par une virgule.
Exemple :
– for (i = 0 , j = 0 ; i * j < 1000;i++ , j+= 2) { ....}
• La condition peut ne pas porter sur l'index de la boucle :
Exemple :
boolean trouve = false;
for (int i = 0 ; !trouve ; i++ ) { if ( tableau[i] == 1 ) trouve = true;
}
Les branchements conditionnels
if (boolean) {
...
}
else if (boolean) {
...
}
else {
...
}
switch (expression) { case constante1 :
instr11;
instr12;
break;
case constante2 :
...
default :
...
}
Si une instruction case ne contient pas de break alors les traitements associés au case suivant sont exécutés.
Il est possible d'imbriquer des switch.
Les tableaux
Les tableau sont dérivés de la classe Object.
Le premier élément d'un tableau possède l'indice 0.
La déclaration des tableaux.
Exemple :
int tab[] = new int[50]; // déclaration et allocation OU int[] tab = new int[50];
OU int tab[]; // déclaration tab = new int[50]; //allocation
Java permet de placer les crochets après ou avant le nom du tableau dans la déclaration.
Java ne supporte pas directement les tableaux à plusieurs dimensions : il faut déclarer un tableau de tableau (matrice).
Exemple :
float mat[][] = new float[10][10];
L'initialisation explicite d'un tableau
Exemple :
int tab[5] = {10,20,30,40,50};
int mat[3][2] = {{5,1},{6,2},{7,3}};
La taille du tableau n'est pas obligatoire si le tableau est initialisé à sa création. Exemple :
int tableau[] = {10,20,30,40,50};
Le nombre d'élément de chaque lignes peut ne pas être identique :
int[][] tabEntiers = {{1,2,3,4,5,6}, {1,2,3,4}, {1,2,3,4,5,6,7,8,9}};
Le parcours d'un tableau
Exemple :
for (int i = 0; i < tab.length ; i ++) { ... }
La variable length retourne le nombre d'éléments du tableau.
Les tableaux sont toujours transmis par référence puisque ce sont des objets.
Un accès a un élément d'un tableau qui dépasse sa capacité, lève une exception du type java.lang.arrayIndexOutOfBoundsException.
La programmation orienté objet
L'idée
de base de la programmation orientée objet est de rassembler dans une
même entité appelée objet les données et les traitements qui s'y
appliquent.
Le concept de classe : le concept et la syntaxe de la déclaration d'une classe Les objets : la création d'un objet et la syntaxe de la déclaration.
Les modificateurs d'accès : les modificateurs d'accès des entités classes, méthodes et attributs
Les
propriétés ou attributs : les données d'une classe ou attributs Les
méthodes : la déclaration d'une méthode, la transmissions de
paramètres, l'emmission de messages et des méthodes particulières : les constructeurs et les accesseurs
Le concept de classe
Une classe est le support de l 'encapsulation : c'est un ensemble de données et de fonctions regroupées dans une même entité.
Une classe est une description abstraite d'un objet.
Les fonctions qui opèrent sur les données sont appelées des méthodes.
Instancier une classe consiste à créer un objet sur son modèle.
Une classe comporte sa déclaration, des variables et la définition de ses méthodes.
Les objets
Les objets
contiennent des attributs et des méthodes. Les attributs sont des
variables ou des objets nécessaires au fonctionnement de l'objet.
En Java, une application est un objet.
La création d'un objet : instancier une classe
Il est nécessaire de définir la déclaration d'une variable ayant le type de l'objet désiré. La déclaration est de la forme
nom_de_classe nom_de_variable
Exemple :
Etudiant e = new Etudiant();
L'opérateur new se charge de créer une instance de la classe et de l'associer à la variable
Chaque instance d'une classe nécessite sa propre variable.
En Java, tous les objets sont instanciés par allocation dynamique.
L'opérateur
new est un opérateur de haute priorité qui permet d'instancier des
objets et d'appeler une méthode particulière de cet objet : le contructeur.
Si l'opérateur new n'obtient pas l'allocation mémoire nécessaire, il lève l'exception OutOfMemoryError.
Commentaires
Enregistrer un commentaire