Java:Hello World
Mis on Hello World?
Hello World on programm, mis kuvab teksti "Hello World" ekraanile. See on tüüpiline programm, mis erinevates programmeerimiskeeltes on esimeseks näiteks.
Koodinäide
Alloleva koodinäite võib kopeerida faili nimega TereMaailm.java ning see peaks käima minema. Siin on välja toodud modifitseeritud variant programmist, mis kuvab tervituse eesti keeles. <source lang="java" line > public class TereMaailm {
public static void main(String[] args) { System.out.println("Tere maailm!"); }
} </source>
Seletus
1. rida public class TereMaailm {
defineerib klassi, mille nimi on "TereMaailm". Javas on oluline, et selle klassi nimi oleks sama mis failinimi. Ehk siis kui failinimi on TereTere.java, siis peab selles sisalduva klassi nimi olema ka TereTere (suured ja väikesed tähed on erinevad! Teretere ja TereTere on erinevad nimed).
Klassinimed kirjutatakse suure algustähega. Kui klassinimi koosneb mitmest sõnast, kirjutatakse need sõnad kokku ning iga uue sõna esimene täht on suur: HelloWorld, MySuperClass.
{ sümbol rea lõpus alustab plokki. Üldiselt klassi koodiplokk sisaldab kogu ülejäänud faili sisu, ehk siis ploki lõpp on faili lõpus. Meie näide on selline, kus plokk lõppeb viimasel real } märgiga.
3. rida public static void main(String[] args) {
kirjeldab ära "main" meetodi. "public static void" osa võib praegu ignoreerida - sellest räägitakse hiljem. Oluline on meetodi nimi "main". "main" meetod pannakse esimesena käima, kui mõnda faili/klassi üritatakse käimam panna. Ehk siis kui meie oma TereMaailm.java üritame kompileerida ja käivitada, pannakse kõigepealt käima "main" meetod (ja selles sisalduv kood).
4. rida System.out.println("Tere maailm!");
on ainuke "main" meetodis sisalduv rida (5. real on "main" meetodi plokki lõpetav } märk). See rida kuvab ekraanile programmeerija poolt määratud teksti (või numbrid vms). Mida täpsemalt see System.out.println teeb, räägitakse hiljem. Esialgu piisab sellest, et teate, et selliselt saab teksti ekraanile trükkida: System.out.println("mingi tekst");
. Lisaks sellele meetodile on ka System.out.print("ilma ln-ta print");
. Nende kahe meetodi vahe on see, et esimene prindib välja teksti ja lisab lõppu reavahetuse (ehk siis kursor liigub järgmisele reale; järgmine väljatrükk läheb järgmisele reale). Teine meetod (print) prindib teksti, aga reavahetust ei lisa (kursor jääb prinditud teksti lõppu; järgmine väljatrükk läheb otse prinditud teksti järgi). Proovi "main" meetodit muuta nii, et prinditakse kaks teksti välja. Seal saad katsetada print ja println vahet.
5. rida }
lõpetab "main" meetodi. Kui "main" meetodis tahaks veel miskit teha, tuleb kõik see kood enne lõpetavat loogelist sulgu lisada. Ehk siis kõik see kood, mis on "main" meetodis { ja } vahel, läheb käivitamisele.
7. rida }
lõpetab klassi.
Jälgi, kuidas kood on "trepitud". Iga ploki sisu on eelmisest taande võrra edasi (paremale) nihutatud. Ehk siis kõik kood, mis on klassi ploki sees (read 2-6), on ühe taande võrra paremal. Need, mis omakorda on "main" meetodi ploki sees (rida 4) on omakorda ühe taande võrra paremal jne.
Trepitud koodi on oluliselt parem ja selgem lugeda. Tänapäeval suudavad kõik IDE'd selle treppimise vajadusel ise ära teha (Eclipse'is näiteks menüüs Source -> Format)