Vous êtes sur la page 1sur 26

LES ELEMENTS DE BASE DU

LANGAGE JAVA
PARTIE 1

Ing. AWADA Adel


ISSAE CNAM – LIBAN NFA031
STRUCTURE DU LANGAGE JAVA
Dans les langues parlées, un discours est forme de
1- texte écrit formé de

Ing. AWADA Adel


2- paragraphes formées de
3- phrases formées de
4- mots formes de
5- caractères = [lettres, chiffres, symboles]
Java est comme toute langue parlée, un discours en Java est formé de
1- Programme (class) formé de
2- blocs formés de
3- instructions formées de
4- mots (termes) formés de
5- caractères (lettres, chiffres, symboles)

ISSAE CNAM – LIBAN NFA031


Structure d’un programme Java
Un programme Java porte la qualification du terme: class

class: représente le module principal de programmation en Java.

Ing. AWADA Adel


Entête de classe modificateur class nomClasse
{ {
public static void main(String[] args)
Corps de la classe {
Instructions …
}
}
autres méthodes (static)
}

ISSAE CNAM – LIBAN NFA031


Structure d’un programme Java
• Donc un programme Java représente un bloc de programmation.
• Un bloc comprend plusieurs instructions (phrases) ou autres blocs
(paragraphes).

Ing. AWADA Adel


• Un bloc enferme son contenu entre { contenu… } : accolades (braces)
qui signalent au système le début et la fin du bloc respectivement.

Tout programme Java porte un nom: (nom de class)


public class nom_class (entête du programme)

nom_class: C’est un nom donné par l’utilisateur qui doit respecter les règles de
nommage d’un identificateur Java.

public class: Ce sont des mots réservés du langage Java qui sont reconnus par le
système et ont une signification précise.

ISSAE CNAM – LIBAN NFA031


Un exemple d’un programme Java
public class HelloWorld{
public static void main(String[] args){

Ing. AWADA Adel


System.out.println("\nHello World From Java!");
System.out.println("\n Hello World From Java!");
System.out.println("\n Hello World From Java!");
}
}
mot resérvé mot utilisateur

ISSAE CNAM – LIBAN NFA031


Comment nommer un programme: Identificateur Java

• Le nom du programme (class) est un identificateur Java établi par l’utilisateur


(un nom donné par l’utilisateur. D’habitude exprime la tache du programme).
Ce nom doit respecter les règles de nommage d’un identificateur Java:

Ing. AWADA Adel


1. Contenir seulement les caractères: A…Z, a … z, 0 …9, $, _
2. Ne doit pas commencer par un chiffre 0 … 9.
3. Ne doit pas être un mot réservé comme public, static, private, double, etc.
Il est préférable que le nom de classe commence par une lettre majuscule (les
conventions Java).
Si le nom est composé de deux mots par exemple: Calcul Interet, on l’écrit :
CalculInteret ou bien Calcul_Interet
Car l’espace n’est pas autorisé!

ISSAE CNAM – LIBAN NFA031


Structure d’un programme Java: La méthode main
public class nomClasse
{
public static void main(String[] args)
{
Instructions executables

Ing. AWADA Adel


...
}
}

Dans le bloc du programme (class), on définit un bloc appelé main ou bien la méthode main.
Ce bloc contient effectivement le programme, c.à.d. les instructions exécutables.
Ce bloc est requis par la JVM (l’exécuteur de programmes Java) afin d’exécuter.

public static void main(String[] args)

Cette syntaxe de définition de l’entête de main sera expliquée en détail plus tard.
Pour le moment, retenez-la comme elle est!

ISSAE CNAM – LIBAN NFA031


Structure d’un programme Java: La méthode main
public class nomClasse
{
public static void main(String[] args)
{ Déclaration de données (variables, constantes, …)

Instructions exécutables

Ing. AWADA Adel


... Instructions et structures de programmation
}
}

Le bloc main contient deux parties principales:


1. Déclaration de données: les variables et les constantes
2. Les instructions et les structures de programmation qui définissent la logique
du programme.

ISSAE CNAM – LIBAN NFA031


Un exemple d’un programme Java
import java.util.Scanner;
public class MaxMin3Nbrs
{
public static void main(String[] args)
{

Ing. AWADA Adel


Scanner scan = new Scanner(System.in); Declarations
int min, sum = 0, b, max, c, a;
double aver;
System.out.print("Enter A: "); a = scan.nextInt();
System.out.print("Enter B: "); b = scan.nextInt();
System.out.print("Enter C: "); c = scan.nextInt();
sum = a + b + c; aver = sum / 3.0; Logique
min = a; max = a;
if(b>max) max = b; if(c>max) max = c;
if(b<min) min = b; if(c<min) min = c;
System.out.println("The maximum is: " + max);
System.out.println("The minimum is: " + min);
System.out.println("The average is: " + aver);
}
}
ISSAE CNAM – LIBAN NFA031
Notion de variable

Variable : un nom pour un emplacement dans la mémoire qui utilise un type de données
particulier pour contenir une valeur. Cette valeur peut changer pendant
l’exécution du programme.

Ing. AWADA Adel


Une variable doit avoir un nom et un type de données.

Nom de variable: doit respecter les règles de nommage d’un


Identificateur Java (déjà mentionnées).

Type de données:
- Primitif: byte, short, int, long, float, double, char, boolean (expliqués plus tard)
- Objet: une instance de classe (expliqué beaucoup plus tard)

ISSAE CNAM – LIBAN NFA031


Notion de variable: Déclaration
Déclaration d’une variable:

Syntaxe: règles d’écriture

Ing. AWADA Adel


1. Une variable par ligne:
TypeDeDonnees nomVariable; int x;

2. Plusieurs variables du même type par ligne:


TypeDeDonnees nomVariable1, nomVariable2, ... ; double x, y, z;

3. Déclaration avec initialisation:


TypeDeDonnees nomVariable1 = valeurInitiale1,
nomVariable2 = valeurInitiale1 ; int x = -5, y = 13;

ISSAE CNAM – LIBAN NFA031


Les Constantes: Déclaration
Supposons que vous voulez utiliser le taux d’intérêt fixe de valeur 0.085 (8.5%) vingt fois dans votre
programme. Ce qui signifie que vous allez saisir 0.085 vingt fois dans le programme.
La répétition n’est pas le seul problème. Que fait-on si la banque change le taux d’intérêt?! Cela signifie
qu’on doit changer le nombre vingt fois dans le programme!
Une méthode plus pratique c’est de définir une constante TAUX_INTERET, lui donner une valeur fixe

Ing. AWADA Adel


qui ne change pas dans le programme et l’utiliser dans le programme.
Si le taux change, on ne change que la valeur de la constante TAUX_INTERET.

Définition:
Une constante est une « variable » qui ne change jamais de valeur pendant l’exécution du programme.

Déclaration d’une constante:


final static typeDeDonnees nomVariable = valeur;
final static double TAUX_INTERET = 0.085;

Les programmeurs en Java ont une convention d’écrire le nom de la constante en lettres majuscules
pour les distinguer des variables du programme.

ISSAE CNAM – LIBAN NFA031


Les types de données en Java
Un type de données
• Est un système d’utilisation de bits pour représenter les valeurs en mémoire.
• Les valeurs ne sont pas seulement des nombres, mais tout type de données
qu’un ordinateur peut traiter.
• Toutes les valeurs d’un ordinateur sont représentées à l’aide d’un type de données ou

Ing. AWADA Adel


d’un autre.

Les données en Java sont de deux natures:


• Types primitifs ou simple
- Numérique:
o Entier: byte (8 bits), short (16 bits), int (32 bits), long (64 bits).
o Décimal: float (32 bits), double (64 bits).
- Texte: char (16 bits)
- Logique: boolean (1 bit)
• Type objet ou complexe: Une structure de données à taille variable. Ex: String,
Date, Tableaux, …

ISSAE CNAM – LIBAN NFA031


Les types de données en Java: Types primitifs

Ing. AWADA Adel


Les données manipulées en Java sont deux types: Primitifs et Objets
• Les types primitifs ou simples: les variables contiennent directement la
valeur stockée.
• Type objet ou complexe: Une structure de données à taille variable. Ex: String,
Date, Tableaux, …

ISSAE CNAM – LIBAN NFA031


Les types de données en Java: Types primitifs numériques

Ing. AWADA Adel


Les types entiers

Les types décimaux

ISSAE CNAM – LIBAN NFA031


Les types de données: Unités de mesure des mémoires

bit: une cellule de mémoire qui contient 0 ou 1 binaires.


byte: égal a 8 bits (octet en français).

Ing. AWADA Adel


kilobyte: 1024 bytes 1000 kB kilobyte

megabyte: 1024 kilobytes 10002 MB megabyte

gigabyte: 1024 megabytes 10003 GB gigabyte


Exprimés de même
terabyte: 1024 gigabytes 10004 TB terabyte

petabyte: 1024 terabytes 10005 PB petabyte

exabyte: 1024 petabytes 10006 EB exabyte

zettabyte: 1024 exabytes 10007 ZB zettabyte

yottabyte: 1024 zettabyte 10008 YB yottabyte

ISSAE CNAM – LIBAN NFA031


Les types de données en Java: Différence entre primitif et objet

Types primitifs:

int a = 12; a 12 4 octets

Ing. AWADA Adel


double x = 13.6; x 13.6 8 octets

boolean b = true; b 1 1 bit

Types Objet:
"CNAM Liban"
String s = new String("CNAM Liban"); taille ???!!!

s Adresse en mémoire Etablie par le


Méthodes de la classesystème
String
La variable s ne peut pas contenir le volume de l’objet!
Elle contient l’adresse du premier octet de l’objet en
Mémoire.

ISSAE CNAM – LIBAN NFA031


Les valeurs
Les valeurs données aux variables/constantes doivent être compatibles avec le type de donnees qui
déclare la variable/constante.

Les valeurs entières comprennent tous les nombres entiers négatifs et positifs:
int x = -15; int y = 123;

Ing. AWADA Adel


Les valeurs décimales comprennent les nombres négatifs et positifs qui prennent une virgule:
float x = -12.7; double y = 88.0;

• Une confirmation du type décimal précis peut être faite comme suit:
float x = -12.7F; ou bien float x = 12.7f;

double y = 88.0D; ou bien double y = 88.0d;

• Les nombres décimaux peuvent être exprimés en une notation dite

scientifique: Nombre Notation scientifique


123.0 1.23E+02
-123.5 -1.235E+02
-198234.234 -1.98234234E+05
0.00000381 3.81E-06
ISSAE CNAM – LIBAN NFA031
Le type primitif char
Ce type représente une donnée formée d’un seul caractère (lettre, chiffre, symbole).

La déclaration: char c = ‘G’; signifie qu’on a une variable c qui contient le caractère ‘G’ .

En Java, chaque caractère du jeu de caractères manipulés dans l’ordinateur possède un code numérique

Ing. AWADA Adel


codé sur 16 bits (2 bytes). Ce qui permet de coder un jeu de 35536 caractères. Cette méthode de
codage s’appelle Unicode

Par exemple:
Le code 0000000001000001 en binaire donne 65 en decimal et c’est le code de la lettre ‘A’.
Le code 0000000000100110 en binaire donne 38 en decimal et c’est le code du caractere
‘&’

Les constantes de type char donc sont représentées comme un caractère enfermé entre deux
apostrophe : ‘A’, ‘f’, ‘&’, ‘$’, etc.

Comme exception, il existe ce qu’on appelle des caractères spéciaux sont utilisés pour la

sortie: ‘\n’ : saut de ligne ‘\t’ : tab ‘\b’: backspace ‘\f’: form feed
‘\r’: carriage return ‘\\’: backslash ‘\ "‘: double quotes ‘\’’: : single quote
ISSAE CNAM – LIBAN NFA031
Le type primitif char : relation avec « int »
Il existe une relation entre les deux types: int et char.

Puisqu’un caractère est exprimé comme un code entier numérique, ceci conduit aux
écritures suivantes:

Ing. AWADA Adel


int a = ‘H’; Un échange entre les deux types.
char x = 66;

On peut passer d’un type a l’autre en utilisant le “cast”: Le cast est utilise pour
convertir un type en un autre type compatible.
Pour « caster », on met le type de destination entre parenthèses avant la donnée à
convertir.

System.out.println( (char) 67); affiche la letter ‘C’.


System.out.println( (int) ‘C’); affiche le code 67.

ISSAE CNAM – LIBAN NFA031


Le type primitif boolean
Le nom du type boolean est pris du nom du fondateur de l’algèbre de Boole: George
Boole

Le type boolean définit une variable qui peut prendre l’une des valeurs:

Ing. AWADA Adel


true (vrai) false (faux)
Une donnée de type boolean occupe un seul bit en mémoire.

Les données de type boolean sont utilisées pour évaluer les expressions logiques
(discutées ci-après).

Exemple: boolean b = a>0; si a est > 0, alors b est egal a true;


boolean b = a<1 && b>0; si a < 1 et b > 0, alors b est egal a true

Note: Ce sera expliqué en détail quand on aborde « les expressions ».

ISSAE CNAM – LIBAN NFA031


Les commentaires en Java
Le programmeur java peut insérer des commentaires dans son code, i.e. des clarifications
sur ce que fait le code.
Les commentaires ne sont pas pris en considération par le compilateur Java.

Deux type de commentaires:

Ing. AWADA Adel


1. Commentaire sur une seule ligne (line comment)
// c’est un commentaire de ligne
Tout ce qui est place apres // jusqu’à la fin de la ligne ne sera pas pris en consideration.

2. Commentaire sur plusieurs ligne (multiple-line comment)


/* c’est un commentaire
sur plusieurs
lignes */
Tout ce qui est place entre /* et */ new sera pas pris en consideration.

ISSAE CNAM – LIBAN NFA031


Les commentaires en Java: un exemple
/* Ce programme trouve
le minimum de trois nombres
entiers saisis a partir du clavier */
import java.util.Scanner;
public class MaxMin3Nbrs

Ing. AWADA Adel


{
public static void main(String[] args)
{
// Declaration des variables
Scanner scan = new Scanner(System.in); // necessaire pour l’entree
int a, b, c, min;
// Entrée de donnees
System.out.print("Enter A: "); a = scan.nextInt();
System.out.print("Enter B: "); b = scan.nextInt();
System.out.print("Enter C: "); c = scan.nextInt();
// comparaison des nombres
if(b<min) min = b; if(c<min) min = c;
// Affichage du resultat
System.out.println("The minimum is: " + min);
}
}
ISSAE CNAM – LIBAN NFA031
L’instruction d’affectation « = »
Opérateur « = »

Attention: Ce n’est pas l’opérateur d'égalité!

Ing. AWADA Adel


Syntaxe: variable = expression

Sémantique: variable « reçoit » expression.


Stocker la valeur de l’expression à la location mémoire indiquée par la variable.

int a = 12;
double d = a / 4;
Deux étapes:
1. Evaluer l’expression
2. Stocker la valeur de l’expression dans la variable

ISSAE CNAM – LIBAN NFA031


L’instruction d’affectation « = »
La même valeur dans les deux côtés:

int value = 5;
value = 12 + value;

Ing. AWADA Adel


Attention: = n’est pas l’opérateur d'égalité!

Comment ca marche:

1. Stocker 5 dans la variable value


2. Evaluer 12 + value, ce qui est égal a 12 + 5 = 17
3. Stocker le résultat 17 dans la variable value

ISSAE CNAM – LIBAN NFA031

Vous aimerez peut-être aussi