Professional Documents
Culture Documents
Gyakorlat Ismerkedés A Java Nyelvvel
Gyakorlat Ismerkedés A Java Nyelvvel
Gyakorlat –
Ismerkedés a Java
nyelvvel
Parancssori argumentumok
Minden Java programnak adhatunk indításkor
paraméterek, ezeket a program egy tömbben tárolja.
public static void main( String[] args )
Az args tömb tárolja a parancssori paramétereket
sztring formátumban, melyeket a tömb megfelelő
indexelésével elérhetjük.
C-vel ellentétben a 0-dik indexen lévő argumentum
nem a program neve!
Paramétereknek a darabszámát könnyedén
megállapíthatjuk:
args.length, ami egy int értéket ad vissza.
Parancssori argumentumok
A parancssori paramétereket minden esetben String-ként kapjuk
meg, ezért ha számokkal akarunk dolgozni, át kell őket alakítani.
( Ez csak akkor fog működni, ha eleve számokat adtunk át
paramétereknek. )
<Típus>.parse*( ”String” );
Ahol a <Típus> lehet Integer, Double, stb…
* = Int, Double, Float, Byte …stb.
Példa: Integer.parseInt( ”12” );
Mind benne van a Java API-ban:
http://java.sun.com/javase/6/docs/api/
Típusok
http://java.sun.com/docs/books/tutorial/java/nutsandb
olts/datatypes.html
Típusok
A primitív típusok mindig érték szerint tárolódnak ( minden más
referencia szerint ).
Csak előjeles típusok vannak, nincsen unsigned!
Speciális típusokok:
BigInteger: akármekkora egész szám
BigDecimal: akármekkora fix pontos szám
Példa program: PrimitivTipusok.java
Wrapper osztályok
http://en.wikipedia.org/wiki/Primitive_wrapper_class
Speciális osztályok, primitív típusok csomagoló osztályaik.
Így a primitív típust objektumként tudjuk kezelni.
Implicit konverzió wrapper osztály és primitív típus között.
Az összes primitív típus rendelkezik csomagoló osztállyal.
Operátorok
Értékadás:
primitív típusoknál mindig érték szerint történik
objektumoknál mindig referencia másolás történik ( tényleges
objektum másolás a .clone() metódussal történik )
Matematikai + - * / %
Összevont += -= *= /= %=
Egy operandusú + - ++ --
Relációk == != < > <= >=
primitív típusoknál érték szerint hasonlít
objektumoknál referencia összehasonlítás ( objektum
összehasonlításra a .equals() metódus használatos )
Operátorok
Bitműveletek & | ^ (xor) ~ (not)
Értékadással összevont &= |= ^=
Biteltolás << >> >>> (unsigned)
Értékadással összevont <<= >>= >>>=
Logikai && || !
Ezek csak boolean értékre használhatóak!
Összetett kifejezés csak addig értékelődik ki, amíg ki
nem derül egyértelműen az értéke
pl: if ( valt01 == 0 || valt02 == 1 ), ha a valt01 értéke
0, akkor a második vizsgálat már lesz végrehajtva, mert
az egész formula értéke igaz lett.
Operátorok
Háromoperandusú if-else: boolean-exp ? val0 : val1
Vessző: ,
csak a for ciklusban alkalmazható!
Típuskonverzió: (type)value
Primitív típusok között használható korlátok nélkül (kivéve a
boolean-t).
Osztályok között csak egy öröklődési fán belül engedélyezett.
Nincs sizeof() operátor
Példa program: Operatorok.java
Vezérlési szerkezetek
A C-ben használt vezérlési szerkezetek használhatóak Java-ban.
Van goto, de ne használjuk!
If - else
Switch
While – Do While - For
Vezérlési szerkezet példa
Haromszog.java
Tömbök
A tömbök egynél több értéket is tárolhatnak, az elemek száma
rögzített. A tömb tehát adott számú, azonos típusú elemet
tartalmazó adattípus. A tömb indexe 0-val kezdődik.
Java nyelven a tömböket dinamikusan, a new operátoral lehet
létrehozni, a tömbök mérete lekérdezhető a length adatmezővel.
A Java teljes körű indexhatár-ellenőrzést végez, kivétellel jelzi, ha
az index kisebb, mint 0, vagy nagyobb vagy egyenlő, mint a
length mező értéke
Tömbök – 1D
Egyetlen kiterjedéssel rendelkező tömböket szokás vektoroknak
nevezni.
1D-s tömbHIVATKOZÁS definíciója:
típus tömbnév[ ];
típus[ ] tömbnév;
A Java nyelvben a tömböt futás során a new operátorral hozzuk
létre.
new elemtípus[ méret ]
A méret csak egész típus lehet és nem lehet negatív. A tömb
mérete nem haladhatja meg az Integer.MAX_VALUE értéket.
Pl: int[ ] x = new int[ 5 ];
Mivel a tömb indexe 0-val kezdődik, ezért hibás a deklarációban
beírt értékre, mint indexre hivatkozni: x[ 5 ] = 1; //hibás!!!
Tömbök – 1D
A Java nyelv lehetővé teszi, hogy a tömböket a definiálás során
konstans értékekkel inicializáljuk. Ilyenkor a tömböt a fordító
hozza létre.
típus[ ] tömbnév = { vesszővel tagolt konstansok };
Pl:
int[ ] x = { 1, 2, 3, 4, 5 };
Többdimenziós tömbök
Tömbhivatkozás definíciója:
típus[ ][ ]…[ ] tömbnév;
típus tömbnév[ ][ ]…[ ];
Tömb létrehozása ( 2D-s ):
new típus[ méret1 ][ méret2 ];
Konstans értékes inicializálás:
int matrix[ ][ ] = { { 1, 2 }, { 3, 4 } };
2D-s tömb példa:
int[ ][ ] matrix = new int[ 3 ][ 3 ];
Tömbös példa program
Tombok.java