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

Hasonló dokumentumok
Programozás III A JAVA TECHNOLÓGIA LÉNYEGE. Többlépcsős fordítás JAVA PLATFORM. Platformfüggetlenség

A C# programozási nyelv alapjai

Java II. I A Java programozási nyelv alapelemei

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

Java II. I A Java programozási nyelv alapelemei

Informatika terméktervezőknek

Programozási nyelvek JAVA EA+GY 1. gyakolat

Java programozási nyelv

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)

SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS

A C programozási nyelv II. Utasítások. A függvény.

Programozási nyelvek II. JAVA EA+GY 1. gyakolat

Járműfedélzeti rendszerek II. 1. előadás Dr. Bécsi Tamás

Készítette: Nagy Tibor István

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

Programozás I gyakorlat. 10. Stringek, mutatók

Vezérlési szerkezetek

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

GYAKORLATIAS JAVA MINTA

A Java programozási nyelv

Vezérlési szerkezetek. Szelekció Ciklusok

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Óbudai Egyetem. C programozási nyelv

A C# PROGRAMOZÁSI NYELV

Programozási nyelvek Java

Szoftvertechnológia alapjai Java előadások

Kifejezések. Kozsik Tamás. December 11, 2016

Programozási nyelvek II. JAVA EA+GY 1. gyakolat

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

Algoritmizálás és adatmodellezés tanítása 1. előadás

C programozás. { Márton Gyöngyvér, 2009 } { Sapientia, Erdélyi Magyar Tudományegyetem }

Programozás I. Első ZH segédlet

Python tanfolyam Python bevezető I. rész

A JavaScript főbb tulajdonságai

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

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

sallang avagy Fordítótervezés dióhéjban Sallai Gyula

Algoritmizálás + kódolás C++ nyelven és Pascalban

Programozás C és C++ -ban

Programozás C++ -ban 2007/1

Java programozási nyelv

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

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

Szoftvertervezés és -fejlesztés I.

3. Gyakorlat Ismerkedés a Java nyelvvel

Pénzügyi algoritmusok

Programozás II. 2. Dr. Iványi Péter

Algoritmusok Tervezése. 4. Előadás Visual Basic 1. Dr. Bécsi Tamás

Programozási nyelvek (ADA)

C# Nyelvi Elemei. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei / 18

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

A C programozási nyelv I. Bevezetés

Programozás II. 2. gyakorlat Áttérés C-ről C++-ra

Java és web programozás

Programozás C és C++ -ban

Programozási nyelvek I. 5. előadás (Gregorics Tibor anyagának felhasználásával)

Bevezetés a programozásba I.

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

Operációs rendszerek. 9. gyakorlat. Reguláris kifejezések - alapok, BASH UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Webprogramozás szakkör

3 A C programozási nyelv szintaktikai egységei

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

Bevezetés a C++ programozási nyelvbe

1.1. A forrásprogramok felépítése Nevek és kulcsszavak Alapvető típusok. C programozás 3

Occam 1. Készítette: Szabó Éva

A C programozási nyelv I. Bevezetés

Bevezetés a programozásba I.

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

A Java nyelv. II. rész - alapok, osztályok /2 53

Programozás alapjai gyakorlat. 2. gyakorlat C alapok

C programozás. 6 óra Függvények, függvényszerű makrók, globális és

Függvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3)

Programozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2)

Objektumorientált Programozás III.

Adatszerkezetek és algoritmusok

Programozási alapismeretek 2009/2010

Bevezetés a programozásba. 8. Előadás: Függvények 2.

7. fejezet: Mutatók és tömbök

6. fejezet: Ciklusok

Operációs rendszerek. 9. gyakorlat. BASH recap, reguláris kifejezések UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

C programozási nyelv Pointerek, tömbök, pointer aritmetika

Imperatív és procedurális programozás a Javában

OOP #14 (referencia-elv)

Bevezetés a C++ programozásba

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós március 3. Széchenyi István Egyetem, Gy r

Java programozási nyelv 4. rész Osztályok II.

Összeállította: Szeli Márk 11. D 2017/18. A C# programozási nyelv. Alapfogalmak

OOP: Java 8.Gy: Abstract osztályok, interfészek

A C programozási nyelv III. Pointerek és tömbök.

PHP. Telepítése: Indítás/újraindítás/leállítás: Beállítások: A PHP nyelv

Operációs rendszerek gyak.

Objektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe

Algoritmusok. Matematika BSc, 2. félév. Dr. Szikszai Márton

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

PHP gyorstalpaló, avagy a Hello World-től az űrlapellenőrzésig

III. OOP (objektumok, osztályok)

A C programozási nyelv III. Pointerek és tömbök.

és az instanceof operátor

Átírás:

II. A Java nyelv eszközei 1. Milyen eszközöket nyújt a Java a programozóknak Korábban már említettük, hogy a Java a C nyelvből alakult ki, ezért a C, C++ nyelvben járatos programozóknak nem fog nehézséget okozni a nyelv szintaktikájának elsajátítása. Kis túlzással fogalmazhatnánk úgy is, hogy aki ismeri a C nyelv nyújtotta programozási eszközöket, az már ismeri a Java nyelv eszközeit is. Ennek ellenére ebben a fejezetben áttekintjük, átismételjük a fontosabb dolgokat, már csak azért is, mert a mondás szerint : Az ismétlés a tudás anyja. 2. Típusok A Java erősen típusos nyelv. Ez azt jelenti, hogy előre el kell döntenünk, és deklarálnunk kell, hogy a változóinkban milyen adatokat szeretnénk tárolni a jövőben. A nyelv a változókat két nagy csoportba sorolja: 1. Egyszerű (primitív) típusok int (egész) float (valós) long (egész) char (karakter) boolean (a c-vel ellentétben itt valódi logikai típusról van szó, melynek értékei: true,false) 2. Referencia típusok tömb String (osztály típus) A Java-ban a típuskonverzió a C-hez hasonló módon működik. Megkülönböztetünk automatikus és explicit, kikényszerített típuskonverziót. A szűkebb típusról szélesebb típusra konvertálás minden probléma nélkül végbemegy, azonban fordított esetben a kerekítés miatt információvesztés léphet fel. Meg kell jegyeznünk, hogy az automatikus típuskonverzió bizonyos esetekben nem működik és a fordító hibát jelez számunkra. Ilyenkor érdemes explicit módon megadni a típust. Összességében azt mondhatjuk, hogy a típuskonverzió korlátozott esetekben automatikusan végbemegy. PTE-PMMK oktatási segédanyag 1

3. Változók Változóinkat a használatuk előtt a C-ben megszokott módon deklarálni kell. Újdonság a korábbi nyelvekhez képest, hogy a Java a változónevekhez az UNICODE karakterkészletet biztosítja, így lehetőségünk van magyar ékezetes betűk használatára a változónevekben. Megjegyzendő azonban, hogy osztálynevekben kerülendő az ASCII készleten kívüli karakterek használata, ugyanis az osztály nevének pontosan meg kell egyezni a fájl nevével. Ez pedig kerülendő, mert a különböző platformok eltérő módon támogatják vagy éppen nem támogatják az ékezetes karaktereket. 4. Kifejezések, műveletek Minden kifejezést pontosvessző zár le! Az alapműveletek pontosan úgy használhatók, mint a C nyelvben: +,-,/,*,% inkrementálás prefix (++a) és postfix (a++) alakban dekrementálás prefix (--a) és postfix (a--) alakban összehasonlító operátorok: = =, >, <, >=, <=,!= (ezek csak egyszerű adattípusoknál használhatók) logikai operátorok: && (és), (vagy) 5. Szelekciók if(kif){ else { illetve switch(kif) { case konst1 : utasítás; break; case konst2: utasítás; break; default : utasítás; 6. Iterációk Elöltesztelő ciklus while (kif){ // törzs PTE-PMMK oktatási segédanyag 2

Hátultesztelő ciklus do{ while(kif); Növekményes ciklus: for(kezdő ; teszt ; növelés){ // törzs 7. Metódusok A C-vel ellentétben a Java-ban nincsenek függvények. Az első órán úgy tanultuk, hogy a Java program osztálydefiníciókból épül fel, és az osztályon belül lehetőségünk van metódusok definiálására. Metódusok általános alakja: visszatérési_érték metódusnév (paraméterlista) { A void típusú függvények nem adnak vissza értéket. Fontos megjegyezni, hogy egy blokkban definiált változó csak a blokkon belül él! 8. Tömbök A Java nyelvben a tömbök objektumok, a C nyelvtől eltérően igazi típusok. Egy tömböt kétféleképpen lehet deklarálni: <típus> <név> []; (pl.. int tomb[] ;) <típus> [] <név>; (pl.: int [] tomb;) A tömb létrehozásához a new operátort kell használnunk a következőképpen: <név>= new <típus> [<méret>]; pl.: tomb = new int[20]; PTE-PMMK oktatási segédanyag 3

A tömbök használatakor már a C nyelvben megszokott módszert kell használni: Pl.: adat = tomb[i]; Az indexelés 0-tól történik!!! 9. Többdimenziós tömbök A Java-ban nincsenek többdimenziós tömbök, de létre lehet hozni őket. Ha egy tömb elemeinek tömböket definiálunk, akkor többdimenziós tömböt fogunk kapni. Deklarálás: <típus> [] [] <tömbnév>; pl.: int [] [] matrix; Definiálás: new <típus> [méret1] [méret2]; pl.: int [] [] matrix = new int [3] [6]; Használat: <név> [n] [m]; pl.: elem = [2] [1]; A tömbök méretének meghatározása azok length metódusa szolgál. Pl.: hossz = vektor.length(); 10. Stringek A Java nyelvben a stringek nem karaktertömbök, mint a C nyelvben. Itt igazi típusról van szó, de nem primitív típusról, hanem osztály típusról. Ezért kell megjegyezni, hogy osztály révén a használatnál figyelni kell, hogy nagy kezdőbetűvel írjuk. Említettük, hogy az ismert összehasonlító operátorok csak primitív típusok esetén használhatók. Olyan típusok összehasonlítására, mint amilyen a String is, az equals() segítségére van szükségünk. Pl.: IF (nev.equals( ember )) { PTE-PMMK oktatási segédanyag 4

11. Beolvasás a billentyűzetről Biztosan mindenki emlékszik a C nyelv scanf() függvényére, amivel igazán kényelmesen tudtunk adatokat fogadni a klaviatúráról. A Java nyelvben ez már nehezebb feladat, és ez nem is képezi e tantárgy anyagát, ezért egy előre elkészített osztályt biztosítunk a hallgatóságnak, amivel kényelmesen tudnak adatokat beolvasni. Ez az osztály az Input osztály lesz (Akinek van kedve, tanulmányozza az Input.java állományt). Az osztály használatához először le kell fordítanunk az Input.java állományt, így létrejön az Input.class bájtkódú állomány. Ennek a bájtkódnak elérhetőnek kell lennie a fordítónak (tipikusan abban a könyvtárban kell lennie, ahol éppen dolgozunk). A beolvasást az Input osztály következő metódusaival lehet elvégezni: Input.readln() String beolvasásához Input.readInt() Integer beolvasásához Input.readFloat() lebegőpontos valós szám beolvasásához Input.readLong() hosszú egész beolvasásához Input.readChar() karakter beolvasásához Példa: String vezeteknev; System.out.println( Kérem adja meg a vezetéknevét: ); vezeteknev = Input.readln(); System.out.println( A vezetéknév: +vezeteknev); PTE-PMMK oktatási segédanyag 5