Laboratorium z informatyki sem.II/ćw.4 Wydział Transportu PW 2020/21
Materiały do użytku wewnętrznego strona 1
M
ATERIAŁY POMOCNICZE DO ĆWICZENIA4 Tablice
Tablica - to ciąg zmiennych tego samego typu, opisanych jedną wspólną nazwą.
Elementy tablicy identyfikuje się je za pomocą indeksów.
Dostęp do poszczególnych elementów tablicy odbywa się za pomocą operatora indeksowania [].
Indeksy są liczone od zera.
Każda tablica ma właściwość length, podającą rozmiar tablicy (liczbę jej elementów).
Tworzenie tablicy składa się z dwóch etapów:
1) deklaracja zmiennej referencyjnej tablicy w postaci typ[] nazwa
2) utworzenie obiektu tablicy z użyciem operatora new, w postaci new typ[n], gdzie n jest liczbą elementów
int[] t = new int[5]; lub int t[] = new int[5];
Java obsługuje tablice wielowymiarowe, które posiadają dwa lub więcej indeksów.
Ogólna postać instrukcji deklarującej i tworzącej tablicę N-wymiarową ma postać:
typ[][]...[] nazwa = new typ[n1][n2]...[nN];
Przykład instrukcji tworzącej tablicę o dwóch wymiarach:
int[][] w = new int[4][5]; lub int w[][] = new int[4][5];
Wymiary tablicy mogą być dynamicznie wyznaczane w programie jako wartości zmiennych lub wyrażeń, np.:
int[][] w = new int[m][n]; lub int x[]= new int[m*n];
Można tworzyć tablicę o zadanych w programie wartościach elementów za pomocą literałów tablicowych, przypisując jej elementom wartości początkowe w nawiasach klamrowych. Nie jest wtedy potrzebne użycie operatora new, np.:
double[] y = {3.5, 10, 0, 11.2, 4.75}; int [] [] z = {{2, 3},{-4, 5},{0, -2}};
W aplikacji utworzyliśmy w ten sposób tablicę b, inicjując jednocześnie wartości jej elementów następująco:
int[] b = {3, -5, 0, -9, 4, 11};
Rozszerzona instrukcja pętli for
Jeśli chcemy wykonać jakieś operacje dla każdego elementu tablicy (lub innych dynamicznych struktur danych), można zbudować pętlę wykorzystując instrukcję for w rozszerzonej postaci (enhanced for lub for-each).
Do przeglądania wszystkich elementów tablicy można zastosować pętlę:
for ( typ_zmiennej nazwa_zmiennej : nazwa_tablicy) { // instrukcje wykonywane dla każdego elementu tablicy }
Zadeklarowana zmienna musi być tego samego typu co elementy przechowywane przez tablicę. Podczas każdej iteracji (pojedynczego wykonania pętli) pobierana jest kolejna wartość z tablicy; zostaje ona przypisana zadeklarowanej zmiennej. W naszym programie zastosowaliśmy tę zwięzłą postać instrukcji for aby wyświetlić wszystkie elementy tablicy t:
for (int x : t){ System.out.print(x+" ");
Typ boolean
Typ boolean reprezentuje dwie wartości logiczne: true (prawda) i false (fałsz). Zmienne typu boolean stosujemy do przechowywania wartości wyrażeń logicznych, wykorzystywanych przy sprawdzaniu warunków w instrukcjach.
Deklaracja zmiennej logicznej a może mieć postać:
boolean a;
Jeśli jednocześnie nadajemy zmiennej wartość początkową, to możemy ją zadeklarować w poniższy sposób, np.:
boolean b = true;
W ćwiczeniu zadeklarowaliśmy w ten sposób zmienną jest inicjując ją wartością false: boolean jest = false;.
Operator trójargumentowy ? :
Operator warunkowy trójargumentowy ma postać:
warunek ? wyrażenie1 : wyrażenie2
Jeśli warunek ma wartość true, obliczane jest wyrażenie1 , w przeciwnym przypadku obliczane jest wyrażenie2.
W naszym programie wykorzystaliśmy ten operator do określenia napisu wyświetlanego jako wynik wyszukiwania.
Instrukcja:
String s= jest ? "jest element " : "brak elementu ";
upraszcza zapis równoważnych instrukcji wykorzystujących if … else:
String s;
if (jest) s = "jest element "; else s = "brak elementu ";
Instrukcja break
Instrukcja break przerywa wykonywanie instrukcji for, while, do – while i switch. Dla pętli for, while i do-while
instrukcja break powoduje zakończenie powtórzeń i natychmiastowe przejście do kolejnej instrukcji za pętlą.
W przypadku pętli zagnieżdżonych, instrukcja break powoduje przerwanie tylko tej pętli, w której została umieszczona.
Instrukcja continuew pętlifor