Programozási ismeretek - JAVA

Tematika

JAVA nyelvi alapismeretek

Adattípusok és változók

Lásd Nagy Gusztáv JAVA programozás jegyzete, 25-29. oldal.

A JAVA nyelvben minden adat vagy egyszerű típusú vagy objektum.

Az egyszerű adattípusok a következők:

TípusLeírás
byte1 byte-os előjeles egész szám -128 és 127 között
short2 byte-os előjeles egész szám -32768 és 32767 között
int4 byte-os előjeles egész szám -2147483648 és 2147483647 között
long8 byte-os előjeles egész szám -9223372036854775808 és 9223372036854775807 között
floategyszeres pontosságú IEEE 754 lebegőpontos szám
doubledupla pontosságú IEEE 754 lebegőpontos szám
char2 byte-os UTF-16 karakterkód
booleanlogikai érték: true vagy false

A standard JAVA osztályok fejlesztői dokumentációja: JAVA SE 6 API

Operátorok és kifejezések

Lásd Nagy Gusztáv JAVA programozás jegyzete, 32-47. oldal.

Vezérlési szerkezetek

Lásd Nagy Gusztáv JAVA programozás jegyzete, 48-61. oldal.

Osztályok

Lásd Nagy Gusztáv JAVA programozás jegyzete, 1-24. oldal.

Programozás JAVA nyelven

Helyes programozási szokások

Lásd Nagy Gusztáv JAVA programozás jegyzete, 237-247. oldal.

Fordítás és futtatás

JAVA programok fejlesztésének alapfeltétele, hogy legyen telepítve a számítógépünkre JAVA fejlesztő környezet (JAVA Development Kit, röviden JDK), ami ingyenesen letölthető: http://www.oracle.com/technetwork/java/javase/downloads/index.html

Egy JAVA program több JAVA nyelvű (.java kiterjesztésű) forrásfájl összessége, melyek egyszerű szövegfájlok. A forrásfájlokat egy könyvtárba, de azon belül tetszőlegesen sok alkönyvtárba rendezve tárolhatjuk.

JAVA programfájlok szerkesztéséhez használhatunk bármilyen egyszerű (tehát nem formázott dokumentumok szerkesztésére való) szövegszerkesztő programot. Ilyen például a jEdit, ami maga is JAVA nyelven íródott.

Ahhoz, hogy az általunk megírt JAVA programot futtatni tudjuk, először le kell azt fordítani. A fordítás során a .java kiterjesztésű szöveges forrásfájlokból .class kiterjesztésű, JAVA bytekódot tartalmazó fájlok jönnek létre. A fordítást a javac (JAVA Compiler) programmal végezhetjük, amely része a fejlesztő környezetnek (JDK). A foo.java nevű forrásfájlt a következő paranccsal fordíthatjuk le:
javac foo.java
Ennek hatására létrejön a foo.class nevű fájl, ami a foo.java bytekódra fordított változata.

A bytekód az ember számára olvasható JAVA forrásszövegnél tömörebb, ember számára nem olvasható formátum, amit a számítógép processzora sem tud közvetlenül értelmezni. A bytekódra fordított JAVA program futtatásához szükség van egy programra, ami értelmezi és végrehajtja a bytekódot. Ez a program a JAVA alkalmazás indító, ami a JAVA futtató környezet (JAVA Runtime Environment, röviden JRE) része. A JRE a JDK-hoz hasonlóan ingyenesen letölthető a SUN honlapjáról: http://java.sun.com/javase/downloads/

Egy számítógépen akkor kell JRE-t telepíteni, ha az adott gépen JAVA programokat akarunk futtatni.

Ha a JRE telepítve van, akkor a következő paranccsal lehet a foo.class JAVA bytekódú programot futtatni:
java -classpath .;c:\konytar csomag.osztaly param1 param2 ... paramN
ahol
java a JAVA alkalmazás indító program neve,
foo.class a futtatandó JAVA programfájl neve (ha a program több fájlból áll, akkor itt mindet fel kell sorolni kettősponttal (Linux) vagy pontosvesszővel (Windows) elválasztva),
csomag.osztaly annak a JAVA osztálynak a teljes neve, amelynek a main metódusát futtatni kell,
param1 param2 ... paramN a main metódus számára átadott parancssori paraméterek.

Egy bonyolultabb JAVA program általában több bytekód fájlból áll. Ilyen esetben a -classpath kulcsszó után fel kell sorolni az összes fájl, vagy az azokat tartalmazó alkönyvtárok nevét. Arra is van lehetőség, hogy több bytekód fájlt egyetlen .jar kiterjesztésű JAVA archív, röviden JAR fájlba csomagoljuk. A JAVA archív fájl valójában egy ZIP fájl, ami a bytekód fájlokon kívül néhány további, kiegészítő információkat tartalmazó fájlt is magában foglal. Ha a programunkat egyetlen JAR fájlba csomagoljuk, akkor a elegendő ennek az egy JAR fájlnak a nevét megadni a -classpath után.

JAVA programok telepítése

Applet-ek

A JAVA applet egy HTML oldalba ágyazott JAVA program, amelyet a HTML applet elem (elavult) vagy az object elem segítségével lehet elhelyezni a weblapon. Az applet, mint minden JAVA program, több JAVA osztályból állhat, de a program belépési pontja a java.applet.Applet osztály leszármazottja kell legyen. A HTML fájlban elhelyezett applet vagy object elem attribútumai segítségével kell megadni, hogy

Webstart technológia

Fontos kérdés, hogy az általunk készített program, illetve annak frissítései hogyan jutnak el a felhasználókhoz. Erre ad megoldást a JAVA Webstart technológia, melynek lényege, hogy a JAVA program automatikusan töltődik le a felhasználó gépére egy (a feljlesztő által választott) szerver gépről az első futtatáskor, illetve akkor, ha a felhasználó gépén tárolt programverzió régebbi, mint a szerveren levő verzió (mert a program fejlesztő egy újabb programverziót töltött fel a szerverre).

Ahhoz, hogy az általunk írt JAVA programot a webstart technológiával tudjuk terjeszteni a felhsználók számára, a következőket kell tennünk:

  1. Össze kell csomagolnunk a bytekód fájlokat egy vagy több .jar fájlba (ennek mikéntjét nem részletezzük).
  2. El kell készítenünk egy úgynevezett JNLP fájlt, ami tartalmazza a programunk letöltéséhez és futtatásához szükséges információkat (milyen szerver gépről milyen .jar fájlokat kell letölteni, melyik JAVA osztály main metódusát kell futtatni milyen paraméterekkel, milyen verziójú JRE szükséges a programunk futtatásához, stb.) A JNLP fájl egy speciális XML fájl, melynek szerkezetével részletesen nem foglalkozunk.
  3. Fel kell tennünk a JNLP és a JAR fájlokat egy kiválasztott szerver gépre és HTTP protokoll felett elérhetővé kell tennünk őket. Más szóval, egy-egy HTML URL-t kell adni ezeknek a fájloknak.

Ha mindezt megtettük, akkor a programunkat bárki futtatni tudja úgy, hogy egy webböngésző programmal megnyitja a JNLP fájl URL-jét. Természetesen a JAVA futtató környezetnek telepítve kell lenni az illető felhasználó gépén, illetve a gépnek csatlakoznia kell az internethez. A futtató környzet tartalmazza a javaws nevű programot, ami a JAVA programok webstartos indításáért felelős. A javaws tölti le a szerverről és tárolja el a felhasználó gépén (egy félreeső helyen, az úgynevezett JAVA cache-ben) a JAR fájlokat, és ő az, aki a program minden indításakor ellenőrzi, hogy a felhasználó gépére letöltött JAR fájlok régebbiek-e, mint a szerveren levők. Ha igen, akkor letölti a szerverről a frissebb JAR fájlokat. A javaws program parancssorból is indítható úgy, hogy megadjuk neki az indítani kívánt JAVA programot leíró JNLP fájl URL-jét. Például:
javaws http://www.server.hu/jo/a/webstart.jnlp
A kényelmesebb indítás kedvéért a felhasználó kitehet az Asztal-ra egy indító ikont, amely a fenti parancsot hajtja végre. Így nem kell webböngésző programot vagy parancsértelmezőt használnia ahhoz, hogy futtassa a webstartos JAVA programot, csak duplán kell kattintania az indító ikonra.

Fontos még megjegyezni, hogy ha egy számítógépen egyszer el lett indítva egy webstartos program, az később úgy is futtatható, ha a számítógép éppen nem kapcsolódik az internethez. Ilyenkor a javaws az előző indítások során a JAVA cache-be letöltött programváltozatot fogja indítani.

Ajánlott irodalom

Benkő Tiborné
Java / Benkő Tiborné, Tóth Bertalan. - Budapest : ComputerBooks, 2006. - 394 p. : ill. ; 24 cm + 1 CD mell. - ((Együtt könnyebb a programozás)). - ISBN 963 618 337 6

Nagy Gusztáv
JAVA programozás

Móricz Attila
JAVA programozási nyelv: alapismeretek; Bp., LSI Oktatóközp., 1997.

Vég Csaba
JAVA - start!; Debrecen, Logos 2000, 1999.

Nyékiné Gaizler Judit
JAVA 2: útikalauz programozóknak; 7. kiadás, Bp., ELTE TTK Hallgatói Alapítvány, 2000.

Valid XHTML 1.0 Strict