Java (2) - První program

Zatímco minulý díl byl motivační a měl objasnit, proč je Java správná volba, v tomto dílu si nainstalujeme vše potřebné pro vývoj a předvedeme první javovský program. Jak již je v tutoriálech zvykem, bude to „Hello world“. Na závěr si řekneme něco o tom, jak vlastně javovské programy fungují.

Instalace

První věcí, kterou budeme potřebovat je Java SE Development Kit, což je běhové prostředí Javy a sada nástrojů nutných pro vývoj Java aplikací (kompilátor, debugger (nástroj pro odstraňování chyb), profiler (nástroj pro ladění) atp.). Java JDK lze stáhnout například ze stránek společnosti Oracle. Aktuální verze v době psaní tohoto článku (srpen 2010) byla 6u21.

Vývojové prostředí

Další věcí, kterou si nainstalujeme je vývojové prostředí (IDE). Jedná se o aplikaci, která integruje vše, co je pro vývoj zapotřebí, což je textový editor, kompilátor, debugger a tak podobně. V Javě lze samozřejmě vyvíjet také z přikazové řádky a kódy editovat pomocí Notepadu, PSPadu a jiných editorů, ale tyto nástroje neposkytují tak kvalitní zázemí a řadu věcí, které má IDE automatizované, budete muset dělat ručně, případně se bez nich úplně obejít.

V tomto seriálu budeme používat IDE Netbeans, které si můžete stáhnout z netbeans.org. Pro potřeby tohoto seriálu si vystačíme s verzí pro Javu SE (v době psaní tohoto článku je aktuální verze 6.9.1). Alternativně můžete použít například IDE Eclipse. Obě tato prostředí jsou zcela zdarma.

Hello world

Po nainstalování Netbeans IDE jej pustíme. Z nabídky File vybereme New Project a zvolíme Java/Java Application. Projekt pojmenujeme jako HelloWorld, dále nic neměníme a stiskneme tlačítko Finish.

Nyní bychom měli před sebou mít připravenou základní kostru aplikace.

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package helloworld;

/**
 *
 * @author Vase Jmeno
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
    }
}

V tento okamžik si nebudeme vysvětlovat všechna kouzelná slova, která před sebou máme a spokojíme se s ujištěním, že to takto má být (vše bude vysvětleno podrobně v dalších dílech). V tomto díle si alespoň ukážeme, co to jsou komentáře.

Komentáře

Komentáře jsou texty, které nejsou javovským kompilátorem zpracovávány, slouží pouze k orientaci programátora, vysvětlujícím pasážím a v neposlední řadě ke generování dokumentace.

Java má dva typy komentářů řádkové a blokové, ty řádkové začínají znaky // a končí koncem řádku. V programu takový komentář můžete vidět na řádce 18. Druhým typem jsou blokové komentáře, které začínají znaky /* a končí znaky */. Vše uvnitř těchto dvojic znaků není kompilátorem zpracováváno. Speciálním případem blokového komentáře je komentář začínající trojicí znaků /**, to je dokumentační komentář, ze kterého se pomocí nástroje JavaDoc vytvoří dokumentace k programu (všimněte si direktiv pro tento nástroj např. @author). Blokové komentáře můžeme umístit kamkoliv místo bílého znaku (tj. nesmíme je umístit doprostřed slova).

Zkusme si nyní obohatit zdrojový kód několika vlastními komentáři.

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package helloworld;

/**
 * Toto je moje prvni aplikace, bude vypisovat vetu Hello world.
 * @author Pavel Micka
 */
public class Main {

    /**
     * Toto je vstupni bod teto aplikace
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        /*
         * Sem budu psat kod, ktery onu kouzelnou vetu vypise 
         */
        //toto je radkovy komentar
        //muze jich byt i vice pod sebou
    }

}

Výpis textu

Pro samotný výpis řetězce Hello world použijeme volání System.out.println(), které umístíme do vstupního bodu aplikace - metody main. Jako parametr tomuto volání předáme (vložíme do závorek) výše zmíněný řetězec (v Javě jsou řetězce vždy umístěny do horních uvozovek).

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package helloworld;

/**
 * Toto je moje prvni aplikace, bude vypisovat vetu Hello world.
 * @author Pavel Micka
 */
public class Main {

    /**
     * Toto je vstupni bod teto aplikace
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        System.out.println("Hello world");
    }

}

Pro spuštění aplikace a zobrazení výsledku zvolíme v menu Run položku Run Main Project. Nyní by se měl v záložce Output zobrazit výstup programu.

Celý projekt si můžete stáhnout zde.

Jak javovské programy fungují?

Obvykle se programovací jazyky dělí dle způsobu vykonávání jejich kódu na kompilované jazyky a interpretované jazyky. Kompilované jazyky jsou kompilátorem transformovány do strojového kódu, který je přímo vykonáván procesorem. Takto fungují například programovací jazyky C a C++. Výhodou tohoto přístupu je rychlost.

Zdrojové kódy interpretovaných jazyků jsou ponechány v původní podobě a tyto jsou při spuštění zpracovávány a vykonávány speciálním programem, tzv. interpretem. Výhodou tohoto přístupu je přenositelnost (kódy lze beze změny spustit na libovolném počítači, který disponuje interpretem daného jazyka). Příkladem interpretovaného jazyka je PHP.

Java do tohoto schématu nezapadá, je využívá totiž Just in Time kompilaci, která stojí mezi zmíněnými přístupy. Javovské programy jsou nejprve kompilovány do tzv. bytecodu, který je vstupem pro virtuální stroj (Java Virtual Machine), který tento kód interpretuje. Tento stroj si ale z výkonových důvodů často využívané pasáže kódu nechává zkompilované a uložené (ve strojovém kódu). Při jejich opětovné potřebě používá již zkompilované části (neinterpretuje kód znovu). Tento přístup umožňuje jak přenositelnost, tak náročné optimalizace programu v závislosti na konkrétním běhovém prostředí (architektuře, operačním systému atp.).








Doporučujeme