HomeHelpJava

Úvod do programovacího jazyka Java


Co je to Java?

Java je objektově orientovaný programovací jazyk (od společnosti Sun Microsystems) vyvíjený od roku 1990. Do stránky HTML můžete umístit Java applet, který se vykoná při každém načtení stránky.

Výhody Javy

  • Objektově orientovaný jazyk - domovská stránka Javy je k dispozici na www.java.com.
  • Multiplatformní - aplikace napsaná v Javě může být spuštěna na libovolném stroji s nainstalovaným JVM.
  • JVM je k dispozici prakticky na každé dnes používané platformě.
  • Snadný vývoj a učení jazyka.
  • Široká použitelnost - vhodná pro vývoj desktopových aplikací, apletů, servletů a serverových aplikací, ale i např. aplikací pro mobilní telefony.
  • Dostupnost velkého množství knihoven a nástrojů pro vývoj.

Úvod do OOP

  • OOP - objektově orientované programování.
  • Základním prvkem OOP v Javě je objekt.
  • Každý objekt má vlastnosti (proměnné) a možnost poslat zprávy (metody).
  • Každá proměnná a metoda má definovaná přístupová práva (v Javě 4 úrovňová).

OOP elementy v Javě

  • Třída - definuje metody a proměnné s danými přístupovými právy.
  • Objekt - instance třídy.
  • Interface - stejně jako třída definuje metody, ale nemají implementaci.
  • Každá třída může mít rodičovskou třídu a implementovat 0 až n interfaců.

Objekt

Každý objekt se skládá z kombinace dat (vlastností) a chování (metody). Vlastnosti jsou proměnnými, které určují základní charakteristiky objektu. Metody pak popisují, jak se objekt chová a jak může být modifikován. Objekt je tedy prvek softwaru, který se skládá z proměnných a s nimi spojených metod.

nahoru

Základní datové typy podrobněji ...

Numerické datové typy

  • byte,
  • short,
  • int - celé číslo (integer),
  • long,
  • float,
  • double - reálné číslo.

Další datové typy

  • boolean - logická hodnota: true or false,
  • char - znak,
  • String - řetězec znaků; datový typ pro text; obdoba VARCHAR v SQL.

Základní prvky jazyka - struktura výrazů

  • Spojením proměnných, operátorů a literálů vznikají výrazy.
  • Spojením výrazů vzniká celý příkaz, každý příkaz oddělujeme středníkem.

Základní elementy jazyka - proměnné

  • Každá proměnná má daný typ (primitivní nebo referenční).
  • Deklarace: typ proměnná, příklad: int a; float b = 0; double x; String txt.
  • Proměnné jsou definovány v daném bloku viditelnosti (scope):
    if (true) {
    	int a=5;
    } else {
    	int a=6;
    }
    - v obou případech jde o jinou proměnnou a.
  • Přetypování: (typ)výraz.

nahoru

Základní elementy jazyka - operátory

Řídící příkazy

Cykly

while (podmínka) {
	...
}

- opakuje tělo cyklu dokud je podmínka platná.

do {
	...
} while (podmínka);

- opakuje tělo cyklu dokud je podmínka platná, provede se minimálně jednou.

for (inicializace; podmínka; příkaz provedený po každé iteraci) {
	...
}

Cyklus for nejprve provede příkaz pro inicializaci (jednou), před každým spuštěním těla cyklu zkontroluje, zda platí podmínka (pokud ne, konec cyklu), po každém provedení těla cyklu spustí posl. příkaz.

Příkazy na řízení cyklů
break
ukončí aktuální cyklus.
continue
ukončí tělo cyklu, pokračuje ale dále v provádění cyklu.
Cykly - Příklady použití:
int x = 0; 
while (x < 5) {
	System.out.println(x);
	x++;
}
// - provede se 5x.
for (int x = 0; x < 5; x++) {
	System.out.println(x);
}
// - to samé, ale ve for cyklu.

Prostory jmen

  • Každý referenční datový typ je definován v určitém prostoru jmen.
  • Prostory jmen zpřehledňují kód, datové typy mající vzájemnou logickou vazbu umisťujeme do jednoho prostoru jmen (či podprostoru).
  • Prostor jmen v Javě - package.
  • Prostor jmen třídy nastavíme pomocí klíčového slova package (balík);
  • Prohledávané prostory jmen nastavujeme pomocí klíčového slova import.

Deklarace třídy

[public|abstract|final] class Trida [extends Parent] [implements I1,I2,...]

Metody

  • Metody jsou deklarovány/implementovány v třídách a v interfacech.
  • Každá metoda má přesně dané parametry, typ návratové hodnoty, identifikátor metody a přístupová práva k ní.
  • Modifikátory mohou měnit přístupová práva nebo vlastnosti:
    • final - metoda nebude přetížitelná,
    • static - metoda bude statická,
    • abstract - abstraktní metoda.

Přetěžování metod

  • Každá metoda může být přetížena metodou s jinými parametry.
  • Parametry funkce poté určí, která implementace se zavolá.
  • Z důvodu zachování čistoty kódu není možné přetěžovat operátory.

Přístupová práva

  • Můžeme nastavovat zejména k třídám, metodám a prvkům (proměnné, typy) v třídě.
  • Vhodně zvolená přístupová práva a dobře navržené API výrazně přispívá k zpřehlednění kódu a oddělení designu a implementace.

Operátor new

  • Operátor new slouží k vytvoření nové instance třídy či jiného referencovatelného objektu.
  • Syntaxe je new Typ:
    Trida t = new Trida(parametry pro konstruktor);
    Typ[] pole = new Typ[5]();
  • V Javě neexistuje operátor delete či jeho ekvivalence, o uvolnění objektů se stará garbage collector.
  • K dealokaci dojde nejdříve tehdy, až není na daný objekt žádná silná (strong) reference.
  • Tedy objekty, které již nepotřebujeme, můžeme označit jako nepoužívané např. zápisem: objekt = null;

Pole

  • Referencovaný typ.
  • Deklarujeme ho podobně jako ostatní proměnné: typ[] proměnná; (nebo případně: typ proměnná[];).
  • Každé pole má proměnnou length obsahující počet elementů v poli (pole.length).
  • Elementy (prvky pole) jsou číslovány (indexovány) od 0.
  • Přístup k elementům je možný pomocí operátoru [] (pole[2] - 3. element).
  • Pole můžeme inicializovat: int[] a = {1,2,3,4,5}.
  • Speciální forma příkazu for (for-each) pro iterovatelné typy:
    for (Typ_prvku i : pole) {
    	...
    	System.out.println(i);	// Vypíše jednotlivé elementy pole
    }
    

nahoru

On-line učebnice jazyka Java:

nahoru

Knižní zdroje, kde se dočtete více:

nahoru