Extrait du cours les bases du langage Java (Déclaration des données)
1. Les bases du langage Java
1.1 Introduction
Nous traitons Java d’abord comme un langage de programmation classique. Nous aborderons les objets ultérieurement.
Dans un programme on trouve deux choses
– des données
– les instructions qui les manipulent
On s’efforce généralement de séparer les données des instructions :
1.2 Les données de Java
Java utilise les types de données suivants:
• les nombres entiers
• les nombres réels
• les caractères et chaînes de caractères
• les booléens
• les objets
1.2.3 Déclaration des données
1.2.3.1 Rôle des déclarations
Un programme manipule des données caractérisées par un nom et un type. Ces données sont stockées en mémoire. Au moment de la traduction du programme, le compilateur affecte à chaque donnée un emplacement en mémoire caractérisé par une adresse et une taille. Il le fait en s’aidant des déclarations faites par le programmeur. Par ailleurs celles-ci permettent au compilateur de détecter des erreurs de programmation. Ainsi l’opération x=x*2; sera déclarée erronée si x est une chaîne de caractères par exemple.
1.2.3.2 Déclaration des constantes
La syntaxe de déclaration d’une constante est la suivante :
finaltype nom=valeur; //définit constante nom=valeur
ex : final float PI=3.141592F;
1. La lecture du programme sera plus aisée si l’on a donné à la constante un nom significatif :
ex : final float taux_tva=0.186F;
2. La modification du programme sera plus aisée si la « constante » vient à changer. Ainsi dans le cas précédent, si le taux de tva passe à 33%, la seule modification à faire sera de modifier l’instruction définissant sa valeur :
final float taux_tva=0.33F;
Si l’on avait utilisé 0.186 explicitement dans le programme, ce serait alors de nombreuses instructions qu’il faudrait modifier.
1.2.3.3 Déclaration des variables
Une variable est identifiée par un nom et se rapporte à un type de données. Le nom d’une variable Java a n caractères, le premier alphabétique, les autres alphabétiques ou numériques. Java fait la différence entre majuscules et minuscules. Ainsi les variables FIN et finsont différentes.
Les variables peuvent être initialisées lors de leur déclaration. La syntaxe de déclaration d’une ou plusieurs variables est :
identificateur_de_type variable1,variable2,…,variablen; où identificateur_de_typeest un type prédéfini ou bien un type objet défini par le programmeur.
1.2.4 Les conversions entre nombres et chaînes de caractères
Voici un programme présentant les principales techniques de conversion entre nombres et chaînes de caractères. La conversion d’une chaîne vers un nombre peut échouer si la chaîne ne représente pas un nombre valide. Il y a alors génération d’une erreur fatale appelée exceptionen Java. Cette erreur peut être gérée par la clause try/catchsuivante :
try{
appel de la fonction susceptible de générer l’exception
} catch (Exception e){
traiter l’exception e
}
instruction suivante
Si la fonction ne génère pas d’exception, on passe alors à instruction suivante, sinon on passe dans le corps de la clause catchpuis à instruction suivante. Nous reviendrons ultérieurement sur la gestion des exceptions.
1.3.3 Exemple d’entrées-sorties
Voici un programme d’illustration des opérations d’entrées-sorties clavier/écran :
importjava.io.*; // nécessaire pour l’utilisation de flux d’E/S
public classio1{
public static voidmain (String[] arg){
// écriture sur le flux System.out
Object obj=newObject();
System.out.println(« »+obj);
System.out.println(obj.getClass().getName());
// écriture sur le flux System.err
inti=10;
System.err.println(« i= »+i);
// lecture d’une ligne saisie au clavier
String ligne;
BufferedReader IN=null;
try{
IN=newBufferedReader(newInputStreamReader(System.in));
} catch(Exception e){
affiche(e);
System.exit(1);
}
System.out.print(« Tapez une ligne : « );
try{
ligne=IN.readLine();
System.out.println(« ligne= »+ligne);
} catch(Exception e){
affiche(e);
System.exit(2);
}
}//fin main
public static voidaffiche(Exception e){
System.err.println(« Erreur : « +e);
}
}//fin classe
1.3.4 Affectation de la valeur d’une expression à une variable
On s’intéresse ici à l’opération variable=expression;
L’expression peut être de type : arithmétique, relationnelle, booléenne, caractères
1.3.4.1 Interprétation de l’opération d’affectation
L’opération variable=expression;est elle-même une expression dont l’évaluation se déroule de la façon suivante :
• La partie droite de l’affectation est évaluée : le résultat est une valeur V.
• la valeur V est affectée à la variable
• la valeur V est aussi la valeur de l’affectation vue cette fois en tant qu’expression.
C’est ainsi que l’opération V1=V2=expression est légale. A cause de la priorité, c’est l’opérateur = le plus à droite qui va être évalué.
On a donc V1=(V2=expression).L’expression V2=expressionest évaluée et a pour valeur V. L’évaluation de cette expression a provoqué l’affectation de V à V2. L’opérateur = suivant est alors évalué sous la forme V1=V. La valeur de cette expression est encore V. Son évaluation provoque l’affectation de V à V1. Ainsi donc, l’opération V1=V2=expressionest une expression dont l’évaluation
1 provoque l’affectation de la valeur de expression aux variables V1 et V2
2 rend comme résultat la valeur de expression.
On peut généraliser à une expresion du type : V1=V2=….=Vn=expression
1.3.4.2 Expression arithmétique
Les opérateurs des expressions arithmétiques sont les suivants :
+ addition
– soustraction
* multiplication
/ division : le résultat est le quotient exact si l’un au moins des opérandes est réel. Si les deux opérandes sont entiers le résultat est le quotient entier. Ainsi 5/2 -> 2 et 5.0/2 ->2.5.
% division : le résultat est le reste quelque soit la nature des opérandes, le quotient étant lui entier. C’est donc l’opération modulo.
Il existe diverses fonctions mathématiques :
double sqrt(double x) racine carrée
double cos(double x) Cosinus
double sin(double x) Sinus
double tan(double x) Tangente
double pow(double x,double y) x à la puissance y (x>0)
double exp(double x) Exponentielle
double log(double x) Logarithme népérien
double abs(double x) valeur absolue
…….
Cours les bases du langage Java (Déclaration des données) (3364 KO) (Cours PDF)