You are on page 1of 19

3.

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

You might also like