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
""