Deklaracja:
int[] t = {3,5,7};
Deklaracja alternatywna:
int[] t = new int[3]; t[0] = 3; t[1] = 5; t[2] = 7;
Ilustracja:
0 1 2 t --> [3][5][7]
Odczyt i zapis z tablicy:
int wyraz = t[1]; // wyraz = t[1] = 5 // odczyt t[1] = wyraz; // t[1] = wyraz = 5 // zapis
Wyjaśnienia:
t[i] - i-ty wyraz tablicy czyli zawartość i-tej komórki
i - indeks komórki tablicy
t.length - liczba komórek tablicy
t.length-1 - indeks ostatniej komórki tablicy
Wybrane własności:
t[0] == 3 true t[1] == 5 true t[2] == 9 false t.length = 3 t.length-1 = 2
Tablice jednowymiarowe możemy utożsamiać z wektorami.
/* Tablica.java */ public class Tablica { public static void main(String[] args) { // tworzymy n-elementową tablicę liczb całkowitych typu int int n = 3; int[] tab = new int[n]; // określamy wartości w komórkach tablicy tab[0] = 5; tab[1] = 7; tab[2] = 9; // wypisujemy wartości z komórek tablicy System.out.println("Liczba elementow: " + tab.length); System.out.println("Pierwszy element: " + tab[0]); System.out.println("Drugi element: " + tab[1]); System.out.println("Ostatni element: " + tab[tab.length-1]); } }
Liczba elementow: 3 Pierwszy element: 5 Drugi element: 7 Ostatni element: 9 Press any key to continue...
Zadanie Dokonaj analizy programu Tablica.
n = 3 0 1 2 tab --> [0][0][0] 0 1 2 tab[0] = 5 // tab --> [5][0][0] tab[1] = 7 // tab --> [5][7][0] tab[2] = 9 // tab --> [5][7][9] "Liczba elementow: 3" // tab.length = 3 "Pierwszy element: 5" // tab[0] = 5 "Drugi element: 7" // tab[1] = 7 "Ostatni element: 9" // tab[2] = 9
/* WypiszTablice1.java */ public class WypiszTablice1 { public static void main(String[] args) { int[] tab = {3,4,5,10,18,12}; for (int i = 0; i < tab.length; i++) { System.out.print(tab[i] + " "); } System.out.println(); } }
3 4 5 10 18 12 Press any key to continue...
Zadanie Dokonaj analizy programu WypiszTablice1.
0 1 2 3 4 5 tab --> [3][4][5][10][18][12] i = 0 0 < 6 '3 ' i = 1 1 < 6 '4 ' i = 2 2 < 6 '5 ' i = 3 3 < 6 '10 ' i = 4 4 < 6 '18 ' i = 5 5 < 6 '12 ' i = 6 6 < 6 false ""
/* WypiszTablice2.java */ public class WypiszTablice2 { public static void main(String[] args) { int[] tab1 = {3,4,5,10,18,12}; int[] tab2 = {9,3,4,5,7}; wypisz(tab1); wypisz(tab2); } static void wypisz(int[] tab) { for (int i = 0; i < tab.length; i++) { System.out.print(tab[i] + " "); } System.out.println(); } }
3 4 5 10 18 12 9 3 4 5 7 Press any key to continue...
Zadanie Dokonaj analizy programu WypiszTablice2.
0 1 2 3 4 5 tab1 --> [3][4][5][10][18][12] 0 1 2 3 4 tab2 --> [9][3][4][5][7] * wypisz(tab1) 0 1 2 3 4 5 tab1 --> [3][4][5][10][18][12] i = 0 0 < 6 '3 ' i = 1 1 < 6 '4 ' i = 2 2 < 6 '5 ' i = 3 3 < 6 '10 ' i = 4 4 < 6 '18 ' i = 5 5 < 6 '12 ' i = 6 6 < 6 false "" * wypisz(tab2) 0 1 2 3 4 tab2 --> [9][3][4][5][7] i = 0 0 < 5 '9 ' i = 1 1 < 5 '3 ' i = 2 2 < 5 '4 ' i = 3 3 < 5 '5 ' i = 4 4 < 5 '7 ' i = 5 5 < 5 false ""