Wykonanie kodu Java krok po kroku: pętle, tablice i napisy
Kod w Javie wykonuje się instrukcja po instrukcji, a każda zmienna ma zadeklarowany typ: int, double, boolean, char albo String. To narzędzie zatrzymuje się po każdej instrukcji i pokazuje wartości zmiennych oraz tekst wypisany przez System.out.print i System.out.println. Nie trzeba pisać klasy ani metody main: wystarczy sam fragment z arkusza, choć pełny program też zadziała.
Tablica utworzona przez new int[10] ma dziesięć elementów wypełnionych zerami, a jej rozmiar podaje pole length. Indeksy idą od zera, więc ostatni element ma numer 9. Sięgnięcie dalej kończy program wyjątkiem ArrayIndexOutOfBoundsException, który da się złapać w bloku try i catch.
Napisy porównuje się metodą equals. Dwa znaki równości sprawdzają, czy to ten sam obiekt, a nie czy tekst jest taki sam, więc napis zbudowany w trakcie działania programu nie jest równy literałowi o tej samej treści. Znak typu char jest liczbą: wyrażenie 'a' + 1 daje 98, a nie literę b.
Silnik obsługuje zmienne, operatory, warunki, pętle, tablice, napisy, metody statyczne, listę ArrayList i podstawowe wyjątki. Nie ma jeszcze klas z obiektami i nie czyta z klawiatury, więc zamiast klasy Scanner wpisuje się wartość wprost.
Przykład: czym pętla for wypełni tablicę
1
Kod: int[] tablica = new int[10]; int j = 2; for (int i = 0; i < 10; i++) { tablica[i] = j; j += 2; }
2
W pierwszym obrocie do elementu o indeksie 0 trafia wartość 2, a j rośnie do 4.
3
W każdym kolejnym obrocie do tablicy trafia bieżące j, po czym j rośnie o 2.
4
Po dziesięciu obrotach tablica zawiera kolejne liczby parzyste: 2, 4, 6 i tak dalej aż do 20.
Najczęstsze pytania
Dwa znaki równości sprawdzają, czy obie zmienne wskazują ten sam obiekt. Metoda equals porównuje treść napisów. Do sprawdzania tekstu zawsze używa się equals.
Zero. Tablica utworzona przez new int[5] jest od razu wypełniona zerami, tablica typu boolean wartościami false, a tablica napisów wartościami null.
Liczbę 98. Znak ma w Javie wartość liczbową, litera a to 97, a dodawanie daje wynik typu int. Żeby dostać literę b, trzeba rzutować: (char)('a' + 1).
Nie. Narzędzie przyjmuje same instrukcje, tak jak stoją w arkuszu. Pełny program z klasą i metodą main również się wykona.