Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás I. 3. gyakorlat.

Hasonló előadás


Az előadások a következő témára: "UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás I. 3. gyakorlat."— Előadás másolata:

1 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás I. 3. gyakorlat

2 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Primitív típusok Típus neveÉrtékAlap értékFoglalt tárIntervallum byteElőjeles egész08 bit-128 – 127 shortElőjeles egész016 bit – intElőjeles egész032 bit longElőjeles egész064 bit floatIEEE 754 lebegőpontos bit+/-1.4E /-3.40E+38, +/-infinity, +/-0, NaN doubleIEEE 754 lebegőpontos bit+/-4.9E /-1.8E+308, +/-infinity, +/-0, NaN charUnicode\u bit\u \uFFFF booleantrue, falsefalse1 bit (32 bitből) true, false

3 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Primitív típusok jellemzői  Stack-en jönnek létre  Mindig érték szerint tárolódnak  Minden más (objektumok) referencia szerint  Csak előjeles típusok vannak  Pl. nincs unsigned int, csak int  Speciális osztályok:  BigInteger – Bármekkora egész tárolása  BigDecimal – Bármekkora szám tárolása Példaprogram: PrimitivTipusok.java (pub)

4 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Wrapper osztályok  Minden primitív típust „becsomagolhatunk” objektummá  Wrapper osztályok segítségével primitív típusokat objektumként tudjuk kezelni, heap-en lesznek tárolva  Implicit konverzió primitív és Wrapper között  Minden primitív típus rendelkezik wrapperrel:  int a; //primitív típus, stack-en  Integer a = new Integer(3); //Objektum, heap

5 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Operátorok  Értékadás  Primitív típusoknál értékmásolás  Objektumoknál referenciamásolás!  Tényleges másolás a clone() metódussal

6 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Operátorok Értékadás Integer a = new Integer(5); Integer b = new Integer(8);  a = b  Az „a” ugyanoda mutat, mint a „b”  a = b.clone()  A „b” értéke lemásolódik, és erre mutató referencia lesz „a” értéke int a = 5; int b = 8;  a = b  Értékadás, „a” értéke „b” értéke lesz

7 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Operátorok  Unáris aritmetikai:  Előjelváltás (+, -)  Inkrementálás/dekrementálás (++, --)  Bináris aritmetikai:  Összeadás (+), kivonás (-), szorzás (*), osztás (/), maradékképzés (%)

8 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Operátorok  Bitműveletek  Bitenkénti és (&), Bitenkénti vagy ( | ), Kizáró vagy (^), Komplementer képzés (~)  &=, |=, ^=  3 operandusú if-else (? : )  feltetel ? Muvelet_ha_igaz : muvelet_ha_hamis;  Értékadás, összevont értékadás (balhoz a jobb oldalit)  =, +=, -=, *=, /=

9 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Operátorok  Logikai  És (&&), Vagy ( || ), Negálás ( ! )  Csak boolean értékekre használható!  Összetett kifejezések addig értékelődnek ki, míg egyértelműen nem derül ki a kifejezés értéke: lusta kiértékelés  Relációk:  !=, ==, >=,  Logikai értékkel térnek vissza  Primitív típusoknál értéket hasonlít, objektumoknál referenciát! (Majd az equals() metódust használhatjuk összehasonlításra objektumoknál)

10 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Operátorok  Bitléptető  Balra léptetés (<<) : 2 n-edik hatványával szorzás  Jobbra léptetés (>>) : 2 n-edik hatványával osztás  Vessző csak for ciklusban, vagy adott típusból több változó deklarálásakor használható  Típuskonverzió: (tipus) ertek  Primitívek között korlátozás nélkül engedélyezett  Objektumok között csak az öröklődési fán belül!  Pl. double c;  c = 5/2//c értéke 2.0 lesz  c = ( (double) 5 / 2);//c értéke 2.5 lesz

11 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Inkrementálás/dekrementálás int a = 5;  int b = ++a; //prefix operátor  „a” növelése, majd értékadás (b értéke 6)  int c = a++;//postfix operátor  „c” értéke 6 lesz. Az értékadás „után” növelődik „a” értéke, ami 7 lesz.  Ugyanez igaz a „--a” és az „a--” operátoroknál is Példaprogram: operatorok.java (pub)

12 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS String primitív típussá és vissza alakítása  Primitív típussá alakítás során az általános alak: Tipus.parseTipus(’’string’’);  int a = Integer.parseInt(„5”);  double b = Double.parseDouble(„6.15”);  Primitív típusból String:  String str = String.valueOf(a);//str = „5”

13 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Vezérlési szerkezetek  Minden C-beli vezérlési szerkezet támogatott  Kivéve a goto!  A kulcsszó létezik, de nincs implementálva  Soha ne használjuk!  if, for, while, switch…

14 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Feltételes szerkezetek

15 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Ciklusok

16 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 1. Feladat  Írjuk ki a parancssori paramétereket az alábbi módon:  Az első sorba az első  A másodikba az első kettő  A harmadikba az első három  stb. kerüljön, szóközzel elválasztva. (nyílván a paraméterek számának megfelelően)

17 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 2. Feladat  Számítsd ki a parancssoron kapott két időpont (óra perc óra perc) között eltelt időt, és írasd ki a konzolra (óra perc formában)!  Ügyelj az alábbiakra:  Bemenő paraméterek száma  Az órák 0-23 intervallumba kell, hogy essenek  A percek 0-59 intervallumba kell, hogy essenek

18 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 3. Feladat  A parancssori paraméterek alapján döntsd el, hogy egy a bemenő számok:  számtani (a n = a 1 + (n – 1) * d )  mértani (a n = a 1 * q n – 1 )  egyik sem  sorozatot alkotnak-e.  Feltehetjük, hogy mindegyik egész szám, és legalább 3 db paraméterünk van.


Letölteni ppt "UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás I. 3. gyakorlat."

Hasonló előadás


Google Hirdetések