Un programme en langage JAVA consiste en une série d'énoncés (statements) organisés en blocs. Ces énoncés définissent des données et des opérations sur ces données. La fin de chaque énoncé est marquée par un ;. Ce caractère indique à l'interpréteur JAVA que l'énoncé est complet, qu'il doit être exécuté avant de passer à l'énoncé suivant. L'ordre dans lequel l'interpréteur JAVA exécute les énoncés s'appelle le flôt d'exécution ou flôt de contrôle.

1. Types simples

type désignation domaine constantes opérations
entiers byte entiers sur 8 bits
short entiers sur 16 bits
int entiers sur 32 bits
long entiers sur 64 bits
-128 à 127
-32768 à  32767
-2147483648 à 2147483647
-9223372036854775808 à 9223372036854775807
323 constante décimale
0xF2 constante héxadécimale
0777 constante octale

323l constante "long"

unaire :  +, -
binaire :  +, -, *, /  %
réels float réels simple précision (32 bits)
double réels double précision (64bits)
+- 3.40282346638528860e+38 
+- 1.40129846432481707e-45

+- 1.79769313486231570e+308
+- 4.94065645841246544e-324
2.f .32f 2.33f 2e4f 2.e4f .3e4f
2. .32 2.33 2e4 2.e4 .3e4
unaire :  +, -
binaire :  +, -, *, / 
caractère char codage Unicode (valeurs entières sur 16 bits) 'a' 'A' 
'\n' retour à la ligne
'\t' tabulation horizontale
 
booléen boolean true false true false && et logique
|| ou logique
! négation

Relation d'ordre : elle est définie sur tous les types simples.
 

égal différent strictement supérieur supérieurou égal strictement inférieur inférieur ou égal
== != > >= < <=

2. Enoncés élémentaires

a) déclaration d'une variable

avant d'être utilisée dans un programme une variable doit être déclarée

syntaxe

déclaration:
               type identificateur

exemples

byte age;
boolean jeune;
float poids;

Une variable est accessible (visible) depuis l'endroit où elle est déclarée jusqu'à la fin du bloc où sa déclaration a été effectuée.

b) Opérateur d'affectation

Permet de donner une valeur à une variable

syntaxe

affectation:
              lvalue = expression

lvalue est une expression qui doit délivrer une variable (par exemple un identificateur de variable, élément de tableau...., mais pas une constante).

exemples

age = 10;
jeune = true;
poids = 71.5f;

Attention en JAVA comme en C, l'affectation est un opérateur. L'affectation peut donc être utilisée comme une expression dont la valeur est la valeur affectée à la variable.

i = j = 10;

3. Flot de contrôle

a) bloc d'instructions

permet de grouper un ensemble d'instructions en lui donnant la forme syntaxique d'une seule instruction

syntaxe

instruction composée:
   {
      sequence d'enoncés
   }

exemples

int k;
{
    int i = 1;
    int j = 12;
    j = i+1;
    k = 2 * j - i;
}

b) instruction conditionnelle

syntaxe

if ( expression booléenne ) instruction1

ou bien

if ( expression booléenne )
    instruction1
else
    instruction2

sémantique : expression booléeene est évaluée. Si sa valeur vaut true, instruction1 est exécutée, sinon instruction2 si elle existe est exécutée.

exemple

if (i==j) {
   j = j -1;
   i = 2 * j;
}
else {
   i = 1;
}

c) instructions itératives

Ces structures de contrôle permettent d'exécuter des instructions de manière répétitive.

instruction while (boucle tantque ... faire)

syntaxe

while ( expression booléenne )
    instruction

sémantique :
1) expression booléenne est évaluée. Si sa valeur vaut true, l'étape 2 est réalisée sinon l'exécution de l'instruction while est terminée
2) instruction est exécutée, puis l'étape 1) est renouvelée.

exemple

int i = 0;
int somme = 0;
while (i <= 10) {
   somme += i;
   i++;
}
ystem.out.println("Somme des 10 premiers entiers" + somme);

instruction do-while (boucle faire .... tantque)

syntaxe

do {
    instruction
} while ( expression booléenne )

sémantique :
1) instruction est exécutée,
2) expression booléeene est évaluée. Si sa valeur vaut true, l'étape 1 est renouvelée sinon l'exécution de l'instruction do while est terminée .

exemple

int i = 0;
int somme = 0;
do
{
   somme += i;
   i++;
}  while (i <= 10);
System.out.println("Somme des 10 premiers entiers" + somme);

instruction for (boucle pour)

syntaxe

for (expression1 ; expression2; expression3)
    instruction

sémantique :
1) expression1 est évaluée (en général elle initialise un itérateur (variable de comptage du nombre d'itérations), cf. l'affectation qui est une expression). Cette expression n'est évaluée qu'une seule fois.
2) expression2 est évaluée, si sa valeur vaut true le contrôle passe à l'étape 3 sinon l'exécution de l'instruction for est terminée 3) instruction est exécutée, puis expression3 est évaluée (en général elle modifie l'itérateur) puis l'étape 1 est renouvellée. expression3 est ainsi évaluée après chaque itération.

exemple

int somme = 0;
for (int i = 0; i <= 10; i++) {
   somme += i;
}
System.out.println("Somme des 10 premiers entiers" + somme); 

Affichage de résultats sur la console

System.out.print et System.out.println

System.out.print(chaine de caractères à afficher) affiche la chaîne sur la console
System.out.println(chaine de caractères à afficher) affiche la chaîne sur la console avec un retour à la ligne

la chaîne de caractères qui définit le texte à afficher peut être :

  • une constante chaîne de caractères (String) .
    System.out.println("coucou");  // affiche le texte coucou
  • une expression de type String
    System.out.println(age);  // affiche la valeur de la variable age
  • une combinaison (concaténation) de constantes et d'expressions de type String. La concaténation est exprimée à l'aide de l'opérateur +
    System.out.println("L'age de la personne est " + age + " , son poids " + poids + " kg");
    produit sur la console la chaîne : L'age de la personne est 12 , son poids : 33.333333333333336 kg

remarque : dans les expressions de type String, les variables de type simple sont automatiquement converties en chaîne de caractères.

System.out.printf

La version 1.5 de java introduit une nouvelle méthode permettant de produire des messages formatés sur la sortie standard. Cette methode fonctionne de manière similaire à la fonction printf du langage C.

System.out.printf("L'age de la personne est %d , son poids %5.2f kg\n", age, poids);

produit sur la console la chaîne : L'age de la personne est 12 , son poids 33,33 kg

Bien que les chaîneq de formatage soient dans une large mesure similaires à celle utilisée en langage C, certaines adaptions ont été effectuées pour s'adpater au langage JAVA et exploiter certaines de ses caractéristiques (voir la syntaxe détaillée des règles de formattage)