Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaGizella Faragóné Megváltozta több, mint 9 éve
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-32768 – 32767 intElőjeles egész032 bit-2147483648 - 2147483647 longElőjeles egész064 bit-9223372036854775808 - 9223372036854775807 floatIEEE 754 lebegőpontos 0.032 bit+/-1.4E-45 - +/-3.40E+38, +/-infinity, +/-0, NaN doubleIEEE 754 lebegőpontos 0.064 bit+/-4.9E-324 - +/-1.8E+308, +/-infinity, +/-0, NaN charUnicode\u000016 bit\u0000 - \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.
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.