Prva JAVA aplikacija |
Postoje dve kategorije JAVA programa:
1. Java apleti (applets)
2. Java aplikacije
Java apleti su programi ugrađeni u HTML dokumente koji se izvršavaju
u lokalnom Web navigatoru. Za njihovo izvršavanje neophodno je da navigator
poseduje ugrađene JAVA sposobnosti, ali se mogu pogledati i pomoću alata
zvanog appletviewer koji dolazi u okviru JDK
.
Java aplikacije ne zahtevaju navigator da bi se pokrenuli, a
neki Java program može biti aplet ili aplikacija ili jedno i drugo u zavisnosti
od funkcionalnosti koja je ugrađena u program.
Primer 1: Java aplikacija za primer ispisa niske Zdravo, svete na standardni izlaz.
class ZdravoSvete {
public static void main (String args[])
{
System.out.println("Zdravo, svete");
}
}
Postoje dva suštinska dela ovog programa:
definicija: kompletan program je zatvoren u definiciju
klase koja se ovde zove ZdravoSvete
telo programa: kao i u C/C++ funkcija main(
) je prva funkcija koja se izvršava po startovanju programa.
1. Nakon što je program unet u editor (ma koji editor),
izvorna datoteka se čuva sa ekstenzjom .java
2. Praksa je da se izvornom kodu daje
ime klase koja je u njemu definisana, dakle datoteku nazovite ZdravoSvete.java
3. Kompajlirajte datoteku javac kompajlerom,
tj. u komandnoj liniji otkucajte
javac ZdravoSvete.java
4. Kompajler će kao izlaz dati fajl istog imena
sa ekstenzijom .class (ekstenzija izvršnih Java programa)
5. Pokrenite program java interpreterom, tj. u
komandnoj liniji otkucajte
java ZdravoSvete
Dakle, postoje tri suštinska koraka u stvaranju/izvršavanju programa:
1. pisanje kôda
2. kompilacija izvornog kôda
3. pokretanje kompajliranog kôda
Pod UNIXom kompilacija i izvršavanje izgleda ovako:
javac ZdravoSvete.java
java ZdravoSvete
Zdravo, svete
Ako se na računaru Java kompajler (javac), Java interpreter (java) i
ostali alati nalaze u direktoriju /nesto/java/bin, onda dodati putanju
direktorijuma u $PATH promenljivu:
% export PATH=$PATH:/nesto/java/bin
Pod Windows-om mora se koristiti DOS-shell pri upotrebi JDK:
C:> javac ZdravoSvete.java
C:> java ZdravoSvete
Zdravo, svete
C:>
Pri tom se podesi vrednost promenljive PATH tako da sadrži adekvatni
direktorijum gde je instaliran jdk, npr . . .;c:\nesto\jdk1.4.0_02\bin\;
. . . (definisana u odgovarajućoj liniji datoteke autoexec.bat ili se podesi
vrednost putem
Start => Settings => System=> Environment Variables => PATH )
/******Primetite upotrebu .java ekstenzije kod kompajliranja, ali
ne i .class ekstenzije kod izvršavanja!!!***********/
Ispis na standardni izlaz
U prethodnoj aplikaciji za ispis poruke Zdravo, svete na standardni izlaz je upotrebljen metod println, tj. System.out.println("Zdravo, svete");
Za ispis linije koristi se metod println(...) iz klase PrintStream.
U našem prvom Java programu
System.out.println() ispisuje sadržaj toka standardnog izlaza
System.out
klase System, u ovom slučaju tekst poruke iza kog sledi separator linije.
Zavisno od platforme to moze biti:
carriage return(ASCII 13, \r) i linefeed (ASCII 10, \n) na DOS/Windows
linefeed na UNIX
carriage return na Mac-u
System.err.println( ) ispisuje sadržaj na standardni tok za poruke o grešci System.err.
Moguće je konkatenirati niske koje su argumenti metode println()
pomoću znaka +, npr.
System.out.println("Ucitano je " + args.length + "argumenata
s komandne linije");
gde args.length predstavlja broj argumenata komandne linije.
Ako se koristi print(
) umesto println(), onda nema znaka za prelaz
u novi red nakon ispisa, npr.
System.out.print("Ucitano
je ");
System.out.print(args.length);
System.out.print("
argumenata s komandne linije");
System.out.println();
System.out.println() prekida liniju i pokreće ispis, te se ništa neće
ispisati na ekranu
dok god se ne pojavi znak prelaza u novi red.
Prva linija aplikacije našeg primer glasi
public static void main
(String args[])
Aplikacije u Java-i iamju f-ju main od koje i počinje izvršavanje.
public čini aplikaciju javnom (dostupnom spolja), tj. iz konzole.
Java program se sastoji iz niza naredbi unutar bloka omeđenog
vitičastim zagradama. U našem primeru to je metod println.
main (String args[])
pod imenom args definiše niz stringova koji su parametri komandne linije.
Niz args[] sakuplja sav tekst komandne linije otkucan iza imena programa
i kad se pokrene program, onda args[0] sadrži prvi string komandne linije,
..., jer ime klase nije uključeno u listu argumenata.
Argumenti komandne linije se, dakle, mogu preneti u program
i to kao niz stringova args. Početni indeks svakog niz je nula kao u C/C++.
Npr, ako tekst komandne linije glasi
java stampaj Zdravo
Pero
onda args[0] je string "Zdravo", args[1] je string "Pero", dok
args.length je 2.
Svi argumenti komandne linije prenose se kao stringovi, nikad kao brojevi. Kasnije će prikazati konverzija stringova u brojeve.
U Java-i postoje dve klase za rad sa tekstom i njegovo pohranjivanje: String, StringBuffer.