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.





Le concept de classe




Exemple:


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