Java II. I A Java programozási nyelv alapelemei

Hasonló dokumentumok
Java II. I A Java programozási nyelv alapelemei

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

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

Készítette: Nagy Tibor István

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

A C programozási nyelv I. Bevezetés

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

A C programozási nyelv I. Bevezetés

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

A C# programozási nyelv alapjai

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

A C# PROGRAMOZÁSI NYELV

Karakterkészlet. A kis- és nagybetűk nem különböznek, a sztringliterálok belsejét leszámítva!

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

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

és az instanceof operátor

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

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán

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

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

Java V. Osztályszint. lyszintű ű tagok. Példányváltozó. Osztályváltozó. Általános Informatikai Tanszék Utolsó módosítás:

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

Java programozási nyelv

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

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

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

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

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

GYAKORLATIAS JAVA MINTA

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

Szoftvertechnológia alapjai Java előadások

Java programozási nyelv

Informatika terméktervezőknek

Szoftvertervezés és -fejlesztés I.

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

Programozás I. Első ZH segédlet

Információs Technológia

A C programozási nyelv IV. Deklaráció és definíció

OOP #14 (referencia-elv)

1. Gyakorlat. Rövid elméleti összefoglaló. <tárolási osztály>típus <típus > változónév <= kezdőérték><, >;

3. Gyakorlat Ismerkedés a Java nyelvvel

Programozási nyelvek JAVA EA+GY 1. gyakolat

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós augusztus 29. Széchenyi István Egyetem, Gy r

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

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

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

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

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

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ástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

Készítette: Nagy Tibor István

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

JAVA PROGRAMOZÁS 2.ELŐADÁS

A C programozási nyelv V. Struktúra Dinamikus memóriakezelés

Programozási technológia I 1. gyakorlat. A Java nyelvi alapjai, a NetBeans környezet

1. Template (sablon) 1.1. Függvénysablon Függvénysablon példányosítás Osztálysablon

Java III. I I. Osztálydefiníció (Bevezetés)

Java III. I I. Osztálydefiníció (Bevezetés)

Pénzügyi algoritmusok

Programozás I gyakorlat

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

A JavaScript főbb tulajdonságai

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

AWK programozás, minták, vezérlési szerkezetek

Komputeralgebra rendszerek

Komputeralgebra rendszerek

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

Objektumorientált Programozás II.

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

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

Objektumok inicializálása

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

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

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

Java VI. Miskolci Egyetem Általános Informatikai Tanszék. Utolsó módosítás: Ficsor Lajos. Java VI.: Öröklődés JAVA6 / 1

Programozási nyelvek (ADA)

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

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

Pénzügyi algoritmusok

C programozás. 1 óra Bevezetés

Forráskód formázási szabályok

Helyes-e az alábbi kódrészlet? int i = 1; i = i * 3 + 1; int j; j = i + 1; Nem. Igen. Hányféleképpen lehet Javaban megjegyzést írni?

Osztályok. 4. gyakorlat

Alapok. tisztán funkcionális nyelv, minden függvény (a konstansok is) nincsenek hagyományos változók, az első értékadás után nem módosíthatók

Típusok és konstansok

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

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

Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Előfeldolgozó rendszer Tömbök. Dr. Bécsi Tamás 4. Előadás

Kifejezések. A programozás alapjai előadás. Operátorok. Kifejezések. Operátorok precedenciája. Operátorok precedenciája

A Java nyelv. Bevezetés, alapok Elek Tibor

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

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

Széchenyi István Egyetem. Programozás III. Varjasi Norbert

Bevezetés a C++ programozási nyelvbe

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

117. AA Megoldó Alfréd AA 117.

INFORMATIKA javítókulcs 2016

5. Gyakorlat. struct diak {

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

Átírás:

Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 02. 19. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve az annak bővítéseként definiált C++ szintaktikájával nagyon rokon. A továbbiakban az alapelemeket a C nyelvvel összehasonlítva ismertetjük. A először csak a Java nyelv legegyszerűbb elemeivel foglalkozunk. A leírás a legtöbb esetben nem teljes, de a C nyelv ismeretében egyszerű programok írásához elegendő. A hiányzó információkat a későbbiekben pótoljuk. Java II.: Alapelemek JAVA2 / 2 A Java program A Java program osztályok halmaza. Végrehajtható kód csak osztály metódusában fordulhat elő. Egy alkalmazás belépési pontja egy olyan osztály, amelyben van egy public static minősítésű main nevű metódus. A fenti fogalmak (osztály, metódus, minősítők) pontos jelentésére a későbbiekben kitérünk. Java II.: Alapelemek JAVA2 / 3

Azonosítók A Java a Unicode karakterkészletet használja, tehát akár ékezetes azonosítókat is használhatunk. Az azonosító betűvel kezdődő és betűvel vagy számmal folytatódó karaktersorozat. Az _ és a $ is a betűk közé sorolandó. A betűk bármelyik karakterkészletből származhatnak. Az azonosító hossza tetszőleges. A JAVA is kis- és nagybetű érzékeny (case sensitive). Kulcsszavak, valamint a const, goto, null, true, false szavak nem lehetnek azonosítók. Java II.: Alapelemek JAVA2 / 4 Mint a C-ben: /* Szöveg */ Megjegyzések Egysoros: // Innentől a sor végéig komment Dokumentációs /** Tetszőleges szöveg*/ A javadoc segédprogram feldolgozza. Java II.: Alapelemek JAVA2 / 5 Egyszerű típusok Hasonlóak, mint C-ben, de pontosan definiált helyfoglalással és ábrázolási móddal Nincs unsigned minősítő Konstans változó final minősítővel deklarálható (a const helyett). Java II.: Alapelemek JAVA2 / 6

Típusnév boolean char byte short int long float double Egyszerű típusok táblt blázata Jelentés Logikai típus (true vagy false értékkel) 16 bites Unicode karakter 8 bites előjeles egész 16 bites előjeles egész 32 bites előjeles egész 64 bites előjeles egész 32 bites lebegőpontos szám (IEEE 754 szerint) 64 bites lebegőpontos szám (IEEE 754 szerint) Java II.: Alapelemek JAVA2 / 7 Literálok (konstansok) Logikai értékek: true vagy false A C-vel teljesen egyező módon használandók: Egész konstans Lebegőpontos konstans Karakter konstans (az escape szekvenciák is!) Szöveg konstans (csak Unicode szöveget is tartalmazhat) A szöveg konstanst a fordító automatikusan String típusúként kezeli (magyarázat majd később). Java II.: Alapelemek JAVA2 / 8 Lokális változv ltozó használata 1. Definíciója csak metóduson belül. Nincs globális változó! Formája mint a C-ben, beleértve a kezdőértékadást is. Egyszerű típusú lokális változó definíciója egyben helyfoglalást is jelent. Java II.: Alapelemek JAVA2 / 9

Lokális változv ltozó használata 2. Különbségek: Változó definíció egy metóduson belül bárhol lehet (nem csak blokk elején). Természetesen a változó csak a definíció után használható. Figyelem: a későbbiekben osztály változókról (adattagokról) is lesz szó! Java II.: Alapelemek JAVA2 / 10 Egydimenzós tömb Definíciója eltér a C szintaktikától. Két lépés (amely egy utasításba összevonható): 1. Tömb típus deklarációja típusnév azonosító[]; vagy típusnév [] azonosító; 2. Helyfoglalás a tömb elemeinek: azonosító = new típusnév[elemek száma] Java II.: Alapelemek JAVA2 / 11 Egydimenzós tömb (folyt.) A két lépés egy utasításba összevonva: típusnév azonosító [] = new típusnév[elemek száma] Az elemekre való hivatkozás már ugyanaz, mint a C nyelvben. A Java-ban többdimenziós tömbök is definiálhatók, amelyek nem feltétlenül négyzetesek. Bár nincs előre definiált osztálya, de osztályhoz tartozóként kezeli a Java. Java II.: Alapelemek JAVA2 / 12

Egydimenzós tömb (folyt.) Minden tömbhöz tartozik egy length konstans, amely az elemek számát adja meg. Használata: azonosító.lenght Java II.: Alapelemek JAVA2 / 13 Alaptípus pusú tömb Példa: int jegyek[]; // Ez csak egy tömb // típus létrehozása jegyek = new int[100]; // Helyfoglalás // 100 elemnek jegyek[16] = 1; // Elem értékének // beállítása Az indexelés itt is 0-tól kezdődik. Különbség: az érvénytelen index kivételt vált ki! Megjegyzés: A fentieket a későbbiekben még pontosítjuk! Java II.: Alapelemek JAVA2 / 14 Operátorok A C majdnem minden operátorát ismeri a Java (kivéve a pointerhez kapcsolódókat) Az operátorok jelentése az egyszerű típusokra ugyanaz. Különbségek: négy új operátor (>>>, >>>=, instanceof, new) nincs,(vessző) operátor A kifejezések kiértékelési sorrendje meghatározott. Java II.: Alapelemek JAVA2 / 15

Kifejezések kiért rtékelési sorrendje A kifejezések kiértékelési sorrendjét meghatározza: 1. Zárójelezés 2. Operandusok prioritása 3. Azonos prioritás esetén balról-jobbra szabály, kivétel az értékadás, amely jobbról-balra értékelődik ki. A kifejezésekben a metódushívások ("függvény hívások") sorrendje is a kiértékelés sorrendjét követi. Java II.: Alapelemek JAVA2 / 16 Utasítás, s, blokk Utasítás lehet: kifejezés utasítás deklarációs utasítás. Az utasításokat pontosvessző zárja. Kifejezés utasítás csak a következő lehet: értékadás, ++ és -- operátorokkal képzett kifejezések, metódushívás, példányosítás. Java II.: Alapelemek JAVA2 / 17 Utasítás, s, blokk (folyt.) A deklarációs és kifejezés utasítások tetszőleges sorrendben követhetik egymást. Az utasítások sorozata {} jelek közé zárva a blokk. Utasítás helyére mindig írható blokk. Java II.: Alapelemek JAVA2 / 18

Vezérl rlő utasítások sok Lényegében megegyeznek a C utasításaival. Különbségek: Az if, while, do utasításokban a feltétel csak logikai kifejezés lehet. A for utasításban a második kifejezés csak logikai kifejezés lehet A switch utasításban a szelektor csak egész kifejezés lehet. Nincs goto utasítás. Java II.: Alapelemek JAVA2 / 19