Uporaba pravega javanskega prevajalnika javac


Sedaj bomo začeli uporabljati prava orodja za Javo.  Uporablja jih tudi JUDO, ki pa je le vmesnik med nami in Javo.  Najprej poiščimo, kje na našem disku se nahajajo javanska orodja. Poiščimo, kje se nahaja "javac.exe". Zapišimo si naslov direktorija (mape). Pri meni je to "C:\jdk\bin\".  Odpri svoj urejevalnik besedila (NotePad,  priporočam NotePad++) in napiši svoj prvi pravi program v Javi. Seveda je to program, ki nas bo pozdravil. Napiši torej:

public class Pozdrav
{
        public static void main(String[] args)
        {
               System.out.println("Pozdravljeni vsi");
        }
}
 

Program imenujmo "Pozdrav.java" in ga shranimo v primeren direktorij, na primer "C:\primeri".

Če smo na računalniku z MS Windows, odprimo program  "Command prompt" (ki omogoča pisanje ukazov DOS). Odpre se črno okno, v katerem lahko vtipkamo naše ukaze.

Premaknimo se v mapo (direktorij), kjer je naš program. V našem primeru torej vtipkamo

cd  C:\primeri

Prevajanje programa v Javi

Ko vstopiš v mapo s primeri dobiš na zaslonu ukazno javko (command prompt) torej nekaj takega:

C:\primeri>

Poklicati moramo sedaj prevajalnik, imenuje se javac. V isti vrstici povemo še ime programa, ki ga prevajamo. V našem primeru je ta shranjen v datoteki Pozdrav.java

Sam moram torej natipkati:

C:\primeri> C:\jdk\bin\javac Pozdrav.java

Pojasnilo: Kar je tu v belem, napiše računalnik (ukazna javka), kar je v rumenem, pa sem vtipkal jaz. Kliknem še na tipko Return.

Če se nisem zmotil, mi računalnik ne javi nič.  Sicer pa pove, katere napake smo naredili. in v kateri vrstici so napake.

C:\primeri> C:\jdk\bin\java Pozdrav


Na zaslonu dobimo izpis

Pozdravljeni vsi

In za tem spet  ukazno javko.

Pravkar smo prevedli in izvajali naš prvi program v Javi.. javac je ukaz, ki povzroči prevod programa,  zapisanega v datoteki, ki ima podaljšek ".java". V našem primeru je to datoteka Pozdrav.java.  Prevod je potreben, saj računalniki sami po sebi Jave in podobnih jezikov ne razumejo. Program prevedejo v njim razumljiv jezik, ki je zapisan dvojiško.  Po prevodu dobimo torej nekaj temu podobnega:


010100101000101010 01010100101010 101010101010 101000001 01111000110000111 0001010010101010010 01010101010100000101010010111010101000 0001000010001000011 01010101010010101 01010101010000010


Izvajanje programa v javi

Program smo prevedli, nato pa ga hočemo sprožiti in izvajati. To dosežemo z ukazom java, kateremu sledi ime programa, ki ga želimo izvesti.  v našem primeru je to program Pozdrav.

Naučili smo se torej prevajati in izvajati prave javanske programe. Analizirajmo sedaj kodo našega programa:

Prva vrstica : "public class Pozdrav" - napove oziroma deklarira ime našega razreda. Oziroma tega, čemur pravimo program. Ime razreda mora biti povsem enako imenu datoteke, v katero ga shranimo. Če bi imeli program (ali bolje rečeno  razred) z imenom Opeka, bi ga morali shraniti kot datoteko Opeka.java. Če se tega ne držimo, javi računalnik, bolje prevajalnik javac napako. 

"public static void main(String[] args) {"  je metoda, ki poganja aplikacijo. Potrebujemo jo v vsakem javanskem programu (razen pri spletnih javanskih apletih). Znotraj metode main zapišemo kodo programa, ki naj se izvaja.

"System.out.println("Pozdravljeni vsi");" - je preprosto daljša oblika stavka  "printLine" , ki smo ga uporabljali pri JUDO.

Sintakso Jave poznamo že iz prejšnjih učnih enot JUDO. Slovnica (sintaksa) je enaka za spremenljivke tipov, kot so  int, double , String. Poznamo že polja in pogojne zanke, kot so while in  for. V poglavjih o grafiki smo dobili že dobre napotke, kako programirati animacije ali celo igre. Namesto poenostavljenih ukazov, ki nam jih je nudil JUDO, bomo to počeli neposredno preko kakšnega grafičnega vmesnika (GUI).

Poglejmo si še enkrat program o zankah, vendar sedaj namesto JUDO uporabimo originalna javanska orodja:  S primernim urejevalnikom napišimo datoteko z imenom Stevec.java in z naslednjo vsebino:

public class Stevec
{
   public static void main(String[] args) {
     // deklaracija spremenljivke
     int stevilo = 0;
     // 8 krat ponovimo
     while( stevilo < 8 )
     {
         System.out.println("stevec je enak " + stevilo);
stevilo ++;
     }
   }
}


Datoteko Stevec.java prevedemo z ukazom 

 [javinaMapa]\javac Stevec.java

Pri tem je  [javinaMapa] mapa (direktorij), kjer se nahaja prevajalnik  javac. Če pri prevodu ugotovimo, da napak ni, lahko program poženemo z ukazom

 [directory]\java Stevec

In kaj dobimo? Naj bi bilo enako kot v lekciji 5.

Vaja

Vrni se k prejšnjim lekcijam in jih ponovi s pomočjo prevajalnika javac in s pravilno javansko sintakso.  Največkrat zadošča, da dodaš na vrhu vrstico, kjer  deklariraš ime razreda, vrstico " void main" pa spremeniš v  "public static void main(String[] args)".
Poleg tega moraš vse besede "printLine" zamenjati z  "System.out.println" . Naj te ne skrbe vrstice  readInt(). O tem bo govora kasneje..