Vous êtes sur la page 1sur 49

Partie2: les Bases de Java

Preparee par Sanaa Faquir


Syntaxe de base
 Un programme en Java est défini comme une collection
d’objets qui communiquent en appelant les méthodes des uns
et des autres.
 Les éléments de base d’un programme Java:
 Objet : Les objets ont des états et des comportements.
 Classe: Une classe peut être définie comme un modèle qui décrit le
comportement/l’état que l’objet de son type prend en charge.
 Méthodes: Une méthode est essentiellement un comportement. Une
classe peut contenir de nombreuses méthodes. C’est dans les méthodes
où les logiques sont écrites, les données sont manipulées et toutes les
actions sont exécutées.
 Variables d’instance : Chaque objet possède son ensemble unique de
variables d’instance. L’état d’un objet est créé par les valeurs affectées à
ces variables d’instance.
Regles de Base

 Sensibilité à la casse :
 Java est sensible à la casse, ce qui signifie que l’identificateur FirstProgram et
firstprogram sont different en Java.
 Noms de classe:
 Pour tous les noms de classe, la première lettre doit être en majuscules.
 Si plusieurs mots sont utilisés pour former un nom de classe, la première lettre de
chaque mot intérieur doit être en majuscules.
 Exemple: class FirstProgram
 Noms de méthode (en C fonction ou procédure):
 Tous les noms de méthode doivent commencer par une lettre minuscule (ex:
accélérer()).
 Si plusieurs mots sont utilisés pour former le nom de la méthode, la première lettre
de chaque mot intérieur doit être en majuscules.
 Exemple : public void maMethode()
Regles de Base
Nom du fichier programme :
 le nom du fichier programme doit correspondre exactement au nom de la
classe.
 Lors de l’enregistrement du fichier, vous devez l’enregistrer en utilisant le
nom de la classe (rappelez-vous que Java est sensible à la casse)
 Les programme java ont une extension .java
 si le nom du fichier et le nom de la classe ne correspondent pas, votre
programme ne se compilera pas.

La methode main()


public static void main(String args[]) { }
 Le traitement du programme Java commence à partir de la méthode
main() qui est une partie obligatoire de chaque programme Java.
Packages en Java

 Chaque classe en Java est contenue dans ce qu’on appelle un


package.
 Les classes qui ne sont pas explicitement placées dans un package
différent se trouvent dans le package «default ».
 Si vous créez une classe dans un package, le code source
commence par une ligne qui spécifie dans quel package se trouve la
classe.
 Par exemple, si la classe se trouve dans un package nommé
my_package, la première ligne du code source sera package
my_package;
Exemple Nom du package qui
contient la classe

Nom de la classe
et du fichier .java

public static void main(String args[]) -


Le traitement du programme Java
commence à partir de la méthode
package basic_files; main() qui est une partie obligatoire
de chaque programme Java
public class FirstProgram {
public static void main(String []args) {
System.out.print("Hello World"); Commentair
//affiche Hello World es en Java
System.out.println("Hello World");
/* affiche Hello World et retourne a la ligne */
}
}
Les identificateurs de Java
 Tous les composants Java nécessitent des noms.
 Les noms utilisés pour les classes, les variables et les méthodes
sont appelés identificateurs.
 Règles de choix des identificateurs:
 Tous les identificateurs doivent commencer par une lettre (A à Z ou a à z),
un caractère monétaire ($) ou un trait de soulignement (_).
 Après le premier caractère, les identificateurs peuvent avoir n’importe
quelle combinaison de caractères.
 Un mot clé ne peut pas être utilisé comme identificateur.
 Plus important encore, les identifiants sont sensibles à la casse.
 Exemples d’identifiants légaux : age, $prix, _valeur, __Hors_Tax.
 Exemples d’identifiants illégaux: 123abc, -prix.
Les variables
▪ Types des variables:
✓ int myNum = 5; // Integer (whole number)
✓ float myFloatNum = 5.99f; // Floating point number
✓ char myLetter = 'D'; // Character
✓ boolean myBool = true; // Boolean
✓ String myText = "Hello"; // String
 Les types de données sont divisés en deux groupes :
➢ Types de données primitifs: byte, short, int, long, float, double,
boolean and char,…
➢ Types de données non primitifs: String, Arrays, Classes, …
Affichage des variables

System.out: standard output stream


Exemple:
System.out.println(“La valeur de a est: “+a);
System.out.print(“Le produit est: “+a*b);
System.out.printf("%.2f",r);
Exemple 1: typecasting

public class Exemple1{


public static void main(String[] args){
double a=10.5;
//int b=a; //erreur de compilation
int b=(int)a; //changement de type
System.out.println(a);
System.out.println(b);
}
}
Les types de variables en Java

Une variable déclarée à


l’intérieur de la classe
mais en dehors du corps
de la méthode est appartenant a la classe et
appelée variable ne peuvent pas être
d’instance. elle n’est pas initialisée qu’une seule fois
déclaré comme static. Ne peut pas être local.
Vous pouvez créer une
copie unique de la
Locale a la classe. variable statique et la
Déclarée dans le corps de partager entre toutes les
la méthode. instances de la classe.
Une variable locale ne L’allocation de mémoire
peut pas être définie avec pour les variables statiques
le mot-clé « static ». ne se produit qu’une seule
fois lorsque la classe est
chargée dans la mémoire.
Exemple 2
public class voiture
{
static int matricule=10;//static variable
void acceler()
{
float v=100;//local variable
}
public static void main(String args[])
{
int c=new voiture1();//instance variable
}
}
Les opérateurs en Java
Priorité

condition ? if true : if false


Exemple 3
public class Exemple6 {
public static void main(String[] args) {
int i,j,k,l;
i= 10; k=10;
j = i++; // j vaudra 10 et i vaudra 11
System.out.println("i="+i+" j="+j);
l = ++k; // l vaudra 11 et k vaudra 11
System.out.println("l="+l+" k="+k);}}
Exemple 4: L’operateur :?
import java.util.Scanner;
public class Exemple4 {
public static void main(String[] args) {
//Checking if marks greater than 35 or not
String status;
int marks;
Scanner sc = new Scanner(System.in);
System.out.print(“Entrez une note");
marks = inputDevice.nextInt();
status= marks>=10 ? “Module valide« : “Module non valide";
System.out.println("Status= " + status);
}
}
Operateur de decalage

<< Décalage vers la gauche


>> Décalage vers la droite avec préservation du signe
>>> Décalage vers la droite sans préservation du signe

• Les opérateurs de décalage s’utilisent sur des entiers et


permettent de déplacer les bits vers la gauche ou vers la droite.
• Puisque la machine stocke les nombres en base 2, un décalage
vers la gauche équivaut à multiplier par 2 et un décalage vers la
droite équivaut à diviser par 2 :
Exemple 5
public class Exemple5 {
public static void main(String[] args) {
int i = 1;
i = i << 1; // i vaut 2 0001->0010 2
System.out.println("i="+i);
i = i << 3; // i vaut 16 0010->10000 16
System.out.println("i="+i);
i = i >> 2; // i vaut 4 10000->00100 4
System.out.println("i="+i);
} }
Les opérateurs bitwise
 Les opérateurs bitwise permettent de manipuler la valeur des
bits d’un entier.

~ Négation binaire

& Et binaire

^ Ou exclusif (XOR)

| Ou binaire
Exemple 5 (suite)
System.out.println("Partie 2: Operateurs Bitwise");
i = 0b1; //0001 en binaire
i = 0b10 | i; // or binaire i vaut 0b11 =3
System.out.println("i="+i);
i = 0b10 & i; // and binaire i vaut 0b10 =2
System.out.println("i="+i);
i = 0b10 ^ i; // xor binaire i vaut 0b00 =0
System.out.println("i="+i);
i = ~i; // negation binaire i vaut -1
System.out.println("i="+i);
Java I/O

▪ Java I/O streams sont des flux de données à partir desquels vous pouvez
lire ou écrire.
▪ Java utilise le concept de flux (stream) pour accélérer les opérations d’E/S.
▪ Un flux d’E/S représente une source d’entrée ou une destination de sortie.
▪ Un flux peut représenter de nombreux types de sources et de
destinations: fichiers disques, périphériques, d’autres programmes et des
baies de mémoire.
▪ Le Stream:
 Un flux (stream) est une séquence de données.
 En Java, un flux est composé d’octets.
 C’est ce qu’on appelle un ruisseau parce que c’est comme un ruisseau d’eau qui
continue de couler.
 En Java, 3 flux standards sont créés automatiquement et sont attachés à la console.
Java I/O streams

System.out: standard output stream


System.in: standard input stream
System.err: standard error stream
Java User Input (Classe Scanner)

 La classe Scanner est utilisée pour obtenir l’entrée


utilisateur et se trouve dans le package java.util.
 la classe java.util.Scanner est une classe utilitaire très
intéressante qui peut fonctionner de différentes
manières.
 On crée un scanner par-dessus un flux (System.in, par
exemple).
 Ensuite, ce scanner permet d'extraire des informations
en spécifiant une ou plusieurs expressions régulières
correspondantes aux données souhaitées.
Les méthodes de la classe Scanner

Methode Description

nextBoolean() Lit une valeur booléenne de l’utilisateur


nextByte() Lit une valeur d’octet de l’utilisateur
nextDouble() Lit une valeur double de l’utilisateur
nextFloat() Lit une valeur en virgule flottante de l’utilisateur
nextInt() Lit une valeur entière de l’utilisateur
nextLine() Lit une valeur String de l’utilisateur
nextLong() Lit une valeur longue de l’utilisateur
nextShort() Lit une valeur courte de l’utilisateur
Exemple 6: La classe java.util.Scanner
import java.util.*; //la librairie util.scanner
public class Exemple2 {
public static void main(String []args) {
int a;
float b;
String s;
Scanner sc = new Scanner(System.in); /* cree un object sc */
System.out.println("Entrez votre nom:");
s = sc.nextLine(); /* Prend une chaine de caractere et l'affecte a s */
//sc.nextLine(); //pour arreter l'ecran
System.out.println("Bonjour "+s); /* Print */
System.out.println("Entrez un entier:");
a = sc.nextInt(); /* Prend un entier et l'affecte a une variable a */
System.out.println("Voici votre entier: "+a); /* Print */
System.out.println("Entrez un reel:");
b = sc.nextFloat(); /* Prend un reel et l'affecte a une variable b */
System.out.println("Voici le reel: "+b); /* Print */ } }
Sous-routines et fonctions prédéfinies
 Les sous-routines en Java sont souvent appelées
méthodes.
 Les noms de sous-routine doivent également
commencer par des lettres minuscules.
 En règle générale, le terme « method » désigne une
sous-routine contenue dans une classe ou dans un
objet.
 Le terme “method” est principalement utilisé dans le
contexte de la programmation orientée objet.
Sous-routine print()
 Exemple de sous-routine ou methode: print().
 System.out.print("Hello World") affiche le message: Hello World.
 System est l’une des classes standard de Java.
 L’une des variables membres statiques de cette classe est
nommée out.
 Puisque cette variable est contenue dans la classe System, son
nom complet est: System.out.
 La variable System.out fait référence à un objet, et cet objet
contient à son tour une sous-routine nommée print.
 Identificateur composé System.out.print fait référence à
l’affichage de sous-routine dans l’objet de la classe System.
 Exemple: System.out.print(“Hello");
Sous-routine exit()

La classe System contient une sous-routine nommée exit.


Dans un programme, cette sous-routine doit être
appelée par System.exit().
L’appel de cette sous-routine mettra fin au programme.
Vous pourriez l’utiliser si vous aviez une raison de mettre
fin au programme avant la fin de la routine principale
(main()).
Sous-routines exit()

 Cette sous-routine prend un entier comme paramètre qui


indique à l’ordinateur pourquoi le programme a été
arrêté: 0, 1 ou -1.
➢ 0 indique une résiliation réussie
➢ 1 ou -1 indique une résiliation infructueuse.
 Exemple:
➢ System.exit(0) indique que le programme s’est terminé
normalement.
➢ System.exit(1) indique que le programme a été arrêté parce
qu’une erreur a été détectée.
Les sous-routines predefinies: Math

 Chaque sous-routine effectue une tâche spécifique.


 Pour certaines sous-routines, cette tâche consiste à calculer ou à récupérer une
valeur de données.
 Les sous-routines de ce type sont appelées fonctions.
 Une fonction retourne une valeur qui doit ensuite être utilisée d’une manière ou
d’une autre dans le programme.
 Exemple:
 Math.sqrt. Cette fonction est une sous-routine de membre statique de la classe
nommée Math.
 Si x est une valeur numérique, alors Math.sqrt(x) calcule et renvoie la racine carrée de
cette valeur.
 Math.PI représente π
La classe Math

Reference: Java Math class with Methods – Javatpoint


La classe Math
Les sous-routines predefinies: String

 Une variable String contient une collection de


caractères entourés de guillemets doubles
 La classe String définit de nombreuses fonctions.
 En voici quelques-unes que vous pourriez trouver utiles:
La classe String
Fonctions Description
s1.equals(s2) renvoie une valeur booléenne: true si s1 se compose exactement de la même
séquence de caractères que s2, et false dans le cas contraire.
s1.equalsIgnoreCase(s2) est une autre fonction à valeur booléenne qui vérifie si s1 est la même chaîne
que s2, mais cette fonction considère que les lettres majuscules et minuscules
sont équivalentes.
s1.length() est une fonction à valeur entière qui donne le nombre de caractères dans s1.
s1.charAt(N) où N est un entier, renvoie une valeur de type char. Il renvoie le nième
caractère de la chaîne.
Positions sont numérotés en commençant par 0: s1.charAt(0) est en fait le
premier caractère, s1.charAt(1) est le deuxième, et ainsi de suite. La position
finale est s1.length() - 1.
s1.indexOf(s2) renvoie un entier. Si s2 se produit en tant que sous-chaîne de s1, la valeur
renvoyée est la position de départ de cette sous-chaîne. Sinon, la valeur
renvoyée est -1.
s1.indexOf(ch) rechercher un caractère particulier, ch, dans s1. Pour trouver la première
occurrence de x à ou après la position N, vous pouvez utiliser s1.indexOf(x,N).
La classe String
Fonctions Description
s1.compareTo(s2) fonction à valeur entière qui compare les deux chaînes.
0 Si les chaînes sont égales,
Négatif si s1 est inférieur à s2,
Positif si s1 est supérieur à s2

s1.toUpperCase() Renvoie une nouvelle chaîne égale à s1, sauf que toutes
les lettres minuscules de s1 ont été converties en
majuscules.
(fonction opposée: toLowerCase())

s1.trim() tous les caractères non imprimables tels que les espaces
et les tabulations sont découpés
LES INSTRUCTIONS CONDITIONELLES EN JAVA

• L'instruction if est une instruction conditionnelle : elle exécute des portions de code en
fonction en fonction qu'une condition soit vraie ou fausse (la condition doit calculer une
valeur booléenne).
• La condition doit être globalement parenthésée, ce qui retire l'obligation d'avoir un autre
mot clé pour débuter le bloc de code dans le cas où la condition est vraie.
• Syntaxe:
if (condition) expression
else expression
Exemple 7
import java.util.*;
import java.util.Scanner;

public class Exemple7 {


public static void main(String []args) {
int a;
Scanner sc = new Scanner(System.in);
System.out.println("Entrez un entier:");
a = sc.nextInt();
if (a>0) System.out.println(a+" est positif"); /* Print */
else
if (a==0) System.out.println(a+" est null");
else System.out.println(a+" est negatif"); /* Print */ }}
L’INSTRUCTION SWITCH

• Une instruction switch, telle qu’elle est la plus utilisée, se


présente sous la forme suivante :
switch (expression)
{
case constant-1 : statements-1i break;
case constant-2 : statements-2; break;
.
.
default: statements-(N+1);
}
LES ITERATIONS EN JAVA

• Les boucles énumérées sont des boucles qui sont utilisées si vous savez
à l'avance combien de fois vous voulez faire une boucle. En Java, cela
s'appelle des boucles for.
• Avec elles, vous pouvez indiquer le nombre d'itérations à effectuer :
1. En tant que valeur entière.
2. Comme résultat d'une expression qui génère une valeur entière.
Exemple 8: calcul de la Moyenne de n notes
public class Exemple8 {
public static void main(String []args) {
int i,n;
float somme=0, note, moy;
Scanner sc = new Scanner(System.in); /* cree un object sc */
System.out.println("Entrez un entier N:");
n = sc.nextInt(); /* nombre des etudiants*/
for (i=1; i<=n; ++i ) {
System.out.println("Entrez la note "+i);
note = sc.nextFloat();
somme=somme+note;
}
moy=somme/n;
System.out.println("Voici la moyenne de la classe: "+moy);}}
LES ITERATIONS EN JAVA

• Les boucles conditionnelles sont également appelées boucles while.


• Dans ce cas, la boucle doit continuer pendant que ("while") ou « aussi
longtemps que ».
• Le nombre de répétitions n'est pas défini par les limites inférieure et
supérieure d'un énumérateur, mais par une condition telle que celle
d'une instruction "if".
• Il en existe deux types :
• "while" ;
• "do... while".
Exemple 9: calcul de la Moyenne de n notes
public class Exemple9 {
public static void main(String []args) {
int i,n;
float somme=0, note, moy;
Scanner sc = new Scanner(System.in); /* cree un object sc */
System.out.println("Entrez un entier N:");
n = sc.nextInt(); /* nombre des etudiants*/
i=1;
while (i<=n)
{
System.out.println("Entrez la note "+i);
note = sc.nextFloat();
somme=somme+note;
i++;
}
moy=somme/n;
System.out.println("Voici la moyenne de la classe: "+moy); } }
BREAK ET CONTINUE

• L’instruction break
• Java fournit une méthode générale pour sortir du milieu de n’importe quelle boucle.
• C’est ce qu’on appelle l’instruction break, qui prend la forme break;.

• L’instruction continue
• liée à break, mais moins couramment utilisée.
• indique à l’ordinateur d’ignorer le reste de l’itération actuelle de la boucle
• Cependant, au lieu de sauter complètement hors de la boucle, il revient au début de la boucle et continue avec
l’itération suivante (y compris l’évaluation de la condition de continuation de la boucle pour voir si d’autres
itérations sont nécessaires).

• break and continue peuvent être utilisé dans les boucles while et do.. while.
• Ils peuvent également être utilisés avec les boucles for.
Exemple 10:
public class Exememple10 {

public static void main(String[] args) {


int i;
for (i=1; i<=10; ++i ) {
if (i==1) {i++; continue;}
if (i%2==0) { System.out.println(i+" est pair"); break;}
} }

Résultat: 4 est pair


LES TABLEAUX EN JAVA

• Les tableaux sont des objets qui stockent plusieurs variables du même type.
• Les tableaux doivent être instancié selon le type des variables qui seront
stockées.
• Exemple:
int tableau[]; string nom[]; char tab[];
• Pour definer la taille du tableau, deux methodes:
int tableau[];
tableau=new int[10];
• Ou
int[] tableau={1,2,3,4,5,6,7,8,9,10}; //initialiser le tableau a 10 elements
String nom[]= {"koko", "toto", "yoyo"};
Exemple 11
public class Exemple11 {

public static void main(String[] args) {


String nom[]= {"koko", "toto", "yoyo"};
int tableau[]=new int[10];
//tableau=new int[10];
for (int i=0; i<tableau.length; i++)
{
tableau[i]=2*i;
System.out.print("tab["+i+"]: "+tableau[i]+"\t");
}
//System.out.println(); //retourner a une nouvelle ligne
System.out.print("\n");//retourner a une nouvelle ligne
for (int i=0; i<nom.length; i++)
{
System.out.println("nom "+i+": "+nom[i]+"\t");}
}}
Le type enum
• Le type enum a été introduit dans Java 5.0.
• Ce type limite une variable à avoir l’une des valeurs prédéfinies.
• Les valeurs de cette liste énumérée sont appelées enums.
• Avec l’utilisation d’enums, il est possible de réduire le nombre de
bugs dans votre code.
• Exemple, si nous considérons une demande pour un magasin de jus
de fruits frais, il serait possible de limiter la taille du verre aux petits,
moyens et grands.
• Cela permettrait de s’assurer qu’il ne permettrait à personne de
commander une taille autre que petite, moyenne ou grande.
Exemple 12
package basic_files;

public class Exemple10 {

enum taille_jus{ SMALL, MEDIUM, LARGE }

public static void main(String args[]){

System.out.println("Taille= " + taille_jus.SMALL);

taille_jus taille=taille_jus.SMALL;
System.out.println("Taille= " + taille);

for (taille_jus t : taille_jus.values()) {


System.out.println(t);
}
}
}
LES MOTS CLES DE JAVA

abstract assert boolean break byte


case catch default Do double
else enum extends final finally
Float For Goto If Implements
Import Int Interface Long Native
New Package Private Protected Public
return Short Static Super Switch
Synchronized This Throw Throws Try
Void Volatile while else
Menu Nom du
package ou
librarie

Java Project Java


modifiers

Source
files Nom de la
classe

Package ou
librairie

Class
firstprogram Execution
de la class

Vous aimerez peut-être aussi