Obsah
Úvod, srovnání s jinými, oblasti použití Javy
Distribuce, instalace, použití Java SDK
Životní cyklus programu v Javě
Základní praktické úkony - velmi podrobně!!!
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í)
reálným soupeřem je (Microsoft) C# (zatím převážně na platf. Windows)
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
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
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++
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
Š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řekladač (přístupný např. příkazem javac) a další vývojové nástroje
Specifikace Javy (tzv. "Editions") - např.: Java 2 Standard Edition, v1.4
Implementace Javy ("Development Kits" nebo "Runtime Environments") - např.: Java 2 Software Development Kit, v1.4.2 - obsahuje vývojové nástroje
Java 2 Runtime Enviroment, v1.4 - obsahuje jen běhové prostředí pro spouštění hotových přeložených pg.
Java 2 Standard Edition v1.4.2 pro všechny platformy je stabilní verzí
Java 2 Standard Edition v1.5 neboli Java 5 je k dispozici jako RC (Release Candidate), tj. je tzv. feature-complete (=nebude se nic přidávat, jen se vychytají chyby).
aktuálně vždy na webu java.sun.com
java.sun.com (pro Windows, Solaris, Linux)
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 :-))
Vývojové nástroje (Development Tools) v bin -- 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 jre. 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 lib jsou další knihovny nutné pro běh vývojových nástrojů.
Ukázkové applety a aplikace (Demo Applets and Applications) v demo. Příklady zahrnují i zdrojový kód.
Hlavičkové soubory pro C (C header Files) - v include - 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.jar.
Dokumentace (Documentation) - v podadresáři docs - 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.
Zdrojový kód každé veřejně přístupné třídy je umístěn v jednom souboru ( NazevTridy.java)
Postup:
vytvoření zdrojového textu (libovolným editorem čistého textu) -> Pokus.java
překlad (nástrojem javac) Pokus.java -> Pokus.class
spuštění, např. java Pokus
překládá se javac název souboru se třídou (včetně přípony .java!!!)
spouští se vždy udáním java a názvu třídy (bez přípony .class!!!)
Zdrojový kód v souboru tomp\ucebnice\Pozdrav.java
package tomp.ucebnice;
public class Pozdrav {
// Program spouštíme aktivací funkce "main"
public static void main(String[] args) {
System.out.println("Ahoj!");
}
}
Třída Pozdrav je umístěna do balíku tomp.ucebnice ->
její zdrojový soubor musí být uložen v podadresáři tomp\ucebnice.
Máme nainstalován J2SDK 1.4.2
Jsme v adresáři c:\devel\pb162, v něm je podadresář tomp\ucebnice, v něm je soubor Pozdrav.java
Spustíme překlad javac tomp\ucebnice\Pozdrav.java
Je-li program správně napsán, přeloží se "mlčky"
(výsledný .class soubor bude v témže adresáři jako zdroj)
Poté spustíme program Pozdrav: java -classpath . tomp.ucebnice.Pozdrav
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ář.
-classpath . tedy značí, že třídy (soubory .class) se budou hledat v odpovídajících podadresářích aktuálního adresáře (adresáře .)
Je-li program správně napsán a přeložen, vypíše se Ahoj!
Vytvoření a editace zdrojového kódu v editoru PSPad 4.2.2 (dostupný zdarma, instalovaný na všech Win strojích v učebnách na FI)
= 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 String (řetězec)
předávají se při spuštění z příkazového řádku do pole String[] args
Metoda main nevrací žádnou hodnotu - návratový typ je vždy(!) void
Její hlavička musí vypadat vždy přesně tak, jako ve výše uvedeném příkladu, jinak nebude spuštěna!
Cesty ke spustitelným programům (PATH) musejí obsahovat i adresář JAVA_HOME\bin
Systémové proměnné by měly obsahovat:
JAVA_HOME=kořenový adresář instalace Javy, např. JAVA_HOME=c:\j2sdk1.4.2
CLASSPATH=cesty ke třídám (podobně jako v PATH jsou cesty ke spustitelným souborům), např. CLASSPATH=c:\devel\pb162
Odkazy na zdroje (učebnice)http://www.fi.muni.cz/~tomp/java/ucebnice/resources.html
Další tutoriály:http://www.mike-levin.com/learning-java/toc.html