Lisää Javasta

Java-kielessä on paljon ominaisuuksia, eikä kaikkia ole mielekästä käsitellä ohjelmoinnin peruskursseilla. Tässä esitellään joitakin Java-kielen ominaisuuksia, jotka puuttuvat kurssimateriaalista.

Aaltosulut

Jos if-rakenteen tai silmukan sisällä on vain yksi komento, aaltosulut voi jättää pois.

Näin on esimerkiksi seuraavassa koodissa:

if (luku == 0) {
    System.out.println("Nollalla ei voi jakaa!");
}

Koodin voi kirjoittaa lyhyemmin näin:

if (luku == 0)
    System.out.println("Nollalla ei voi jakaa!");

Tai myös näin:

if (luku == 0) System.out.println("Nollalla ei voi jakaa!");

Kuitenkin aaltosulut voi kirjoittaa aina, ja monen mielestä tämä käytäntö tekee ohjelman koodista selkeämmän.

continue-komento

Komennon continue avulla voi siirtyä silmukan seuraavalle kierrokselle kesken silmukan suorituksen.

Tässä on yksi tapa tulostaa parittomia kokonaislukuja:

for (int i = 0; i < 100; i++) {
    if (i % 2 == 0) {
	continue;
    }
    System.out.println(i);
}

Loppuehtoinen silmukka

Javassa on käytössä myös seuraava loppuehtoinen silmukka:

do {
    ...
} while (ehto);

Silmukka toimii muuten samalla tavalla kuin while-silmukka, mutta silmukassa oleva ehto tarkistetaan aina silmukan lopussa.

Seuraava koodi kysyy käyttäjältä salasanaa, kunnes käyttäjä antaa sanan "selleri":

String salasana;
do {
    System.out.print("Anna salasana: ");
    salasana = input.nextLine();
} while (!salasana.equals("selleri"));

switch-rakenne

Jos if-rakenteessa verrataan monta kertaa samaa muuttujaa, vaihtoehtoinen toteutustapa on switch-rakenne.

if (luku == 1) {
    System.out.println("yksi");
} else if (luku == 2) {
    System.out.println("kaksi");
} if (luku == 3) {
    System.out.println("kolme");
}
switch (luku) {
    case 1:
	System.out.println("yksi");
	break;
    case 2:
	System.out.println("kaksi");
	break;
    case 3:
	System.out.println("kolme");
	break;
}

Ehtolauseke

Seuraava lyhennysmerkintä on joskus näppärä:

if (nimi.equals("Aapeli")) {
    luku = 1;
} else {
    luku = 2;
}
luku = nimi.equals("Aapeli") ? 1 : 2;

Lauseke muodostuu kolmesta osasta, joiden välissä ovat merkit ? ja :. Ensin tulee ehto, sitten lausekkeen arvo ehdon ollessa tosi ja lopuksi lausekkeen arvo ehdon ollessa epätosi.