Vos suggestions au : webmaster@debutantprogjava.com
Comprendre la programmation et le langage java par des exemples

A.6 ANNEXE A : petite mise au point des notions acquises

Avant de continuer, il m' a semblé utile une petite mise au point.

Jusqu' ici, on a très souvent utilisé le mot fonction. Sachez que, dans certains cas, ce terme a été utilisé de façon incorrecte. Parce que une fonction fournit toujours un résultat. A ce titre, toutes les fonctions de la classe Math sont de véritables fonctions. Aucun abus de langage dans ce cas. Mais des "fonctions" qui ne fournissent pas de résultat n' en sont pas. Il existe une terminologie plus généralite : les méthodes Une fonction est une méthode. Mais lorsqu' une méthode ne fournit pas de résultat, elle n' est pas une fonction. Un bon exemple : la fonction fonction System.out.print() . Elle se contente d' afficher son argument. Elle n' est donc pas une fonction. A partir de maintenant, nous parlerons de méthode. Le mot fonction doit être banni à partir de maintenant. Le mot méthode est utilisé dans la plupart des bouquins que vous consulterez.

Le nom d' une variable, d' une classe, d' une fonction (oh pardon, d' une méthode), ou de quoi que ce soit d' ailleurs en programmation s' appelle un identificateur . Rappelons qu' une variable est un espace mémoire succeptible de contenir une valeur. Pour affecter une valeur à une variable, il est indispensable de la déclarer par un nom et un type : type nom = valeur;

Une constante n' est pas une variable. Mais comme une variable, une constante doit être déclarée par un type et un nom avant d' être affectée par une valeur qui doit rester fixe pendant toute la durée du programme. Attention, avant le type et le nom, il faut commencer par écrire le mot clé final pour déclarer une constante. Le nom d' une contante s' écrit avec toutes les lettres en majuscules. final type NOM = valeur;
Le contenu d' une variable, c' est à dire sa valeur, s' appelle un litéral. Avant d' utiliser une variable, il faut d' abord lui donner une valeur initiale (on dit initialiser). Même si la valeur finale ne sera pas la valeur initiale.

Le contenu d' une méthode s' appelle la définition de cette méthode. La définition d' une méthode c' est l' ensemble de ses instructions. La définition de la méthode principale main(), c' est l' ensemble des instructions d' un programme java.

Quand on affecte une valeur à une variable, la valeur doit être de même type que la variable. Si ce n' est pas le cas, 2 cas se présentent :
- Soit le type de la valeur est un sous-ensemble du type de la variable et la conversion se fait de façon implicite. Exemple : byte b = 125; short s = b; Le type byte est un sous-ensemble du type short. Java convertit le type byte (b) en type short avant de l' affecter à s.
- Soit le type de la valeur est un sur-ensemble du type de la variable et dans ce cas, c' est le programmeur qui convertit explicitement le type de la valeur en le type de la variable. Exemple : short s = 25; byte b = (byte)s; Le type de s est transformé en type byte avant d' être affectée à la variable b. Lorsque la conversion ext explicite, il est possible qu' il y ait perte d' une partie de la valeur.

Le type byte est un sous-ensemble du type short qui lui même est un sous-ensemble du type int qui lui même est un sous-ensemble du type long qui est un sous-ensemble du type float qui est un sous-ensemble du type double.

Le type char est un type numérique dont les valeurs vont de 0 à 255. Chaque caractère correspond à un nombre. Mais quand on le met dans une variable de type char, à l' affichage, on a un caractère. Si on l' additionne avec un type numérique, on obtient forcément un type numérique.

char + char = int * char + byte = int * char + short = int * char + int = int *
char + long = long * char + float = float * char + double = double

byte + char <=> byte + byte <=> byte + short <=> byte + int <=> ça donne toujours un int
byte + long = long * byte + float = float * byte + double = double

short + (char ou byte ou short ou int ) donne toujours un int.
short + long = long * short + float = float * short + double = double

int + (char ou byte ou short ou int) = int
int + long = long * int + float = float * int + double = double

long + (char ou byte ou short ou int ou long ) donne toujours un long
long + float = float * long + double = double

float + (char ou byte ou short ou int ou long ou float) donnent toujours un float
float + double = double

double + (char ou byte ou short ou int ou long ou float ou double) donnent toujours un double

Vous vous rappelez lorsque je vous ai dit qu' en programmation structurée, lorsqu' on utilise une méthode (fonction) dans une classe qui n' est pas celle dans laquelle elle est définie, on écrit le nom de la classe suivi d' un point se suivi du nom de la méthode(fonction).
En programmation orientée objet, on utilise une classe en écrivant le nom de l' objet, suivi d' un point, suivi du nom de la méthode. Bien entendu, nous n' étudions pas encore la programmation orientée objet, mais nous sommes bien obligés d' anticiper un peu. Rassurez-vous, rien de bien compliqué. La classe String est une classe issue de la programmation orientée objet. Ce qui n ' était pas le cas pour la classe Math. Lorque toutes les méthodes d' une classe ont été déclarées avec le mot-clé static, la classe ne servira jamais à fabriquer les objets (exemple : classe Math). Lorsqu' au moins une méthode d' une classe n' a pas été déclarée avec le mot-clé static , alors cette peut servir à fabriquer des objets. C' est justement le cas de la classe String. Une variable de type String est donc une variable de type Objet. En réalité, on dit plutôt une variable de type classe. La variable en question est un objet. Lorsque j' écris : String chaine = "bonjour"; chaine est le nom de l' objet. Une méthode de la classe String permet de transformer toutes les lettres de la chaine de caractères en majuscules. Cette méthode s' appelle toUpperCase(). Si je veux le contenu de la variable chaine soit "BONJOUR", c' est à dire toutes les letres en majuscules, j' applique la méthode toUpperCase() à l' objet chaine en faisant ceci : chaine = chaine.toUpperCase(); Nom de l' objet, suivi d' un point, suivi du nom de la méthode. Ceci dit, certaines méthodes de la classe String comme celles de nombreuses classes servant à fabriquer des objets sont définies avec le mot-clé static. Dans ce cas, on fait comme avec la classe Math. On écrit le nom de la classe, suivi d' un point, suivi du nom de la méthode. Pour cette raison, lorsque je vous parlerai d' une méthode, j' indiquerais la façon dont elle est déclarée. Avec ou sans le mot-clé static.

Quand on utilise une méthode, il ne suffit pas de savoir si elle est déclarée avec le mot static ou pas pour l' utiliser de façon adéquate. Il faut aussi savoir si oui ou non elle fournit un résultat. Ceci afin de savoir si on peut mettre ce résultat dans une variable. Dans le cas où elle fournit un résultat, il faut aussi connaître le type de ce résultat. Ceci afin de ne pas mettre ce résultat dans n' importe quelle variable. Histoire de savoir si on doit passer par l' opération de cast ou alors si la conversion peut se faire de façon automatique (implicite).

Exemple 1 : static double randon() : la méthode random() est déclarée avec le mot static (donc on l' utilise en écrivant Math.randon() ). Ensuite, le mot double précède le nom de la méthode. Cela veut dire que la méthode fournit un résultat de type double. En plus, ses parenthèses sont vides. La méthode ne requiert aucun argument.
Exemple 2 : String toUpperCase() : la méthode toUpperCase() de la classe String n' est pas déclarée avec le mot static. Donc, pour l' utiliser, on est obligé de crée un objet. Puis de l' appliquer à la méthode en écrivant : nom de la méthode suivi d' un point et suivi du nom de la méthode.

Sans plus tarder, passons en revue quelques méthodes de la classe String

Débutants Java - initiation à Java - Les bases de java
débutant java - initiation à Java
www.vivrenfrance.com
débutants java - initiation à Java - débuter en java - java débutant java - comment débuter en java- programmer en java - débutants programmation - langage java pour débutants- cours de java pour débutants - cours de java -
.....