Tableaux

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[] , boolean[] ...
On accède aux données d'un tableau par leur indice. nomdetableau[i] désigne l'élément d'un tableau appelé nomdetableau, dont l'indice est égal à i.
ATTENTION : le premier élément du tableau a pour indice 0 .

Initialisation et affectation des valeurs d'un tableau.

Première méthode tout-en-un:

int[] tablentier={-12,8,9,-7,46};
déclare, crée et remplit un tableau (ici un tableau d'entier contenant cinq élément) en une seule instruction.
(Le nom du tableau (ici tablentier est au choix du programmeur et suit les mêmes règles que les noms de variable.)
Cette méthode convient pour des tableaux de petite taille.

Seconde méthode : utiliser l'opérateur new pour construire le tableau.

 int[] tablentier;
tablentier=new int[5]; 
Il reste au programmeur à préciser quelles valeurs il veut mettre dans le tableau, en les affectant une par une : tablentier[0]=...; , souvent à l'aide de boucles for.

On peut aussi écrire en une seule ligne.

int[] tablentier=new int[5];

Exemples :
package initial;

public class TableauDEntiers {
	public static void main(String[] args){
		ConsoleTexte mc=new ConsoleTexte();
		 //Création et remplissage d'un tableau d'entiers 
			int[] tablentier1={-12,8,9,-7,46};
	    //Affichage du contenu à l'aide d'une boucle 
     	for (int i=0;i<5;i=i+1){
			mc.ecritln(tablentier1[i]);
		}
		mc.ecritln("fin du premier tableau");
		 //Création d'un tableau d'entiers vide, contenant 25 places 
		int[] tablentier2=new int[25];
		
		 //remplissage à l'aide d'une boucle 
		for (int i=0;i<25;i=i+1){
			tablentier2[i]=i%5; //l'élément d'indice i contiendra le reste de la division entière de i par 5 
		}
		 //Affichage du contenu à l'aide d'une boucle 
      	    for (int i=0;i<25;i=i+1){
			mc.ecritln(tablentier2[i]);
		}
		mc.ecritln("fin du deuxième tableau");
	}
}
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]);
      }
    }

}
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é