Informace o charakteru, průběhu a hodnocení předmětu. Úvod do jazyka Java a prostředí BlueJ

Obsah

Informace o průběhu, hodnocení, apod.
O předmětu...
Složky hodnocení předmětu
Kritéria hodnocení předmětu
Obsah (sylabus) předmětu
Cvičení
O přednášejícím...
Konzultační hodiny
Informační zdroje
Úvod do prostředí Java
Java jako programovací jazyk...
Z toho plyne, že...
Další charakteristiky
Java jako běhové prostředí
Java pro programátora (1)
Java pro programátora (2)
Hlavní domény Javy (1)
Hlavní domény Javy (2)
Javová platforma
Java je tedy dána...
Vývoj Javy
Specifikace a implementace Javy
Verze Javy - starší konvence
Verze Javy - konvence od verze 5.0 (1.5 postaru)
Aktuální verze
Co je nového v Javě 5.0
Licence k použití (a redistribuci) Javy
Stažení distribuce Sun
Typy distribucí Javy (Sun)
Obsah vývojové distribuce Javy
Obsah vývojové distribuce Javy (2)
Nástroje ve vývojové distribuci
Pomocné nástroje ve vývojové distribuci
První kroky javového programování v prostředí BlueJ
Struktura javového programu
Spuštění a běh javového programu
Prostředí BlueJ
Stažení BlueJ
Instalace BlueJ
Spuštění BlueJ
Nastavení českého prostředí BlueJ
Otevření hotového programu (projektu) v BlueJ
Spuštění hotového programu
Interaktivní vytvoření objektu (instance)
Práce s objektem (instancí)
Úprava hotového programu v BlueJ
Sestavení a spuštění programu bez BlueJ
Základní životní cyklus javového programu - bez BlueJ
Demo "Ahoj!"
Překlad a spuštění "Ahoj!"
Vytvoření zdrojového textu "Ahoj!" ("for dummies")
Překlad "Ahoj!" ("for dummies")
Spuštění "Ahoj!" ("for dummies")
Co znamená spustit program?
Praktické informace (aneb co je nutné udělat)
Praktické informace (aneb co je vhodné udělat)
Odkazy

Informace o průběhu, hodnocení, apod.

  • Souvislosti, prerekvizity, návaznosti

  • Hodnocení a jeho složky

  • Kontakty a konzultační hodiny

  • Odkazy na informační zdroje

O předmětu...

Prakticky zaměřený bakalářský předmět

Cílem je naučit základním principům objektového programování a algoritmizace

Souvisí s

  • IB001 - Úvod do programování (předpokládají se znalosti na úrovni IB001)

  • IB002 - Návrh algoritmů I (v PB162 se prakticky implementují vybrané algoritmy probírané v IB002)

Předpokládají se základní znalosti strukturované algoritmizace a programování (v rozsahu Úvodu do programování), tj. např.:

  • základní příkazy, sestavování jednoduchých výrazů

  • základní datové typy (celá a reálná čísla, logické proměnné, řetězce)

  • základní řídicí struktury - větvení, cykly, procedury/funkce

Složky hodnocení předmětu

Hodnocení má tři složky:

  • 40 bodů - hodnocení úloh řešených samostatně v průběhu semestru (na cvičeních, ve volném čase...)

  • 12 bodů - první písemka řešení jednoduché praktické úlohy přímo u počítače, v době cvičení, zhruba po prvním měsíci až 5 týdnech výuky (říjen). Čas na písemku: i se zadáním během hodinového cvičení. Bližsí info viz ???.

  • 18 bodů - druhá písemka řešení praktické úlohy přímo u počítače, v době cvičení, na konci výuky v semestru (prosinec). Bližsí info viz ???.

  • 30 bodů - třetí písemka řešení rozsáhlejší praktické úlohy přímo u počítače, ve zkouškovém období. Čas na písemku: delší než u prvních dvou. Bližsí info viz ???.

  • Celkem 100 bodů

[Poznámka]Poznámka

písemky v průběhu semestru (tj. první dvě) i úlohy hodnotí cvičící

[Poznámka]Poznámka

docházka do cvičení je povinná, ale netvoří součást bodového hodnocení

Kritéria hodnocení předmětu

Doporučené ukončení je zkouškou. K tomu potřebujete:

  • A 94 - 100 bodů

  • B 88 - 93 bodů

  • C 82 - 87 bodů

  • D 76 - 81 bodů

  • E 70 - 75 bodů

  • F 0 - 69 bodů

K ukončení zápočtem postačí:

  • 60 bodů

Obsah (sylabus) předmětu

Cvičení

Cvičení jsou dvouhodinová, konají se pod vedením příslušných kvalifikovaných cvičících v počítačových učebnách, zpravidla B116, B117 - viz váš rozvrh.

Náplň

  • Hlavním obsahem je konzultovaná samostatná práce na bodovaných úlohách.

  • cvičení jsou dvouhodinová, účast na přednáškách je však přesto žádoucí

  • předpokládá se i jistý netriviální podíl práce mimo cvičení

  • odměnou vám, kromě získaných znalostí a dovedností, budou celkem 4 kr. + za ukončení

O přednášejícím...

Tomáš Pitner

Konzultační hodiny

Primárním konzultačním bodem jsou vaši cvičící. Cvičení jsou vedena mj. právě z důvodu možnosti konzultací.

Konzultace přímo s přednášejícím: vždy v kanc. B307, prosím o dodržování časů:

  • Po 9.00 - 11.00 (preferovaná doba)

  • Čt 13.00 - 14.00

  • nebo jindy, dle dohody

Informační zdroje

Úvod do prostředí Java

  • Úvod, srovnání s jinými, oblasti použití Javy

  • Distribuce, instalace, použití Java SDK

Java jako programovací jazyk...

  • jazyk "3. generace - 3GL" (imperativní jazyk vysoké úrovně)

  • univerzální (není určen výhradně pro specifickou aplikační oblast)

  • objektově-orientovaný (výpočet je realizován jako volání metod/zasílání zpráv objektů)

  • ideovým předchůdcem je C++ (a evt. Delphi) (C++ zbaveno zbytečností a nepříjemností)

  • jednodušší než C++

  • reálným soupeřem je (Microsoft) C# (zatím převážně na platf. Windows)

Z toho plyne, že...

  • co se naučíme v Javě, v C# jako když najdeme...

  • ale teď vážně: Java podporuje vytváření správných návyků v objektovém programování

  • a naopak systematicky brání přenosu některých špatných návyků z jiných jazyků

Další charakteristiky

  • program v Javě je meziplatformně přenositelný na úrovni zdrojového i přeloženého kódu

  • je to umožněno tím, že přeložený javový program běží v tzv. Java Virtual Machine (JVM)

  • zdrojový i přeložený kód je tedy přenositelný mezi všemi obvyklými platformami (UNIX, Windows, MAC OS X, ale také sálové počítače, minipočítače typu IBM AS/400 apod.)

  • tedy všude tam, kde existuje příslušná JVM

Java jako běhové prostředí

Kód je při běhu dobře zabezpečen:

  • je možné nastavit úrovně přístupu k hostitelskému systému pomocí tzv. Security Manageru

  • je možné ověřovat před spuštěním elektronický podpis kódu

Java pro programátora (1)

  • jazyk vhodný pro efektivní (rychlé) psaní přehledných programů (mj. také díky dokumentačním možnostem)

  • v průměru vyšší produktivita programátorské práce v Javě než v C++

  • dnes již stejně aktivních programátorů v Javě jako v C++

  • zdarma dostupné nezměrné množství knihoven pro různorodé aplikační oblasti, např. na SourceForge a tisících dalších místech

  • k dispozici je řada kvalitních vývojových prostředí (i zdarma) - NetBeans, JBuilder, Visual Age for Java, Eclipse, IDEA

Java pro programátora (2)

Konkrétní možnosti:

  • v Javě se dobře píší vícevláknové aplikace (multithreaded applications)

  • Java má automatické odklizení nepoužitelných objektů (automatic garbage collection)

  • Java je jednodušší než C++ (méně syntaktických konstrukcí, méně nejednoznačností v návrhu)

Hlavní domény Javy (1)

  • Škálovatelné výkonné aplikace běžící na serverech (Java Enterprise Edition)

  • Aplikace na přenosných a vestavěných zařízeních (Java Micro Edition)

  • Přenositelné desktopové i grafické/okénkové (GUI) aplikace

  • Výukové účely (nahrazuje Pascal jako referenční jazyk)

  • Další přenositelné aplikace

Hlavní domény Javy (2)

  • Webové aplikace (servlety, JSP - konkurence proprietárním ASP, SSI, ... a pomalým CGI)

  • Zpracování semistrukturovaných dat (XML)

  • Aplikace distribuované po síti (applety nebo Java Web Start)

Javová platforma

Javovou platformu tvoří:

  • Java Virtual Machine

  • Java Core API (základní knihovna tříd)

  • překladač (přístupný např. příkazem javacsearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia) a další vývojové nástroje

Java je tedy dána...

  • definicí jazyka (Java Language Definition) - syntaxe a sémantika jazyka

  • popisem chování JVM

  • popisem Java Core API

Vývoj Javy

  • nejrychleji se vyvíjí Java Core API

  • chování JVM se mění např. pokud se objeví bezpečnostní "díra" nebo nelze-li dosáhnout požadované změny chování pomocí modifikace Java Core API

  • daleko konzervativnější je samotný jazyk - mění se zřídka, ale přece: např. Java2, v1.4 přidává nové klíčové slovo assert, Java 5.0 (postaru 1.5) obohacuje jazyk o enum a další.

Specifikace a implementace Javy

  • Specifikace Javy (tzv. "Editions") - např.: Java 2 Standard Edition, 1.4 nebo Java 2 Standard Edition 5.0

  • Implementace Javy ("Development Kits" nebo "Runtime Environments") - např.: Java 2 Software Development Kit, 5.0 - obsahuje vývojové nástroje

  • Java 2 Runtime Enviroment, 5.0 - obsahuje jen běhové prostředí pro spouštění hotových přeložených pg.

Verze Javy - starší konvence

  • Verze Javy byly až do verze 1.5 (ponovu 5.0) děleny na "Java (před Java 2)" a "Java 2"

  • číslování verzí:

    • tzv. major číslo, např. Java 2, v1.4

    • tzv. minor číslo, např. Java 2, v1.4.2

  • změnu minor (třetího) čísla doprovází jen odstraňování chyb

  • při změně major (druhého) čísla se může měnit Core API a někdy i jazyk

  • ke změně prvního čísla dochází až teď, s verzí 5.0 (postaru 1.5) - tj. s celkovou změnou pojmenovávacího schématu

Verze Javy - konvence od verze 5.0 (1.5 postaru)

Nové schéma číslování verzí počínaje 5.0 (postaru 1.5):

  • tzv. major číslo, např. Java 2, 5.0

  • tzv. minor číslo, např. Java 2, 5.0

Aktuální verze

Stav k září 2005:

  • Java 2 Standard Edition v5.0 je stabilní verzí pro všechny platformy

  • Java 2 Enterprise Edition v1.4 je stabilní verzí pro všechny platformy

  • Připravována je Java 2 Enterprise Edition v5.0

  • aktuální informace najdete vždy na webu http://java.sun.com

Co je nového v Javě 5.0

Generics

generika (generické datové typy) technika umožňující silnou typovou kontrolu v době překladu - např. v metodách manipulujících s prvky dynamických datových struktur

Enhanced for Loop

umožňuje snadnou a typově bezpečnou iteraci po prvcích kolekcí a polí

Autoboxing/Unboxing

zajišťuje automatickou konverzi mezi primitivními typy a příslušnými objektovými "obalujícími" typy

Typesafe Enums

typově bezpečné výčtové typy

Varargs

umožňují specifikovat proměnný počet parametrů metod

Static Import

dovoluje odkazovat se na statické prvky bez uvádění jména třídy (rozhraní)

Metadata (Annotations)

dovolují specifikovat u tříd, rozhraní, metod metadata (anotace) dostupná i za běhu

Licence k použití (a redistribuci) Javy

  • používání Javy pro běžný vývoj (i komerční) je zdarma

  • redistribuce javového vývojového prostředí je dovolena pouze s licencí od Sunu

  • redistribuce javového běhového prostředí je možná zdarma

  • distribuce vyvíjí Sun Microsystems Inc. (Javasoft) i další výrobci (např. IBM) a tvůrci Open Source

Stažení distribuce Sun

  • java.sun.com (pro Windows, Solaris, Linux)

  • lze stáhnout jak samotné vývojové prostředí (JDK), jen běhové prostředí (JRE) nebo JDK v balíčku s IDE (Integrated Development Environment) NetBeans.

  • dokumentace se stahuje z téhož místa, ale samostatně (nebo lze číst z WWW)

  • celkově vývojové prostředí J2SDK 1.4.2 vč. dokumentace zabere cca 220 MB na disku

  • potřebná velikost operační paměti - min 64 MB, doporučeno 128 MB (i více :-))

Typy distribucí Javy (Sun)

Lze stáhnout:

  • samotné vývojové prostředí (JDK),

  • jen běhové prostředí (JRE),

  • JDK v balíčku s grafickým (okénkovým) integrovaným vývojovým prostředím (IDE, Integrated Development Environment) NetBeans.

Obsah vývojové distribuce Javy

  • Vývojové nástroje (Development Tools) v binsearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia -- určené k vývoji, spouštění, ladění a dokumentování programů v Javě.

  • Běhové prostředí Javy (Java Runtime Environment) se nalézá v jresearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia. Obsahuje Java Virtual Machine (JVM), knihovnu tříd Java Core API a další soubory potřebné pro běh programů v Javě.

  • Přídavné knihovny (Additional libraries) v podadresáři libsearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia jsou další knihovny nutné pro běh vývojových nástrojů.

  • Ukázkové applety a aplikace (Demo Applets and Applications) v demosearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia. Příklady zahrnují i zdrojový kód.

Obsah vývojové distribuce Javy (2)

  • Hlavičkové soubory pro C (C header Files) - v includesearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia - představují podporu pro psaní tzv. nativních metod přímo v jazyce C.

  • Staré hlavičkové soubory (Old Native Interface Headers) - totéž, ale pro starší verzi rozhraní.

  • Zdrojový kód (Source Code) knihoven z Java Core API se nalézá v archivu src.zipsearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia.

  • Dokumentace (Documentation) - v podadresáři docssearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia - obsahuje dokumentaci k dané verzi JDK, k API, nejrůznější průvodce vývojem, dokumentaci k nástrojům, ukázkové programy a odkazy na související dokumentaci.

Nástroje ve vývojové distribuci

Pod Windows jsou to .exe search in Free On-line Dictionary of Computingsearch in Czech Wikipediasoubory umístěné v podadresáři binsearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia

  • javasearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia - spouštěč (přeloženého bajtkódu)

  • javacsearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia - překladač (.javasearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia -> .classsearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia)

  • javadocsearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia - generátor dokumentace API

  • jarsearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia - správce archivů JAR (sbalení, rozbalení, výpis)

  • jdbsearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia - debugger

  • appletviewersearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia - referenční prostředí pro spouštění appletů

  • javawssearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia - referenční prostředí pro spouštění aplikací typu "Java Web Start" prostřednictvím Java Network Launching Protocol (JNLP)

Pomocné nástroje ve vývojové distribuci

  • javahsearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia - generátor hlavičkových souborů pro C - používá se při programování tzv. nativních (platformově závislých) metod dostupných přes Java Native Interface (JNI)

  • javapsearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia - disassembler bajtkódu (např. pro ruční optimalizace, hledání chyb)

První kroky javového programování v prostředí BlueJ

  1. Seznámíme se se strukturou programu v Javě,

  2. naučíme se spouštět hotové jednoduché programy ve výukovém prostředí BlueJ

  3. a tyto programy upravovat.

Struktura javového programu

  • Každý netriviální javový program sestává z více tříd (class)

  • Třídy jsou členěny do balíků (package)

  • U běžné "desktopové" aplikace představuje vždy jedna (evt. více) tříd vstupní bod do programu - je to třída/y obsahující metodu main.

Spuštění a běh javového programu

  1. Spuštění programu se zahajuje vstupem do metody main.

  2. Běh programu spočívá ve vytváření objektů a interakci s nimi, tj. volání jejich metod.

  3. Běh končí, jakmile jsou provedeny všechny příkazy aktivované metodou main.

Prostředí BlueJ

  • Pro výuku v kurzu PB162 budeme převážně používat jednoduché, pro výuku určené, vývojové prostředí BlueJ.

  • BlueJ je pro všechny platformy (Win, Linux...) zdarma dostupné na http://bluej.org.

  • BlueJ je lokalizované pro češtinu vč. základního manuálu.

  • Pro BlueJ existuje i jednoduchý animátor běhu programů - vizualizuje spouštění a chod programů.

  • Toto prostředí je již předinstalované v síti FI.

Stažení BlueJ

Obrázek 1. Stažení BlueJ

Stažení BlueJ

Instalace BlueJ

Po stažení příslušného instalačního balíčku postupujte v závislosti na platformě:

Windows

poklepat (double-click) na staženém programu bluejsetup-verze.exesearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia (např. bluejsetup-205.exesearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia)

následovat pokyny instalačního programu

instalační program přitom nechá vybrat z předem instalovaných běhových prostředí Javy

Unix

na konzole (v prostředí shellu) se přepněte (pomocí cdsearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia) do adresáře se staženým balíčkem, např. bluej-205.jarsearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia

spusťte instalaci příkazem java -jar bluej-205.jarsearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia

při instalaci vyberte vhodný cílový adresář a zvolte z předem instalovaných běhových prostředí Javy

Spuštění BlueJ

Po úspěšné instalaci na:

Windows

najdete v menu Start systému Windows složku BlueJ a zde spouštěcí odkaz BlueJ s ikonou ptáka

Unix

v adresáři, kam se BlueJ nainstalovalo, najdete spustitelný soubor bluejsearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia - tím lze prostředí spustit.

Obrázek 2. Spuštění BlueJ

Spuštění BlueJ

Obrázek 3. BlueJ spuštěno

BlueJ spuštěno

Nastavení českého prostředí BlueJ

Chcete-li, aby nabídky (menu) a hlášky BlueJ byly v češtině, postupuje podle pokynů v Konfigurační doplněk pro prostředí BlueJ (autor Rudolf Pecinovský).

Takto vypadá počeštěné prostředí:

Obrázek 4. BlueJ v češtině

BlueJ v češtině

Otevření hotového programu (projektu) v BlueJ

  • Každý javový program vytvořený v BlueJ představuje jeden projekt. Toto je specificky vlastnost BlueJ, ne Javy jako takové.

  • Práce s hotovým programem v BlueJ tedy znamená otevřít projekt -> menu Projektsearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia/Otevřít projektsearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia.

    Obrázek 5. Otevření hotového projektu v BlueJ

    Otevření hotového projektu v BlueJ

Spuštění hotového programu

  • Každý běžný javový program spouštíme (nejen v BlueJ) aktivací metody main.

  • V BlueJ to znamená kliknout pravým tlačítkem myši na ikoně příslušné třídy a vybrat void main(String[] args).

    Obrázek 6. Spuštění hotového projektu v BlueJ

    Spuštění hotového projektu v BlueJ
  • Při spuštění uvádíme parametry, které metoda main dostane. Jelikož zatím žádné specifikovat nepotřebujeme, ponecháme dialog, jak je a stiskneme Enter (klikneme OK).

    Obrázek 7. Parametry spuštění

    Parametry spuštění
  • Výsledek spuštění programu se projeví v tzv. okně terminálu (konzole) BlueJ a vypadá takto:

    Obrázek 8. Výsledek spuštění na konzole BlueJ

    Výsledek spuštění na konzole BlueJ

Interaktivní vytvoření objektu (instance)

  • Objektový přístup znamená především to, že program za běhu vytváří objekty a volá jejich metody. To lze v BlueJ snadno realizovat.

  • V demostračním programu Hello máme jednu třídu (Hello), od níž lze vytvořit objekt (instanci) a na ní volat metody.

  • Zdrojový kód třídy Hello (dostupný poklepáním na její ikonu) prozradí, které metody zde máme k dispozici.

    Obrázek 9. Editace zdrojového kódu třídy Hello

    Editace zdrojového kódu třídy Hello
  • Dále postupujeme:

    1. Pravým tlačítkem klikneme na ikonu Hello a vybereme new Hello().

    2. do dialogu uvedeme název odkazu na vytvářený objekt typu Hello - můžeme ponechat hello1.

      Obrázek 10. Specifikace jména odkazu na novou instanci Hello

      Specifikace jména odkazu na novou instanci Hello
    3. Vytvořený objekt (instance třídy Hello) je k dispozici jako červená krabička vlevo dole.

Práce s objektem (instancí)

  • Vytvořený objekt (instance hello1 třídy Hello) je k dispozici jako červená krabička vlevo dole.

    Obrázek 11. Vytvořená instance třídy Hello

    Vytvořená instance třídy Hello
  • S instancí je nyní možné komunikovat/interagovat - tj. volat metody.

  • Jelikož v úvahu (viz zdrojový kód Hello) připadá jen metoda void go(), zavoláme právě ji:

    Obrázek 12. Volání (spuštění) metody go()

    Volání (spuštění) metody go()
  • Metoda proběhne s výsledkem podobným, jako když jsme program spouštěli metodou main.

    Obrázek 13. Výsledek spuštění go()

    Výsledek spuštění go()

    Metoda main totiž realizovala postupně stejné kroky, jako jsme teď provedli interaktivně (krok po kroku) sami.

Úprava hotového programu v BlueJ

Nejjednodušší úpravou programu je změna těla některé z metod, v našem případě již známé metody go().

  • Editor zdrojového kódu třídy Hello aktivujeme pravým tlačítkem - položkou Otevřít v editoru.

  • Kód metody go() změníme přepsáním hlášky "Hello, world" na "Ahoj!".

    Po kliknutí na tlačítko Přeložit by se mělo objevit:

    Obrázek 14. Metoda go() upravena a třída úspěšně přeložena

    Metoda go() upravena a třída úspěšně přeložena
  • Třídu Hello s upravenou metodou spustíme jako v předchozím - např. pravým tlačítkem a metodou main.

    Objeví se:

    Obrázek 15. Výsledek běhu upravené třídy Hello

    Výsledek běhu upravené třídy Hello

Sestavení a spuštění programu bez BlueJ

  • Cílem je porozumět obecné struktuře javového programu

  • a být schopni vytvořit a spustit jej i mimo prostředí BlueJ.

Základní životní cyklus javového programu - bez BlueJ

Demo "Ahoj!"

  • Půjde o podobný jednoduchý demoprogram, jaký jsme spouštěli v BlueJ pod názvem Hello.

  • Navíc se zde objeví použití balíků - třída bude umístěna do balíku tomp.ucebnice.

  • Zdrojový kód bude vypadat takto:

package tomp.ucebnice; 
public class Pozdrav { 
    // Program spouštíme aktivací funkce "main" 
    public static void main(String[] args) { 
       System.out.println("Ahoj!"); 
    }
}    

Pozn: Jelikož třída Pozdravsearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia je umístěna do balíku tomp.ucebnicesearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia, její zdrojový soubor musí být uložen v podadresáři tomp\ucebnicesearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia.

Překlad a spuštění "Ahoj!"

Překlad

  1. Máme nainstalován J2SDK 5.0

  2. Jsme v adresáři c:\devel\pb162search in Free On-line Dictionary of Computingsearch in Czech Wikipedia, v něm je podadresář tomp\ucebnicesearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia, v něm je soubor Pozdrav.javasearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia

  3. Spustíme překlad javac tomp\ucebnice\Pozdrav.javasearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia

  4. Je-li program správně napsán, přeloží se "mlčky"

  5. (výsledný .classsearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia soubor bude v témže adresáři jako zdroj)

Spuštění

  1. Poté spustíme program Pozdrav: java -classpath . tomp.ucebnice.Pozdravsearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia

  2. Volba překladače -classpath adresář zajistí, že (dříve přeložené) třídy používané při spuštění této třídy budou přístupné pod adresářem adresář.

  3. -classpath . tedy značí, že třídy (soubory .classsearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia) se budou hledat v odpovídajících podadresářích aktuálního adresáře (adresáře .search in Free On-line Dictionary of Computingsearch in Czech Wikipedia)

  4. Je-li program správně napsán a přeložen, vypíše se Ahoj!

Vytvoření zdrojového textu "Ahoj!" ("for dummies")

Vytvoření a editace zdrojového kódu v editoru PSPad (dostupný zdarma, instalovaný na všech Win strojích v učebnách na FI)

Překlad "Ahoj!" ("for dummies")

Překlad překladačem javacsearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia (úspěšný, bez hlášení překladače)

Spuštění "Ahoj!" ("for dummies")

Spuštění voláním javasearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia

Co znamená spustit program?

Spuštění javového programu

= spuštění metody main jedné ze tříd tvořících program

Tato funkce může mít parametry:

  • podobně jako např. v Pascalu nebo v C

  • jsou typu Stringsearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia (řetězec)

  • předávají se při spuštění z příkazového řádku do pole String[] args search in Free On-line Dictionary of Computingsearch in Czech Wikipedia

Metoda mainsearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia nevrací žádnou hodnotu - návratový typ je vždy(!) voidsearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia

Její hlavička musí vypadat vždy přesně tak, jako ve výše uvedeném příkladu, jinak nebude spuštěna!

Praktické informace (aneb co je nutné udělat)

Cesty ke spustitelným programům (PATH)search in Free On-line Dictionary of Computingsearch in Czech Wikipedia musejí obsahovat i adresář JAVA_HOME\binsearch in Free On-line Dictionary of Computingsearch in Czech Wikipedia

Praktické informace (aneb co je vhodné udělat)

Systémové proměnné by měly obsahovat: