V druhém díle překladu oficiálního Java tutoriálu si vytvoříme svou první aplikaci.
Hello World!
Je čas pro napsání vaší první javovské aplikace! Následují detailní pokyny pro spuštění aplikace v prostředí NetBeans IDE. NetBeans IDE běží na libovolné platformě, kde je dostupné JDK 6. Mezi tyto operační systémy patří Microsoft Windows, Solaris OS, Linux a Mac OS X.
Potřebné vybavení
K napsání vašeho prvního programu budete potřebovat:
- The Java SE Development Kit 6 (JDK 6)
- Pro Microsoft Windows, Solari OS a Linux:
http://java.sun.com/javase/6/download.jsp - Pro Mac OS X:
http://connect.apple.com
- Pro Microsoft Windows, Solari OS a Linux:
- NetBeans IDE
- Pro všechny platformy:
http://www.netbeans.org/downloads/index.html
- Pro všechny platformy:
Vytvoření vaší první aplikace
Vaše první aplikace, HelloWorldApp
, jednoduše zobrazí zvolání „Hello World!“. K napsání této aplikace budete muset:
- Vytvořit IDE projekt
Vytvořením IDE projektu vytvoříte zároveň prostředí, kde budete moct zkompilovat a spustit vaší aplikace. Používáním IDE u projektů se zbavíte většiny konfiguračních problémů, které jsou spojeny s vývojem z příkazového řádku či shellu. Budete moct sestavit a spustit vaši aplikaci vybráním jediné volby z nabídky IDE.
- Přidat kód do vygenerovaného zdrojového kódu
Zdrojový soubor obsahuje kód napsaný v jazyce Java, kterému vy a jiní programátoři rozumí. Jako část vytváření IDE projektu bude vytvořen skelet zdrojového kódu vaší aplikace. Vy poté modifikujete tento soubor přidáním kódu pro zobrazení „Hello World“ zprávy.
- Kompilovat tento kód do souboru .class
IDE spustí kompilátor jazyka Java (
javac
), který vezme váš zdrojový kód a přeloží jej do instrukcí, kterým rozumí Java VM. Tyto instrukce jsou v souboru uloženy ve formě známé jako byte kódy. - Spustit program
IDE spustí spouštěcí nástroj (
java
), který umožní Java VM spustit vaši aplikaci.
Vytvoření IDE Projektu
Abyste vytvořili IDE projekt, musíte:
- Spustit NetBeans IDE.
- Na systémech Microsoft Windows můžete použít položku NetBeans IDE v nabídce Start nebo ikonu na Ploše.
- Na systémech Solaris OS a Linux musíte spustit IDE spouštěcí skript, který se nachází v
bin
adresáři IDE jako./netbeans.
. - Na systémech Mac OS X klikněte na NetBeans IDE ikonu.
- V NetBeans IDE vyberte File → New Project.
- V okně New Project wizard vyberte General category a tam Java Application, jak je ukázáno na následujícím obrázku:
- Na stránce Name and Location udělejte následující (jak je ukázáno na dalším obrázku):
- V poli Project Name zadejte
Hello World App
. - V poli Create Main Class zadejte
helloworldapp.HelloWorldApp
. - Nechejte políčko Set as Main Project zaškrtnuté.
- V poli Project Name zadejte
- Klikněte na Finish.
Projekt je vytvořen a otevřen v IDE. Měli byste vidět následující komponenty:
- Okno Projects, které obsahuje stromový pohled na projekt zahrnující zdrojové kódy aplikace, knihovny, na kterých je projekt závislý, a další.
- Okno Source Editor s otevřeným souborem
HelloWorldApp
. - Okno Navigator, pomocí kterého se můžete rychle přepínat mezi elementy ve vybrané třídě.
Přidání JDK do seznamu platforem (pokud je potřeba)
Může být nutné přidat JDK 6 do seznamu povolených platforem. Pro přidání vyberte Tools → Java Platform Manager, jak je ukázáno na následujícím obrázku:
Pokud nevidíte JDK 6 (které může být zobrazeno jako 1.6 nebo 1.6.0) v seznamu nainstalovaných platforem, klikněte na Add Platform, vyberte místo, kde máte JDK 6 nainstalováno, a klikněte na Finish. Nyní byste ji měly vidět v seznamu nainstalovaných platforem:
Pro nastavení této verze JDK jako výchozí pro všechny projekty, můžete spusti IDE s --jdkhome
na příkazové řádce nebo zadáním cesty k tomuto JDK do proměnné netbeans_j2sdkhome vašeho INSTALLATION_DIRECTORY/etc/netbeans.conf
souboru.
Pro specifikování této verze JDK pouze aktuálnímu projektu vyberte Hello World App v panelu Projects, vyberte File → „Hello World App“ Properties, klikněte na Libraries, poté vyberte JDK 6 under the Java Platform v rolovacím menu.
IDE je nyní kofigurováno pro JDK 6.
Přidat kód do vygenerovaného zdrojového kódu
Když jste vytvářeli projekt, nechali jste políčko Create Main Class zaškrtnuté. IDE proto vytvořilo skelet třídy. Můžete proto přidat zobrazení zprávy „Hello World!“ do vaší aplikace nahrazením tohoto řádku:
// TODO code application logic here
řádkem:
System.out.println("Hello World!"); // Display the string.
Případně můžete také nahradit tyto čtyři řádky:
/**
*
* @author
*/
těmito:
/**
* The HelloWorldApp class implements an application that
* simply prints "Hello World!" to standard output.
*/
Buďte opatrní na velikost znaků (a vs. A)
Pište všechen kód, příkazy a názvy souborů přesně tak, jak vidíte. Jak kompilátor (javac
), tak nástroj java
jsou case-sensitive (rozlišují velká a malá písmena), takže je musíte psát konzistentně.
Tyto čtyři řádky jsou pouze komentáře a nijak neovlivňují chod programu. Pozdější lekce tutoriálu popisují, jak vytvářet a formátovat komentáře.
Uložte vaše změny vybráním File → Save nebo zkratkou Ctrl + S.
Soubor by měl vypadat asi takto:
/*
* HelloWorldApp.java
*
* Created on April 28, 2006, 5:23 PM
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package helloworldapp;
/**
* The HelloWorldApp class implements an application that
* simply prints "Hello World!" to standard output.
*/
public class HelloWorldApp {
/** Creates a new instance of HelloWorldApp */
public HelloWorldApp() {
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
System.out.println("Hello World!"); // Display the string.
}
}
Zkompilování do .class souboru
Pro zkompilování vašeho souboru vyberte Build → Build Main Project z hlavní nabídky IDE.
Otevře se výstupní okno a mělo by vypadat jako na následujícím obrázku:
Jestliže výstup končí větou BUILD SUCCESSFUL
, gratulujeme! Úspěšně jste zkompilovali váš první program!
Jestliže výstup končí větou BUILD FAILED
, pravděpodobně máte chybu v syntaxi. Chyby jsou zobrazovány ve výstupním okně jako odkazy. Dvojklikem přejdete na místo s chybou. Zde můžete chybu opravit a zkusit program zkompilovat znovu vybráním Build → Build Main Project.
Když sestavíte projekt, je vygenerován soubor HelloWorldApp.class
. Chcete-li vědět, kde je vygenerovaný soubor uložen, rozbalte v panelu souborů uzel Hello World App/build/classes/helloworldapp
, jak je ukázáno na následujícím obrázku.
Nyní, když máte sestaven projekt, můžete spustit váš program.
Spuštění programu
Z panelu nabídek IDE vyberte Run → Run Main Project.
Následující obrázek ukazuje, co byste měli vidět.
Gratulujeme! Váš program funguje!
HelloWorld aplikace podrobněji
Nyní již víte, jak sestavit a spustit HelloWorld aplikaci. Nyní by vás mohlo zajímat, jak funguje. Zde je znovu její kód:
/**
* The HelloWorldApp class implements an application that
* simply prints "Hello World!" to standard output.
*/
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!"); // Display the string.
}
}
Hello World aplikace obsahuje tři základní části: komentáře, definici třídy HelloWorldApp
a metodu main
. Následující komentáře vám vysvětlí základní věci ohledně těchto částí, ale pokud budete chtít vědět, jak fungují dopodrobna, budete si muset přečíst zbytek tutoriálu.
Komentáře zdrojového kódu
Tučné části kódu definují komentáře naší HelloWorld aplikace:
/**
* The HelloWorldApp class implements an application that
* simply prints "Hello World!" to standard output.
*/
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!"); // Display the string.
}
}
Komentáře jsou ignorovány kompilátorem, ale jsou užitečné pro jiné programátory a hlavně pro vás. Programovací jazyk Java podporuje 3 typy komentářů:
/* text */
- Kompilátor ignoruje cokoliv od
/*
do*/
. /** dokumentace */
- Tyto značky indikují dokumentační komentář (doc comment). Kompilátor s nimi zachází naprosto stejně jako s komentáři typu
/*
a*/
. Nástrojjavadoc
používá dokumentační komentáře při vytváření automatické dokumentace. Pro více informací na témajavadoc
, se koukněte na JavadocTM dokumentaci. // text
- Kompilátor ignoruje cokoliv od
//
do konce řádku.
Definice třídy HelloWorldApp
Tučně zvýrazněné části textu ukazují definici třídy:
/**
* The HelloWorldApp class implements an application that
* simply displays "Hello World!" to the standard output.
*/
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!"); // Display the string.
}
}
Jak je ukázáno výše, základní definice třídy může vypadat takto:
class název {
. . .
}
Klíčové slovo class
začíná definici třídy nazvané název
. Kód ukázkové třídy je ukázán a je napsán do složených závorek. V příštích dílech si řekneme přesněji, co to třída je a jak třídy využít. Nyní stačí vědět, že každá aplikace začíná definicí třídy.
Metoda main
Tučné části textu ukazují definici metody main
:
/**
* The HelloWorldApp class implements an application that
* simply displays "Hello World!" to the standard output.
*/
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!"); //Display the string.
}
}
V programovacím jazyce Java musí mít každá aplikace metodu main
, jejíž signatura vypadá takto:
public static void main(String[] args)
Modifikátory public
a static
mohou být napsány v libovolném pořadí (public static
nebo static public
), ale je dobrým zvykem používat public static
, jak je ukázáno výše. Místo slova args
můžete použít libovolné jiné, ale většina programátorů používá buďto argv
nebo args
.
Metoda main
je shodná s funkcí main
v jazycích C/C++; jedná se o vstupní bod vaší aplikace a bude zavolána vždy při startu programu.
Metoda main
akceptuje jeden argument – pole elementů typu String
(řetězec).
public static void main(String[] args)
Toto pole je mechanismus, kterým virtuální stroj předává informace vašemu programu. Každý řetězec v poli se nazývá argument příkazového řádku. Argumenty příkazového řádku umožňují ovlivnit běh aplikace bez nutnosti rekompilace. Například program pro řazení dat bude umožňovat uživateli seřadit data v obraceném pořadí pomocí argumentu příkazového řádku – -descending
.
Aplikace HelloWorld ingoruje argumenty příkazového řádku, ale měli byste vědět, že existují a jak k nim získat přístup.
Konečně, řádek:
System.out.println("Hello World!");
používá třídu System
ze základní knihovny k zobrazení zprávy „Hello World!“ na standardní výstup. Části této knihovny (známé jako API) budou popisovány v dalších částech tutoriálu.
V příštím díle
V příštím díle se zaměříme na teorii objektově orientovaného programování.