Algorithmique et langage Java

Types structurés

Les variables de types dit "primitifs" (int, boolean, double,char...) utilisés jusqu'à maintenant ne peuvent contenir qu'une seule information insécable (un nombre, un caractère, un état logique) et occupent toujours le même espace en mémoire : lorsqu'un programme déclare un "int" par exemple, le compilateur sait qu'il faudra réserver un espace mémoire de 4 octets pour le loger.

Les types de variable dit "structurés" peuvent contenir plusieurs informations qui peuvent être de tout type.
Pour loger ces informations, il faut que lors de l'exécution du programme l'espace mémoire nécessaire leur soit réservé.
En Java, cette réservation d'espace mémoire, ou allocation de mémoire, est effectuée à l'aide de l'opérateur spécifique "new".
L'utilisation d'une variable de type structuré est donc forcément précédée de l'étape d'allocation mémoire avec l'opérateur "new". .
Par exemple pour utiliser une variable appelée "truc" de type structuré (fictif) appelé "Machin" :

Machin truc; // déclaration d'une variable appelée "truc"; de type Machin 
truc=new Machin(); // réservation de mémoire pour la variable "truc" 
 // la variable "truc" peut maintenant être utilisée 
On peut aussi effectuer la déclaration et l'affectation en une seule ligne :
Machin truc=new Machin(); // déclaration et réservation de mémoire pour la variable "truc" 
 // la variable "truc" peut maintenant être utilisée 
Toute tentative d'utiliser une variable de type structuré sans avoir préalablement réservé la mémoire nécessaire par l'opérateur "new" entraîne une erreur.
A l'exécution l'erreur sera signalée sous le nom "java.lang.NullPointerException"


En Java les types structurés sont des types Objet : leur nom commence par une majuscule, comme celui du type Machin dans l'exemple ci-dessus, ou comme ConsoleTexte. Il y a cependant une exception à cette règle, ce sont les types array (=tableau,table, ou matrice en français) que nous allons voir maintenant.

 
Licence Creative Commons
licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 non transposé
Auteur : Nathalie Bonnin
Professeur de Physique, Chimie, Informatique au lycée La Martinière Monplaisir (Lyon 8ème)
Contact :
nathalie.bonnin (chez) scientillula.net
Licence Creative Commons
La totalité du contenu du site Scientillula.net appartient à Nathalie Bonnin et est mise à disposition selon les termes de la licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 non transposé