3. Gyakorlat Ismerkedés a Java nyelvvel

Hasonló dokumentumok
Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Programozás 3. Dr. Iványi Péter

Szoftvertechnológia alapjai Java előadások

Információs Technológia

C# gyorstalpaló. Készítette: Major Péter

Programozás 5. Dr. Iványi Péter

OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek

Bevezetés a C programozási nyelvbe. Az Általános Informatikai Tanszék C nyelvi kódolási szabványa

Utasítások. Excel VII. Visual Basic programozás alapok. A Visual Basic-kel megoldható feladatok típusai Objektumok, változók Alprogramok

Pál László. Sapientia EMTE, Csíkszereda, 2014/2015


Feladat: Hogyan tudunk létrehozni egy olyan vector nevű tömb típust, amely egy háromdimenziós térbeli vektort reprezentál?

Programozás III CSOMAGOK. Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek.

Programozási nyelvek Java

JAVA PROGRAMOZÁS 3.ELŐADÁS

C# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem

117. AA Megoldó Alfréd AA 117.

Programozás I. Első ZH segédlet

INFORMATIKAI ALAPISMERETEK

Java II. I A Java programozási nyelv alapelemei

Java II. I A Java programozási nyelv alapelemei

INFORMATIKAI ALAPISMERETEK

A Jáva programozási nyelv rejtelmei

Bevezetés a Programozásba II 11. előadás. Adatszerkezetek megvalósítása. Adatszerkezetek megvalósítása Adatszerkezetek

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

Fizika InfoRmatika Kémia Alapok. Az Erdélyi Magyar Műszaki Tudományos Társaság kiadványa. Megjelenik kéthavonta (tanévenként 6 szám)

C# feladatok gyűjteménye

Információs Technológia

A héj vezérlő szerkezetei I.

Java VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás:

Bevezetés a C++ programozásba

Programozás alapjai C nyelv 5. gyakorlat. Írjunk ki fordítva! Írjunk ki fordítva! (3)

Programozási alapismeretek :: beadandó feladat. Felhasználói dokumentáció. Molnár Tamás MOTIABT.ELTE

C# osztályok. Krizsán Zoltán

S z á m í t ó g é p e s a l a p i s m e r e t e k

Objektumorientált programozás C# nyelven

Bevezetés a C++ programozási nyelvbe

Objektumorientált programozás C# nyelven

SQL- Utasítások csoportosítása Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER

C# feladatgyűjtemény Kovács Emőd, Radványi Tibor, Király Roland, Hernyák Zoltán

OAF Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1.

A C# PROGRAMOZÁSI NYELV

Informatika terméktervezőknek

Mintavételes szabályozás mikrovezérlő segítségével

1 Rev 4. A C++ programozás alapjai- segédlet

A C# programozási nyelv alapjai

A PROGAMOZÁS ALAPJAI 1. Függvény mint függvény paramétere. Függvény mint függvény paramétere. Függvény mint függvény paramétere

C programnyelv 1. Kedves Kollegina, Kolléga!

Bánsághi Anna

Internet programozása. 3. előadás

Programozás alapjai. 5. előadás

Programozási nyelvek II.: JAVA, 4. gyakorlat

Elôszó a magyar kiadáshoz A Kiadó Elôszó

1. Jelölje meg az összes igaz állítást a következők közül!

Emlékeztető: a fordítás lépései. Szimbólumtábla-kezelés. Információáramlás. Információáramlás. Információáramlás.

Programozás BMEKOKAA146. Dr. Bécsi Tamás 1. Előadás

Bevezetés a programozásba. 12. Előadás: 8 királynő

OOP: Java 1.Gy: Java alapok

Objektumorientált programozás C# nyelven III.

strings.xml res/values/strings.xml fájlban hozzuk létre a hiányzó string adatforrásainkat A jelenlegi helyett ez álljon: <resources> <string

A meteorológia az időjárás tudománya

OOP I. Egyszerő algoritmusok és leírásuk. Készítette: Dr. Kotsis Domokos

Matematikai alapok. Dr. Iványi Péter

% % MATLAB alapozó % % , Földváry Lóránt % Laky Piroska (kiegészítés)

Programozás BMEKOKAA146. Dr. Bécsi Tamás 2. előadás

Entity Framework alapú adatbáziselérés

E- Laboratórium 3 Az ABB robotok alkalmazásai Elméleti leírás

Java és web programozás

Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás

Java bevezet o Kab odi L aszl o Kab odi L aszl o Java bevezet o

Stack Vezérlés szerkezet Adat 2.

0.1. Mi az a standard be- és kimenet? A két mintafeladat leírása

Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás 2. előadás

A PHP nyelv alapjai. Web-Sky Consulting Kft Tóth Imre 2009

Programozási nyelvek Java

8. Mohó algoritmusok Egy esemény-kiválasztási probléma. Az esemény-kiválasztási probléma optimális részproblémák szerkezete

1. Egyszerű (primitív) típusok. 2. Referencia típusok

Programozási nyelvek II.: JAVA, 4. gyakorlat

2.3. A C nyelv utasításai

ADATBÁZISKEZELÉS ADATBÁZIS

Bevezetés a programozásba 2

Bánsághi Anna

PROGRAMOZÁS ALAPJAI (ANSI C NYELVEN)

Programozás I. Metódusok C#-ban Egyszerű programozási tételek. Sergyán Szabolcs

Ködös határ (Félreértés, hiba)

Adattípusok. Max. 2GByte

Programozás alapjai II. (9. ea) C++ többszörös öröklés, cast, perzisztencia

Adattípusok. Max. 2GByte

OOP: Java 11.Gy: Enumok, beágyazott osztályok. 13/1 B ITv: MAN

Programozás I gyakorlat. 5. Struktúrák

VB C++ C# JScript J# Common Language Specification. ADO.NET and XML. Base Class Library. Common Language Runtime. Operating System

INFORMATIKAI ALAPISMERETEK

Országzászlók (2015. május 27., Sz14)

Géptermi zh-írás forgatókönyve

Osztály és objektum fogalma

Java osztálykönyvtár és használata

Magas szintű programozási nyelvek 2 Előadás jegyzet

VISUAL BASIC ALAPISMERETEK

Programozás 1. Dr. Iványi Péter

Programozási nyelvek II.: JAVA

Átírás:

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.

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 Operátorok 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