Algorithmique et langage Java

Variables tableaux (array)

Utilisation d'une variable tableau (array)

Les tableaux sont destinés à contenir un ensemble de données de même type. On désigne un type tableau par le type de données qu'il contient suivi de [ ].
Exemples : int[] pour désigner un tableau d'entiers, boolean[] pour créer un tableau de booléens...
Le nom du tableau est au choix du programmeur et suit les mêmes règles que les noms de variable. Par exemple
monTableauDeCaracteres char[];
déclare un tableau nommé monTableauDeCaracteres destiné à contenir des valeurs de type char.
On accède aux données d'un tableau par leur indice. monTableauDeCaracteres[i] désigne l'élément du tableau appelé monTableauDeCaracteres, dont l'indice est égal à i.
ATTENTION : le premier élément du tableau a pour indice 0 .

Allocation,affectation et utilisation des valeurs d'un tableau.

On utilise l'opérateur new pour construire le tableau.

 int[] tablentier;
monTableauDEntiers=new int[5]; 

On peut aussi écrire en une seule ligne.

int[] monTableauDEntiers=new int[5];

Une fois le tableau déclaré, il reste au programmeur à préciser quelles valeurs il veut y placer, en les affectant une par une : monTableauDEntiers[0]=...; , souvent à l'aide de boucles for. Exemples :
package initial;

public class ExempleDeTableau {
	public static void main(String[] args){
		ConsoleTexte mc=new ConsoleTexte();
		
		 //Création d'un tableau d'entiers vide, contenant 25 places 
		int[] monTableauDEntiers=new int[25];
		
		 //remplissage à l'aide d'une boucle 
		for (int i=0;i<25;i=i+1){
			monTableauDEntiers[i]=16*i; //l'élément d'indice i contiendra 16xi 
		}
		 //Affichage du contenu à l'aide d'une boucle 
		mc.ecritln("table de 16 jusqu'à 25x16");
      	    for (int i=0;i<25;i=i+1){
			mc.ecritln(monTableauDEntiers[i]);
		}
	}
}
Autre exemple :
package initial;

public class Palindrome {

	public static void main(String[] args) {
      ConsoleTexte mc=new ConsoleTexte();
	   //creation d'un tableau pouvant contenir 5 valeurs de type char 
      char[] tablechar=new char[5];
	  //remplissage par des données fournies par l'utilisateur, à l'aide d'une boucle 
     for (int i=0;i<5;i=i+1){
    	mc.ecritln("Entre un caractère");
    	tablechar[i]=mc.getChar();  	
      }
	  
	   // affichage du contenu dans l'ordre d'entrée 
     for (int i=0;i<5;i=i+1){
    	mc.ecrit(tablechar[i]);
     }
	    // affichage du contenu dans l'ordre inverse 
     for (int i=4;i>=0;i=i-1){
     	mc.ecrit(tablechar[i]);
      }
    }

}

Il est également possible de déclarer, créer et remplir un tableau en une seule instruction en fournissant la liste des éléments entre accolades, les éléments étant séparés par des virgules.
La taille du tableau est alors automatiquement fixée par le nombre d'éléments fournis. Par exemple

int[] tablentier={-12,8,9,-7,46};
déclare, crée et remplit un tableau d'entier contenant cinq élément avec les valeurs indiquées.
Cette méthode convient pour des tableaux de petite taille.

Les exercices suivants sont à réaliser en écrivant le moins de ligne de code possible (pensez aux boucles).
Créer un tableau de chaînes de caractères contenant les noms de tous les jours de la semaine.
Afficher les noms des jours contenus dans le tableau dans l'ordre, puis dans l'ordre inverse
Créer un tableau vide de 3 chaînes de caractères. Le remplir en demandant à l'utilisateur quels sont ses trois films, ou musiciens, ou loisirs... favoris. Afficher ensuite les trois éléments du tableau.
On peut obtenir une valeur entière aléatoire comprise entre 0 et 100 (exclu) à l'aide du code (int)Math.floor(Math.random()*100) Créer un tableau de 20 réels et le remplir de valeurs entières aléatoires comprises entre 0 et 100. Afficher deux fois de suite le contenu du tableau.
On peut obtenir le nombre d'élément d'un tableau, sous la forme d'un entier int en écrivant son nom suivi d'un point et du mot "length".
Par exemple tablentier.length désigne la longueur du tableau tablentier.
length est un champ du tableau.

Attention l'indice des éléments d'un tableau varie entre 0 et "length"-1

Modifier le code des exercices précédents pour utiliser le champ length au lieu de la valeur numérique de la longueur du tableau.
 
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é