Opérateur Terniaire en Java
Opérateur Terniaire en Java
com
labo-sun@[Link]
La syntaxe Java
BASES & NOMENCLATURES
[Link]
Ce document est la propriété de Supinfo et est soumis aux règles de droits d’auteurs
La syntaxe Java – Bases & nomenclatures 3 / 21
[Link]
Ce document est la propriété de Supinfo et est soumis aux règles de droits d’auteurs
La syntaxe Java – Bases & nomenclatures 4 / 21
1. Bases
[Link] identificateurs
L’identificateur (traduit de "handle") est le nom que l’on choisit pour appeler un élément comme une
variable, une méthode, une classe ou encore une interface. Ces identificateurs doivent commencer par
une lettre Unicode ou encore un underscore "_".
• abstract • int
• boolean • interface
• break • long
• byte • native
• case • new
• catch • null
• char • package
• class • private
• continue • protected
• const • public
• default • return
• do • short
• double • static
• else • super
• enum (nouveauté Java 5.0) • switch
• extends • synchronized
• false • this
• final • throw
• finally • throws
• float • transient
• for • true
• goto • try
• if • void
• implements • volatile
• import • while
• instanceof
[Link]
Ce document est la propriété de Supinfo et est soumis aux règles de droits d’auteurs
La syntaxe Java – Bases & nomenclatures 5 / 21
[Link] commentaires
Les commentaires sur une seule ligne servent surtout pour de courtes remarques à l’intérieur des
méthodes, celles sur plusieurs lignes sont plus appropriées pour de larges remarques.
Voici une liste non exhaustive de tags que vous allez pouvoir utiliser pour documenter votre code.
Version du
Tag Rôle Elément concerné
JDK
@author permet de préciser l'auteur de l'élément classe et interface 1.0
package, classe, interface,
@deprecated permet de préciser qu'un élément est déprécié 1.1
méthode et champ
représente le chemin relatif du répertoire
{@docRoot} 1.3
principal de génération de la documentation
[Link]
Ce document est la propriété de Supinfo et est soumis aux règles de droits d’auteurs
La syntaxe Java – Bases & nomenclatures 6 / 21
[Link]
Ce document est la propriété de Supinfo et est soumis aux règles de droits d’auteurs
La syntaxe Java – Bases & nomenclatures 7 / 21
Les types de données Java sont regroupés en deux catégories bien distinctes :
• Les types de base : valeurs simples à fonctionnalités intégrées dans le système (constante,
expression, numérique).
La zone mémoire allouée contient la valeur associée à l’identificateur1 (comme un caractère
pour les « char »).
• Les types de références : les données passées grâce à leur référence. Ce sont les types de
classes. Ils englobent les tableaux et les objets.
La zone mémoire allouée à l’identificateur contient un hexadécimal représentant l'adresse
mémoire où sont situés les champs de l'objet.
Celle-ci peut être null.
Les opérations à virgule flottante sont standardisées afin de respecter la norme internationale IEEE
754 qui définit que tous les calculs flottants sont identiques sur toutes les plateformes de Java.
1
Un identificateur désigne une classe, une méthode, une variable
[Link]
Ce document est la propriété de Supinfo et est soumis aux règles de droits d’auteurs
La syntaxe Java – Bases & nomenclatures 8 / 21
int toto;
double t1, t2;
boolean faux;
Les variables déclarées sous la forme de variable d’instance à l’intérieur d’une classe non initialisées
ont une valeur par défaut.
Par défaut les types numériques sont à 0, les caractères au caractère nul '\0', et les variables booléennes
à false.
Remarque : Avant qu’une variable puisse être utilisée, elle doit être initialisée !
Quand un type numérique est utilisé dans le cadre d’une affectation, il peut être étendu à un type plus
important.
Par contre une valeur numérique ne peut jamais être affectée à un type inférieur sans conversion.
short x = 2;
int i = x;
int i = 2;
short x = (short) i;
Dans ce second cas, la conversion explicite permet d’éviter une erreur à la compilation.
Ils sont toujours de type double sauf s’ils sont suivis de la lettre ‘f’ ou ‘F’ qui indique le type float.
double x = 5.23;
float y = 5.125F;
Spécification d’une valeur de type caractère encadrée par des simples quottes ('a'), le caractère
d’échappement étant \, ou encore un numéro de caractère Unicode en hexadécimal.
char x = 'x';
char y = '\'';
char z = '\cafe';
[Link]
Ce document est la propriété de Supinfo et est soumis aux règles de droits d’auteurs
La syntaxe Java – Bases & nomenclatures 9 / 21
En revanche, les noms de variables et de méthodes doivent commencer par une lettre minuscule.
Ex : nomDeMethode(…), maVariable.
En ce qui concerne les noms des packages, ils doivent être entièrement en minuscule.
Ex : [Link]
[Link]
Ce document est la propriété de Supinfo et est soumis aux règles de droits d’auteurs
La syntaxe Java – Bases & nomenclatures 10 / 21
[Link] wrappers
Nous avons vu qu’il existait des types primitifs en java. Cependant il est parfois utile « d’encapsuler »
ses types primitifs afin par exemple de les passer par référence.
Java a donc prévu des classes enveloppes à ces primitives. Voici un tableau récapitulatif des wrappers
disponibles et de leur relation avec les types primitifs :
Ces wrappers ont également d’autres utilités tel la conversion. Si vous souhaiter « parser » (analyser)
une chaîne de caractères vers un entier par exemple il vous faudra utiliser le wrappers : Integer.
[Link] méthodes
Tous comme en C/C++, les méthodes Java comprennent un type de retour, un nom, des parenthèses
avec d’éventuels paramètres, et le code entre accolades.
Cette méthode peut être de plus précédée d’un mot-clé définissant sa visibilité (cf. Essentiels « Les
Classes – Concept & Héritage »)
void maMethode(int i) {
// code
}
[Link]
Ce document est la propriété de Supinfo et est soumis aux règles de droits d’auteurs
La syntaxe Java – Bases & nomenclatures 11 / 21
[Link]
Ce document est la propriété de Supinfo et est soumis aux règles de droits d’auteurs
La syntaxe Java – Bases & nomenclatures 12 / 21
3. Les instructions
[Link] simples
Les instructions simples sont toujours terminées par un point virgule.
Les instructions les plus communes sont les affectations et les appels de méthodes, elles se trouvent
dans des blocs de code délimités par des accolades.
{
int longueur = 10; // déclaration et affectation
float poids; // déclaration de variable
}
Remarque : Les déclarations de variables ont une portée limitée au bloc de code et ne peuvent donc
pas être vues à l’extérieur des accolades où elles ont été déclarées
[Link] conditionnelle
L’expression est de type boolean. La condition est vérifiée (vrai) ou non (fausse).
[Link]
Ce document est la propriété de Supinfo et est soumis aux règles de droits d’auteurs
La syntaxe Java – Bases & nomenclatures 13 / 21
L’expression est comparée à l’étiquette, l’exécution s’effectue jusqu’à la fin du switch sauf bien sur si
une instruction break est rencontrée.
Tout comme en C, l’instruction break provoque la sortie du switch. Si aucune étiquette ne correspond
à l’expression, l’étiquette par défaut est sélectionnée.
int jours = 7;
switch (jours) {
case 1:
[Link]("lundi");
break;
case 2:
[Link]("mardi");
break;
case 3:
[Link]("mercredi");
break;
case 4:
[Link]("jeudi");
break;
case 5:
[Link]("vendredi");
break;
case 6:
[Link]("samedi");
break;
case 7:
[Link]("dimanche");
break;
default:
[Link]("Jour erroné!");
}
Remarque : la variable utilisée avec l’instruction switch doit impérativement être du type int ou
compatible (plus petit).
[Link]
Ce document est la propriété de Supinfo et est soumis aux règles de droits d’auteurs
La syntaxe Java – Bases & nomenclatures 14 / 21
[Link]érations
Forme générale :
while (condition) {instructions};
Forme générale :
do {instructions} while (condition);
L’instruction for ressemble beaucoup à celle du C : on peut ajouter de nouvelles variables dans
l’expression d’initialisation, ces variables auront par contre une durée de vie limitée à la portée de
l’instruction.
Forme générale :
for (initialisation; condition; incrémentation) {instructions;}
[Link]
Ce document est la propriété de Supinfo et est soumis aux règles de droits d’auteurs
La syntaxe Java – Bases & nomenclatures 15 / 21
Il est tout à fait possible de ne spécifier aucun des arguments initialisation, condition et
incrémentation, dans quel cas l’utilisation du mot clé for correspond à une boucle infinie. Vous
pouvez également les omettre individuellement.
Il n’est pas nécessaire que l’instruction incrémentation se reporte impérativement à une opération sur
un compteur : vous pouvez très bien mettre une opération que vous souhaitez voir se répéter à la fin de
chaque boucle.
Remarque : Java ne gère pas l’opérateur « , » (virgule) qui permet de regrouper plusieurs expressions
en une seule.
[Link]
Ce document est la propriété de Supinfo et est soumis aux règles de droits d’auteurs
La syntaxe Java – Bases & nomenclatures 16 / 21
4. Les opérateurs
L’accès ou la référence à des objets, des variables ou des classes, est effectuée grâce aux opérateurs.
Des propriétés de priorité et d’associativité sont affectées aux opérateurs. Des règles de priorités
existent en Java pour définir quels sont les éléments qui peuvent agir avant les autres.
Les opérateurs sont classés en six catégories bien distinctes : affectation, arithmétique, logique,
comparaison, au niveau binaire et ternaire.
En compensation, Java ajoute quelques nouveaux opérateurs comme le "+" pour effectuer des
concaténations de valeurs de type « String ».
Puisque tous les types numériques sont signés, l’opérateur ">>" effectue un décalage de bits à droite
avec une extension pour le signe et l’opérateur ">>>" effectue un décalage de bits à droite sans se
préoccuper du signe.
C’est le stockage de la valeur de droite dans celle de gauche avec le signe "=".
Cet opérateur permet de donner une valeur à une variable.
[Link]
Ce document est la propriété de Supinfo et est soumis aux règles de droits d’auteurs
La syntaxe Java – Bases & nomenclatures 17 / 21
[Link]
Ce document est la propriété de Supinfo et est soumis aux règles de droits d’auteurs
La syntaxe Java – Bases & nomenclatures 18 / 21
Ils permettent de rassembler des expressions de type booléen en indiquant au programme comment
comprendre une condition spécifique :
Leur fonction première est de comparer des expressions à d’autres parties du code.
Java peut exécuter des fonctions mathématiques avec les opérateurs utilisés pour effecteur les calculs
sur les entiers et sur les nombres à virgule flottante. Les signes mathématiques "+", "-", "*" et "/" sont
utilisés.
[Link]
Ce document est la propriété de Supinfo et est soumis aux règles de droits d’auteurs
La syntaxe Java – Bases & nomenclatures 19 / 21
Ces opérateurs agissent sur les binaires. Ils préservent le signe du nombre initial.
Forme générale :
( condition ? condition_validée : condition_invalidé )
[Link]
Ce document est la propriété de Supinfo et est soumis aux règles de droits d’auteurs
La syntaxe Java – Bases & nomenclatures 20 / 21
5. Les tableaux
Les tableaux sont des structures de données qui contiennent des valeurs du même type.
Les tableaux sont marqués à l’aide de crochets [ ].
5.1.Déclaration du tableau
Pour déclarer un tableau en Java on peut placer les crochets avant ou après l’identificateur.
int collection[];
int[] ensemble;
Quand un tableau est déclaré, sa taille n’est pas spécifiée puisque la déclaration de ce tableau
n’engendre pas l’allocation de mémoire.
La taille ne sera définie que lorsque le tableau sera initialisé.
[Link] du tableau
L’opérateur new est utilisé pour allouer de la mémoire et initialiser le tableau.
Quand on initialise un tableau, la mémoire est automatiquement affectée au tableau pour y mettre les
valeurs initialisées ce qui ne nécessite pas l’utilisation de l’opérateur new.
char[] genre= {'h', 'f'};
Vous pouvez définir des tableaux avec autant de dimensions que vous souhaitez.
Pour les tableaux bidimensionnels, le premier élément détermine le nombre de colonnes et le second le
nombre de lignes : [colonnes][lignes].
float[][] dimension = new float[10][10];
// tableau bidimensionnel de 10*10 éléments de type float
int[][] coordonnées = {{1, 3}, {7, 5}};
Remarque : Lorsque vous déclarez un tableau multidimensionnel, vous pouvez omettre la taille des
dimensions sauf pour la première qui est obligatoire.
[Link]
Ce document est la propriété de Supinfo et est soumis aux règles de droits d’auteurs
La syntaxe Java – Bases & nomenclatures 21 / 21
[Link]éder à un tableau
Pour atteindre un élément d’un tableau, il suffit d'indexer la variable du tableau. Pour cela il faut faire
suivre le nom du tableau de l’indice entre crochets.
char premierElement = genre[0]; // 'h'
char deuxièmeElement = genre[1]; // 'f'
Si vous spécifiez un indice incorrect, une erreur (Exception) sera générée. La gestion des erreurs sera
traitée dans un autre cours (Exceptions).
[Link]
Ce document est la propriété de Supinfo et est soumis aux règles de droits d’auteurs