Nous voulons avoir des objets correspondant aux mois.
Devons-nous les créer de la manière suivante ?
Mois jan; Mois fevrier; Mois mars; Mois avril; ... Mois decembre;Le problème serait encore plus difficile pour traiter les objets dont la quantité est plus élevée.
new
length
qui contient la taille du tableau;length - 1
Exemple :
int tab[]; tab = new int[6]; // un tableau de 6 entiers (un entier prend 4 octets en mémoire)
Indice : | 0 | 1 | 2 | 3 | 4 | 5 | |
Éléments : | élément 1 | élément 2 | élément 3 | élément 4 | élément 5 | élément 6 | |
Octets : | 0 | 4 | 8 | 12 | 16 | 20 | 24 |
type[] nomDuTableau; nomDuTableau = new type[combien];
où
0
pour les nombres,
le caractère (char)0
pour les caractères et null
pour les objets
type[] nomDuTableau = { valeur_1, valeur_2, ..., valeur_N };
Exemple :
le codeint a[] = new int[3]; a[1] = 11; a[0] = 3; a[2] = a[1] + 4; System.out.println(a[2]);va afficher la valeur 15
length
), une
erreur est signalée; plus exactement, l'exception
ArrayIndexOutOfBoundsException
est lancée
// On crée et on affiche un tableau des // 100 premières valeurs entières élevées au carré int [] carres = new int[100]; for (int valeur = 0; valeur < 100; valeur++) { int carre = valeur * valeur; carres[valeur] = carre; } for (int valeur = 0; valeur < 100; valeur++) { System.out.println(valeur + "² = " + carres[valeur]); }
La fonction main
affiche la liste des arguments du programme fournis sur la ligne de commande.
public class TesterArguments { public static void main(String [] args) { // On affiche les arguments de la ligne de commande (s'il y en a). int longueur = args.length; if (longueur > 0) { System.out.println("Voici la liste des arguments de la commande :"); for (int i = 0; i < longueur; i++) { System.out.println(args[i]); } } } }
L'exécution du programme à partir de la console avec la commande
java TesterArguments INF1563 INF4023 INF4123 MAT1153 GEN1623
produira les résultats suivants :
Voici la liste des arguments de la commande : INF1563 INF4023 INF4123 MAT1153 GEN1623
Exemple :
int tab[] = new int[3]; // ... imprimer(tab); // ... void imprimer(int[] tableau) { System.out.print (tableau[0] + " "); System.out.print (tableau[1] + " "); System.out.print (tableau[2]); }
La variable tab a été initialisée avec l'appel new int[6]; elle se trouve à l'adresse 2040. Quelle sera l'adresse de la variable tab[3] ?