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

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

Programozási nyelvek JAVA EA+GY 1. gyakolat

Programozási nyelv Java

Programozási technológia I.

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

Programozás I. Első ZH segédlet

Szoftvertechnológia alapjai Java előadások

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

Java I. A Java programozási nyelv

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?

A C# programozási nyelv alapjai

Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges. Könyvtárhierarhiát fed: Pl.: java/util/scanner.java

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

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

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

Informatika terméktervezőknek

Programozási nyelvek II.: JAVA

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

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

Java I. A Java programozási nyelv

Mi a különbség az extends és az implements között. Mikor melyiket kell használni? Comperable-t megvalósító oasztályokban össze lehet hasonlitani

Java programozási nyelv 6. rész Java a gyakorlatban

Java II. I A Java programozási nyelv alapelemei

Java programozási nyelv 5. rész Osztályok III.

Pelda öröklődésre: import java.io.*; import java.text.*; import java.util.*; import extra.*;

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

A Java programozási nyelv

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

Programozási nyelvek Java

és az instanceof operátor

Objektum orientáltság alapjai A Java nyelv Fordítás - futtatás

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

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

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

JAVA ALKALMAZÁSOK 1. ELŐADÁS 2/22/2017 1

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

I. Bevezetés. 1. ábra A Java "logója"

A Java és a C++ összehasonlítása

Szoftvertervezés és -fejlesztés I.

JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése

Java II. I A Java programozási nyelv alapelemei

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

Programozás BMEKOKAA146. Dr. Bécsi Tamás 1. 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

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

JAVA PROGRAMOZÁS 2.ELŐADÁS

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

List<String> l1 = new ArrayList<String>(); List<Object> l2 = l1; // error

Programozási nyelvek Java

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

A Java nyelv. Bevezetés, alapok Elek Tibor

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

A C# PROGRAMOZÁSI NYELV

Programozási nyelvek Java

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

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

Programozási nyelvek Java

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

OOP: Java 4.Gy: Java osztályok

Abstract osztályok és interface-ek. 7-dik gyakorlat

Programozási nyelvek II.: JAVA

Osztálytervezés és implementációs ajánlások

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

Osztálytervezés és implementációs ajánlások

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

Java. JIT (Just in Time) fordítók alkalmazása, optimalizálás AOT (Ahead of Time) fordítók alkalmazásának lehetősége

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

Osztályok. 4. gyakorlat

Java programozási nyelv

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

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

Programozási nyelvek Java

Segédanyag: Java alkalmazások gyakorlat

OOP #14 (referencia-elv)

Bevezetés a Java programozási nyelvbe

C programozás. 1 óra Bevezetés

C#, OOP. Osztályok tervezése C#-ban

OOP: Java 8.Gy: Gyakorlás

Vezérlési szerkezetek

Segédanyag: Java alkalmazások gyakorlat

Objektumorientált programozás C# nyelven

Java programozási nyelv

OOP: Java 1.Gy: Java alapok

Szkriptnyelvek. 1. UNIX shell

3. Gyakorlat Ismerkedés a Java nyelvvel

Bánsághi Anna 2014 Bánsághi Anna 1 of 33

Globális operátor overloading

1. Bevezetés szeptember 9. BME Fizika Intézet. Szám. szim. labor ea. Tőke Csaba. Tudnivalók. feladat. Tematika. Moodle Házi feladatok

A szemantikus elemzés helye. A szemantikus elemzés feladatai. A szemantikus elemzés feladatai. Deklarációk és láthatósági szabályok

Bevezetés a Java programozási nyelvbe

Kivételek kezelése (exception handling) Hibakezelés old style. Kivételkezelés

Objektumorientált Programozás VI.

Szoftver labor III. Tematika. Gyakorlatok. Dr. Csébfalvi Balázs

Bevezetés, a C++ osztályok. Pere László

Objektumok inicializálása

OOP: Java 6.Gy: Java osztályok. Definíció, static, túlterhelés

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

Java IX. telkezelés a Java-ban

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

Átírás:

Programozási nyelvek II. JAVA EA+GY 1. gyakolat EÖTVÖS LORÁND TUDOMÁNYEGYTEM INFORMATIKAI KAR PROGRAMOZÁSI NYELVEK ÉS FORDÍTÓPROGRAMOK TANSZÉK 2017/2018. őszi félév

Tartalom 1 Amit tudni kell a félévről 2 A Java alapjai 3 Java program írása 4 Alapvető elemek 5 Vezérlési szerkezetek 6 Gyakorlás

Tartalom 1 Amit tudni kell a félévről 2 A Java alapjai 3 Java program írása 4 Alapvető elemek 5 Vezérlési szerkezetek 6 Gyakorlás

Tartalom 1 Amit tudni kell a félévről 2 A Java alapjai 3 Java program írása 4 Alapvető elemek 5 Vezérlési szerkezetek 6 Gyakorlás

Tartalom 1 Amit tudni kell a félévről 2 A Java alapjai 3 Java program írása 4 Alapvető elemek 5 Vezérlési szerkezetek 6 Gyakorlás

Tartalom 1 Amit tudni kell a félévről 2 A Java alapjai 3 Java program írása 4 Alapvető elemek 5 Vezérlési szerkezetek 6 Gyakorlás

Tartalom 1 Amit tudni kell a félévről 2 A Java alapjai 3 Java program írása 4 Alapvető elemek 5 Vezérlési szerkezetek 6 Gyakorlás

Félév tematikája (1) 1. gyakorlat: program fordítása, vezérlési szerkezet, alapvető nyelvi elemek, programozási tételek Java-ban 2. gyakorlat: OOP alapelvek a gyakorlatban, ciklusok 3. gyakorlat: osztályok, konstruktor, láthatóság 4. gyakorlat: tömbök, aliasing, szivárogtatás 5. gyakorlat: kivételek alap szinten, fájlkezelés, JavaDoc 6. gyakorlat: felsorolási típus, túlterhelés, statikus adattagok és metódusok, default konstruktor 7. gyakorlat: gyakorlás

Félév tematikája (1) 1. gyakorlat: program fordítása, vezérlési szerkezet, alapvető nyelvi elemek, programozási tételek Java-ban 2. gyakorlat: OOP alapelvek a gyakorlatban, ciklusok 3. gyakorlat: osztályok, konstruktor, láthatóság 4. gyakorlat: tömbök, aliasing, szivárogtatás 5. gyakorlat: kivételek alap szinten, fájlkezelés, JavaDoc 6. gyakorlat: felsorolási típus, túlterhelés, statikus adattagok és metódusok, default konstruktor 7. gyakorlat: gyakorlás

Félév tematikája (1) 1. gyakorlat: program fordítása, vezérlési szerkezet, alapvető nyelvi elemek, programozási tételek Java-ban 2. gyakorlat: OOP alapelvek a gyakorlatban, ciklusok 3. gyakorlat: osztályok, konstruktor, láthatóság 4. gyakorlat: tömbök, aliasing, szivárogtatás 5. gyakorlat: kivételek alap szinten, fájlkezelés, JavaDoc 6. gyakorlat: felsorolási típus, túlterhelés, statikus adattagok és metódusok, default konstruktor 7. gyakorlat: gyakorlás

Félév tematikája (1) 1. gyakorlat: program fordítása, vezérlési szerkezet, alapvető nyelvi elemek, programozási tételek Java-ban 2. gyakorlat: OOP alapelvek a gyakorlatban, ciklusok 3. gyakorlat: osztályok, konstruktor, láthatóság 4. gyakorlat: tömbök, aliasing, szivárogtatás 5. gyakorlat: kivételek alap szinten, fájlkezelés, JavaDoc 6. gyakorlat: felsorolási típus, túlterhelés, statikus adattagok és metódusok, default konstruktor 7. gyakorlat: gyakorlás

Félév tematikája (1) 1. gyakorlat: program fordítása, vezérlési szerkezet, alapvető nyelvi elemek, programozási tételek Java-ban 2. gyakorlat: OOP alapelvek a gyakorlatban, ciklusok 3. gyakorlat: osztályok, konstruktor, láthatóság 4. gyakorlat: tömbök, aliasing, szivárogtatás 5. gyakorlat: kivételek alap szinten, fájlkezelés, JavaDoc 6. gyakorlat: felsorolási típus, túlterhelés, statikus adattagok és metódusok, default konstruktor 7. gyakorlat: gyakorlás

Félév tematikája (1) 1. gyakorlat: program fordítása, vezérlési szerkezet, alapvető nyelvi elemek, programozási tételek Java-ban 2. gyakorlat: OOP alapelvek a gyakorlatban, ciklusok 3. gyakorlat: osztályok, konstruktor, láthatóság 4. gyakorlat: tömbök, aliasing, szivárogtatás 5. gyakorlat: kivételek alap szinten, fájlkezelés, JavaDoc 6. gyakorlat: felsorolási típus, túlterhelés, statikus adattagok és metódusok, default konstruktor 7. gyakorlat: gyakorlás

Félév tematikája (1) 1. gyakorlat: program fordítása, vezérlési szerkezet, alapvető nyelvi elemek, programozási tételek Java-ban 2. gyakorlat: OOP alapelvek a gyakorlatban, ciklusok 3. gyakorlat: osztályok, konstruktor, láthatóság 4. gyakorlat: tömbök, aliasing, szivárogtatás 5. gyakorlat: kivételek alap szinten, fájlkezelés, JavaDoc 6. gyakorlat: felsorolási típus, túlterhelés, statikus adattagok és metódusok, default konstruktor 7. gyakorlat: gyakorlás

Félév tematikája (2) 8. gyakorlat: interface, collection, immutable design, csomagoló osztályok, boxing, generikusság 9. gyakorlat: öröklődés, felüldefiniálás, protected, super metódus és super konstruktor hívás 10. gyakorlat: absztrakt osztály, saját kivétel osztályok, throws, kivétel hierarhia 11. gyakorlat: equals, hashcode, comparable, clone 12. gyakorlat: lambda-kifejezések, Comparator 13. gyakorlat: gyakorlás

Félév tematikája (2) 8. gyakorlat: interface, collection, immutable design, csomagoló osztályok, boxing, generikusság 9. gyakorlat: öröklődés, felüldefiniálás, protected, super metódus és super konstruktor hívás 10. gyakorlat: absztrakt osztály, saját kivétel osztályok, throws, kivétel hierarhia 11. gyakorlat: equals, hashcode, comparable, clone 12. gyakorlat: lambda-kifejezések, Comparator 13. gyakorlat: gyakorlás

Félév tematikája (2) 8. gyakorlat: interface, collection, immutable design, csomagoló osztályok, boxing, generikusság 9. gyakorlat: öröklődés, felüldefiniálás, protected, super metódus és super konstruktor hívás 10. gyakorlat: absztrakt osztály, saját kivétel osztályok, throws, kivétel hierarhia 11. gyakorlat: equals, hashcode, comparable, clone 12. gyakorlat: lambda-kifejezések, Comparator 13. gyakorlat: gyakorlás

Félév tematikája (2) 8. gyakorlat: interface, collection, immutable design, csomagoló osztályok, boxing, generikusság 9. gyakorlat: öröklődés, felüldefiniálás, protected, super metódus és super konstruktor hívás 10. gyakorlat: absztrakt osztály, saját kivétel osztályok, throws, kivétel hierarhia 11. gyakorlat: equals, hashcode, comparable, clone 12. gyakorlat: lambda-kifejezések, Comparator 13. gyakorlat: gyakorlás

Félév tematikája (2) 8. gyakorlat: interface, collection, immutable design, csomagoló osztályok, boxing, generikusság 9. gyakorlat: öröklődés, felüldefiniálás, protected, super metódus és super konstruktor hívás 10. gyakorlat: absztrakt osztály, saját kivétel osztályok, throws, kivétel hierarhia 11. gyakorlat: equals, hashcode, comparable, clone 12. gyakorlat: lambda-kifejezések, Comparator 13. gyakorlat: gyakorlás

Félév tematikája (2) 8. gyakorlat: interface, collection, immutable design, csomagoló osztályok, boxing, generikusság 9. gyakorlat: öröklődés, felüldefiniálás, protected, super metódus és super konstruktor hívás 10. gyakorlat: absztrakt osztály, saját kivétel osztályok, throws, kivétel hierarhia 11. gyakorlat: equals, hashcode, comparable, clone 12. gyakorlat: lambda-kifejezések, Comparator 13. gyakorlat: gyakorlás

Követelmények (1) 2 Zárthelyi dolgozat Félévközi zh 2017. november 10. 14:00-20:00 2017. november 17. 14:00-20:00 (pót) Félévvégi zh (2 lehetőség) 2017. december 22. 14:00-20:00 (csak első lehetőségként) 2018. január 12. 14:00-20:00 (csak első lehetőségként) 2018. január 29. 14:00-20:00 (csak második lehetőségként) 2 beadandó a ZH-k előtt lesz kiírva kötelező előfeltétele a ZH-nak az addigi tananyagot kéri számon határidők: 2017. október 31. és 2017. december 10.

Követelmények (1) 2 Zárthelyi dolgozat Félévközi zh 2017. november 10. 14:00-20:00 2017. november 17. 14:00-20:00 (pót) Félévvégi zh (2 lehetőség) 2017. december 22. 14:00-20:00 (csak első lehetőségként) 2018. január 12. 14:00-20:00 (csak első lehetőségként) 2018. január 29. 14:00-20:00 (csak második lehetőségként) 2 beadandó a ZH-k előtt lesz kiírva kötelező előfeltétele a ZH-nak az addigi tananyagot kéri számon határidők: 2017. október 31. és 2017. december 10.

Követelmények (1) 2 Zárthelyi dolgozat Félévközi zh 2017. november 10. 14:00-20:00 2017. november 17. 14:00-20:00 (pót) Félévvégi zh (2 lehetőség) 2017. december 22. 14:00-20:00 (csak első lehetőségként) 2018. január 12. 14:00-20:00 (csak első lehetőségként) 2018. január 29. 14:00-20:00 (csak második lehetőségként) 2 beadandó a ZH-k előtt lesz kiírva kötelező előfeltétele a ZH-nak az addigi tananyagot kéri számon határidők: 2017. október 31. és 2017. december 10.

Követelmények (2) Elméleti jegy 10 +/- elméleti kérdésekből a gyakorlatokon 2 zárthelyi dolgozaton elméleti kérdések, 14 és 15 pontért ponthatárok: 20, 25, 30, 35 Végső jegy a két gépes zárthelyi és az elméleti jegy átlaga amennyiben mindhárom legalább elégséges

Követelmények (2) Elméleti jegy 10 +/- elméleti kérdésekből a gyakorlatokon 2 zárthelyi dolgozaton elméleti kérdések, 14 és 15 pontért ponthatárok: 20, 25, 30, 35 Végső jegy a két gépes zárthelyi és az elméleti jegy átlaga amennyiben mindhárom legalább elégséges

Követelmények (3) maximum 3 (nagyon indokolt esetben 4) gyakorlatról lehet hiányozni akinek az első zárhelyi dolgozata nem sikerült (a pót sem), vagy valamelyik beadandóját nem adta be, az már nem végezheti el a tárgyat a beadott szoftverek plágium-ellenőrzésen mennek keresztül, akit másoláson kapunk (és az is, akiről másolta) nem végezheti el a tantárgyat

Követelmények (3) maximum 3 (nagyon indokolt esetben 4) gyakorlatról lehet hiányozni akinek az első zárhelyi dolgozata nem sikerült (a pót sem), vagy valamelyik beadandóját nem adta be, az már nem végezheti el a tárgyat a beadott szoftverek plágium-ellenőrzésen mennek keresztül, akit másoláson kapunk (és az is, akiről másolta) nem végezheti el a tantárgyat

Követelmények (3) maximum 3 (nagyon indokolt esetben 4) gyakorlatról lehet hiányozni akinek az első zárhelyi dolgozata nem sikerült (a pót sem), vagy valamelyik beadandóját nem adta be, az már nem végezheti el a tárgyat a beadott szoftverek plágium-ellenőrzésen mennek keresztül, akit másoláson kapunk (és az is, akiről másolta) nem végezheti el a tantárgyat

Történet, jellemzők James Gosling kezdte fejleszteni a Sun Microsystemsnél a 90-es évek elején Első kiadás 1995-ös, azóta sok minden változott, bővült a nyelv A Java 2 Platform, Sandard Edition (SE) 5.0 2004-es Objektumorientált nyelv (primitív típusokon kívül minden az Object ősosztály leszármazottja) C++ szerű szintaxis a fordító bájtkódra fordít, a futtatásért a Java Virtual Machine (JVM) felel a bájtkód hordozható platformok között (Windows, Unix, Linux, Macintosh), ami nagyon nagy előny

Történet, jellemzők James Gosling kezdte fejleszteni a Sun Microsystemsnél a 90-es évek elején Első kiadás 1995-ös, azóta sok minden változott, bővült a nyelv A Java 2 Platform, Sandard Edition (SE) 5.0 2004-es Objektumorientált nyelv (primitív típusokon kívül minden az Object ősosztály leszármazottja) C++ szerű szintaxis a fordító bájtkódra fordít, a futtatásért a Java Virtual Machine (JVM) felel a bájtkód hordozható platformok között (Windows, Unix, Linux, Macintosh), ami nagyon nagy előny

Történet, jellemzők James Gosling kezdte fejleszteni a Sun Microsystemsnél a 90-es évek elején Első kiadás 1995-ös, azóta sok minden változott, bővült a nyelv A Java 2 Platform, Sandard Edition (SE) 5.0 2004-es Objektumorientált nyelv (primitív típusokon kívül minden az Object ősosztály leszármazottja) C++ szerű szintaxis a fordító bájtkódra fordít, a futtatásért a Java Virtual Machine (JVM) felel a bájtkód hordozható platformok között (Windows, Unix, Linux, Macintosh), ami nagyon nagy előny

Történet, jellemzők James Gosling kezdte fejleszteni a Sun Microsystemsnél a 90-es évek elején Első kiadás 1995-ös, azóta sok minden változott, bővült a nyelv A Java 2 Platform, Sandard Edition (SE) 5.0 2004-es Objektumorientált nyelv (primitív típusokon kívül minden az Object ősosztály leszármazottja) C++ szerű szintaxis a fordító bájtkódra fordít, a futtatásért a Java Virtual Machine (JVM) felel a bájtkód hordozható platformok között (Windows, Unix, Linux, Macintosh), ami nagyon nagy előny

Történet, jellemzők James Gosling kezdte fejleszteni a Sun Microsystemsnél a 90-es évek elején Első kiadás 1995-ös, azóta sok minden változott, bővült a nyelv A Java 2 Platform, Sandard Edition (SE) 5.0 2004-es Objektumorientált nyelv (primitív típusokon kívül minden az Object ősosztály leszármazottja) C++ szerű szintaxis a fordító bájtkódra fordít, a futtatásért a Java Virtual Machine (JVM) felel a bájtkód hordozható platformok között (Windows, Unix, Linux, Macintosh), ami nagyon nagy előny

Történet, jellemzők James Gosling kezdte fejleszteni a Sun Microsystemsnél a 90-es évek elején Első kiadás 1995-ös, azóta sok minden változott, bővült a nyelv A Java 2 Platform, Sandard Edition (SE) 5.0 2004-es Objektumorientált nyelv (primitív típusokon kívül minden az Object ősosztály leszármazottja) C++ szerű szintaxis a fordító bájtkódra fordít, a futtatásért a Java Virtual Machine (JVM) felel a bájtkód hordozható platformok között (Windows, Unix, Linux, Macintosh), ami nagyon nagy előny

Történet, jellemzők James Gosling kezdte fejleszteni a Sun Microsystemsnél a 90-es évek elején Első kiadás 1995-ös, azóta sok minden változott, bővült a nyelv A Java 2 Platform, Sandard Edition (SE) 5.0 2004-es Objektumorientált nyelv (primitív típusokon kívül minden az Object ősosztály leszármazottja) C++ szerű szintaxis a fordító bájtkódra fordít, a futtatásért a Java Virtual Machine (JVM) felel a bájtkód hordozható platformok között (Windows, Unix, Linux, Macintosh), ami nagyon nagy előny

Java program HelloWorld: class HelloWorld { public static void main(string[] args) { System.out.println("Hello World!"); } } Egy java fájl tartalmaz egy azonos nevű osztályt (a HelloWorld.java fájlban van egy HelloWorld osztály) A függvények osztálydefiníción belül fordulhatnak elő Fordításkor a HelloWorld.java-ból készül egy HelloWorld.class fájl ( javac paranccsal) Ha az osztálynak van main() metódusa (belépési pontja), akkor végrehajtható (a java paranccsal) Az osztályok úgynevezett package -ekbe (csomagokba) szerveződnek

Java program HelloWorld: class HelloWorld { public static void main(string[] args) { System.out.println("Hello World!"); } } Egy java fájl tartalmaz egy azonos nevű osztályt (a HelloWorld.java fájlban van egy HelloWorld osztály) A függvények osztálydefiníción belül fordulhatnak elő Fordításkor a HelloWorld.java-ból készül egy HelloWorld.class fájl ( javac paranccsal) Ha az osztálynak van main() metódusa (belépési pontja), akkor végrehajtható (a java paranccsal) Az osztályok úgynevezett package -ekbe (csomagokba) szerveződnek

Java program HelloWorld: class HelloWorld { public static void main(string[] args) { System.out.println("Hello World!"); } } Egy java fájl tartalmaz egy azonos nevű osztályt (a HelloWorld.java fájlban van egy HelloWorld osztály) A függvények osztálydefiníción belül fordulhatnak elő Fordításkor a HelloWorld.java-ból készül egy HelloWorld.class fájl ( javac paranccsal) Ha az osztálynak van main() metódusa (belépési pontja), akkor végrehajtható (a java paranccsal) Az osztályok úgynevezett package -ekbe (csomagokba) szerveződnek

Java program HelloWorld: class HelloWorld { public static void main(string[] args) { System.out.println("Hello World!"); } } Egy java fájl tartalmaz egy azonos nevű osztályt (a HelloWorld.java fájlban van egy HelloWorld osztály) A függvények osztálydefiníción belül fordulhatnak elő Fordításkor a HelloWorld.java-ból készül egy HelloWorld.class fájl ( javac paranccsal) Ha az osztálynak van main() metódusa (belépési pontja), akkor végrehajtható (a java paranccsal) Az osztályok úgynevezett package -ekbe (csomagokba) szerveződnek

Java program HelloWorld: class HelloWorld { public static void main(string[] args) { System.out.println("Hello World!"); } } Egy java fájl tartalmaz egy azonos nevű osztályt (a HelloWorld.java fájlban van egy HelloWorld osztály) A függvények osztálydefiníción belül fordulhatnak elő Fordításkor a HelloWorld.java-ból készül egy HelloWorld.class fájl ( javac paranccsal) Ha az osztálynak van main() metódusa (belépési pontja), akkor végrehajtható (a java paranccsal) Az osztályok úgynevezett package -ekbe (csomagokba) szerveződnek

Fordítás, futtatás (parancssor)(1) Fordítás javac paranccsal történik -d argumentummal megadható, hogy milyen könyvtárba kerüljenek a class fájlok Példa: javac HelloWorld.java (abszolút vagy relatív elérési út) Futtatás java parancs -cp argumentummal beállítható, hogy honnan vegye a class fájlokat Példa: java HelloWorld

Fordítás, futtatás (parancssor)(1) Fordítás javac paranccsal történik -d argumentummal megadható, hogy milyen könyvtárba kerüljenek a class fájlok Példa: javac HelloWorld.java (abszolút vagy relatív elérési út) Futtatás java parancs -cp argumentummal beállítható, hogy honnan vegye a class fájlokat Példa: java HelloWorld

Fordítás, futtatás (parancssor)(2) Ha nem ismertek a parancsok be kell állítani Windows: set PATH=%PATH%;c:\Program Files\Java\jdk1.8.0_144\bin\ Linux: gedit /etc/profile export PATH=$PATH:/usr/java/jdk1.8.0_144/bin/

Kódolási konvenció, dokumentáció Kódolási konvenció Fontos betartani az előírt kódolási konvenciókat (részletek később). Fő szempontok: olvashatóság, egyértelműség, értelmezhetőség Dokumentáció Az előadás honlapja Java tutorial Java API doc

Típusok, konverziók Típusok primitívek: byte, short, int, long, float, double, char, boolean objektumok tömbök Változó definiálás boolean b = true; Az operátorok más nyelvből megszokottak (Hivatalos operátor lista)

Típusok, konverziók Típusok primitívek: byte, short, int, long, float, double, char, boolean objektumok tömbök Változó definiálás boolean b = true; Az operátorok más nyelvből megszokottak (Hivatalos operátor lista)

Típusok, konverziók Típusok primitívek: byte, short, int, long, float, double, char, boolean objektumok tömbök Változó definiálás boolean b = true; Az operátorok más nyelvből megszokottak (Hivatalos operátor lista)

Típusok, konverziók Típusok primitívek: byte, short, int, long, float, double, char, boolean objektumok tömbök Változó definiálás boolean b = true; Az operátorok más nyelvből megszokottak (Hivatalos operátor lista)

Elágazások Kétirányú elágazás if ( i % 5 == 0 ) { System.out.println( i+" 5-el osztható" ); } else { System.out.println( i+" 5-el nem osztható" ); } Többirányú elágazás (Csak primitív, felsorolási és String típusra működik.) switch ( i % 4 ){ case 1: System.out.println( i+" 4-es maradéka 1" ); break; case 2: System.out.println( i+" 4-es maradéka 2" ); break; case 3: System.out.println( i+" 4-es maradéka 3" ); break; default: System.out.println( i+" 4-el osztható" ); break; }

Elágazások Kétirányú elágazás if ( i % 5 == 0 ) { System.out.println( i+" 5-el osztható" ); } else { System.out.println( i+" 5-el nem osztható" ); } Többirányú elágazás (Csak primitív, felsorolási és String típusra működik.) switch ( i % 4 ){ case 1: System.out.println( i+" 4-es maradéka 1" ); break; case 2: System.out.println( i+" 4-es maradéka 2" ); break; case 3: System.out.println( i+" 4-es maradéka 3" ); break; default: System.out.println( i+" 4-el osztható" ); break; }

Ciklusok Elöl tesztelő ciklus int i = 0; while ( i < 3 ){ System.out.println( i ); } Hátul tesztelő ciklus int i = 0; do { i++; } while ( i < 5 ); Léptető ciklus for ( int i = 0; i < 5; i += 2){ System.out.println( i ); } Iteráló ciklus List<String> args = new ArrayList<>(); for (String arg : args){ System.out.println( args ); }

Ciklusok Elöl tesztelő ciklus int i = 0; while ( i < 3 ){ System.out.println( i ); } Hátul tesztelő ciklus int i = 0; do { i++; } while ( i < 5 ); Léptető ciklus for ( int i = 0; i < 5; i += 2){ System.out.println( i ); } Iteráló ciklus List<String> args = new ArrayList<>(); for (String arg : args){ System.out.println( args ); }

Ciklusok Elöl tesztelő ciklus int i = 0; while ( i < 3 ){ System.out.println( i ); } Hátul tesztelő ciklus int i = 0; do { i++; } while ( i < 5 ); Léptető ciklus for ( int i = 0; i < 5; i += 2){ System.out.println( i ); } Iteráló ciklus List<String> args = new ArrayList<>(); for (String arg : args){ System.out.println( args ); }

Ciklusok Elöl tesztelő ciklus int i = 0; while ( i < 3 ){ System.out.println( i ); } Hátul tesztelő ciklus int i = 0; do { i++; } while ( i < 5 ); Léptető ciklus for ( int i = 0; i < 5; i += 2){ System.out.println( i ); } Iteráló ciklus List<String> args = new ArrayList<>(); for (String arg : args){ System.out.println( args ); }

Ugró utasítások continue Továbblép a ciklus következő iterációjára break Kilép a ciklusból és a ciklus utáni első vezérlési szerkezetet hajtja végre return Visszatérés egy függvényből vagy eljárásból

Ugró utasítások continue Továbblép a ciklus következő iterációjára break Kilép a ciklusból és a ciklus utáni első vezérlési szerkezetet hajtja végre return Visszatérés egy függvényből vagy eljárásból

Ugró utasítások continue Továbblép a ciklus következő iterációjára break Kilép a ciklusból és a ciklus utáni első vezérlési szerkezetet hajtja végre return Visszatérés egy függvényből vagy eljárásból

1. gyakorló feladat Töltse le az alábbi forrásfájlt és fordítsa le. Elemezze a működését, figyelje meg az egyes nyelvi elemeket.

2. gyakorló feladat Egészítse ki a forrást egy olyan programrészlettel, amely egy tetszőleges számig csak a 3-mal és 5-tel osztható számok összegét számolja ki. (A megoldáshoz használjon ciklust és feltételes utasítást.)

3. gyakorló feladat Keresse meg a hibát az alábbi forrásban, és javítsa ki, hogy a forrás forduljon és helyesen fusson le. A program ismételten növeli egy változó értékét majd kiírja azt.

4. gyakorló feladat Töltse le az alábbi forrásfájlt. A forrásfájl egy egyszerű órát utánoz. A ciklus változó egy ezredmásodperc számláló, amely az órában a ezredmásodpercek számáig ér. A ciklus törzse pedig percszámláló, vagyis rendszeres időközönként megnöveli az értékét. Végül kiírja az órában lévő percek számát. Futtassa le a forrást és nézze meg a kimenetet. Ha hibás keresse meg a hiba okát.

Köszönöm a figyelmet!