public class Hello {
public static void main(String[] args) {
System.out.println("Ahoj!");
}
}
Tomáš Pitner, Radek Ošlejšek
V Javě sice existuje interaktivní (tzv. REPL read-eval-print-loop) prostředí,
většinou však kód napíšeme do souboru, uložíme, přeložíme a spustíme.
Zdrojový kód každé veřejné (public
) třídy je umístěn v jednom souboru
např. třída Hello
je v Hello.java
Postup:
vytvoření zdrojového textu (libovolným editorem)
překlad (nástrojem javac
)
spuštění (nástrojem java
)
(anebo totéž jednodušeji zelenou šipkou v některém z IDE, třeba v IntelliJ IDEA)
javac
překladač, tj. Hello.java
→ Hello.class
java
(nebo jexec
) spouštěč přeloženého bytecode
javadoc
generátor dokumentace
jar
správce archivů JAR (sbalení, rozbalení, výpis)
Pod Windows to jsou .exe soubory java , javac … umístěné v podadresáři bin instalace Javy. |
Máme nainstalován Java SDK 8 (jen příklad, funguje i s dalšími verzemi)
Jsme v adresáři c:\devel\pb162
, v něm je soubor Hello.java
Spustíme překlad — javac Hello.java
— název souboru je včetně přípony .java
Je-li program správně napsán, přeloží se "mlčky"
Vytvoří se soubor Hello.class
public class Hello {
public static void main(String[] args) {
System.out.println("Ahoj!");
}
}
Spustíme program Hello příkazem java Hello
, název třídy je bez přípony .class
V nejnovějších verzích Javy lze spustit rovnou včetně překladu: java Hello.java
, pak se přeloží s hned spustí, viz dále.
Je-li program správně napsán a přeložen, vypíše se Ahoj!
Překlad překladačem javac
(úspěšný, bez hlášení překladače):
Spuštění voláním java
:
Když je tŕída v balíku, tj. na začátku souboru je:
package cz.muni.fi.pb162.hello;
Kompilace a spuštění pak vypadá následovně:
Pro maven projekty (všechny projekty na cvičení) je nutno být ve adresáři src/main/java . |
Počínaje Java 11 lze na jednoduché(!) programy použít přímý postup:
java HelloWorld.java
→ program se přeloží a následně spustí
funguje dokonce i tehdy, nebude-li se třída s metodou main
jmenovat HelloWorld
blíže také 330: Launch Single-File Source-Code Programs
Cesty ke spustitelným programům PATH
musejí obsahovat i adresář <JAVA_HOME>/bin
Např. …;C:\Program Files\Java\jdk9.0\bin
Systémové proměnné by měly obsahovat JAVA_HOME=<adresář Javy>
Např. JAVA_HOME=C:\Program Files\Java\jdk9.0
Možné je nastavit i proměnnou CLASSPATH=<cesty ke třídám>
Např. CLASSPATH=c:\devel\pb162
Java má formát JAR (Java ARchive) pro distribuci programů složených z mnoha tříd.
Je podobný ZIP s pomocnými soubory navíc.
V archívu se deklaruje, která třída (=její metoda main
) se spouští.
Lze pak spouštět jakoby celý archív: java -jar myapp.jar