Programozási nyelvek JAVA EA+GY 1. gyakolat

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

Programozási nyelv Java

Programozási technológia I.

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

Szoftvertechnológia alapjai Java előadások

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

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

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

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

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

Java I. A Java programozási nyelv

Informatika terméktervezőknek

Java II. I A Java programozási nyelv alapelemei

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

A C# programozási nyelv alapjai

Java programozási nyelv

C programozás. 1 óra Bevezetés

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

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

Adatszerkezetek és algoritmusok

A 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

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

Programozás I. Első ZH segédlet

Java II. I A Java programozási nyelv alapelemei

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

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

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?

és az instanceof operátor

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

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

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

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

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

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

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

Pénzügyi algoritmusok

A C programozási nyelv I. Bevezetés

A C programozási nyelv I. Bevezetés

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

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

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

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

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

Apple Swift kurzus 3. gyakorlat

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

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

JAVA PROGRAMOZÁS 2.ELŐADÁS

Webprogramozás szakkör

A programozás alapjai

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

A C# PROGRAMOZÁSI NYELV

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

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

Szkriptnyelvek. 1. UNIX shell

C++ programozási nyelv Konstruktorok-destruktorok

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

Szoftvertervezés és -fejlesztés I.

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

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

Programozási nyelvek Python

Adatbázis és szoftverfejlesztés elmélet

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

A Java nyelv. Bevezetés, alapok Elek Tibor

3D-s technológiák a játékfejlesztésben UDK bevezetés

Programozási nyelvek Java

Pénzügyi algoritmusok

Python tanfolyam Python bevezető I. rész

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

Programozási nyelvek Java

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

OOP #14 (referencia-elv)

Bevezetés a Python programozási nyelvbe

Globális operátor overloading

Objektumorientált Programozás III.

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

Programzás I gyakorlat

Vezérlési szerkezetek

Programozás C nyelven (3. ELŐADÁS) Sapientia EMTE

Haladó DBMS ismeretek 1

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

Függvények. Programozás I. Hatwágner F. Miklós november 16. Széchenyi István Egyetem, Gy r

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

Bevezetés a Java programozási nyelvbe

Imperatív programozás

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

JAVA PROGRAMOZÁS 1.ELŐADÁS

BASH script programozás II. Vezérlési szerkezetek

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

Programozási nyelvek Java

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

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

Imperatív programozás

Programozási nyelvek Java

Programozás I. C# bevezető. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 17.

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

Ismerkedés a Python programnyelvvel. és annak micropython változatával

Bevezetés a Java programozási nyelvbe

Átírás:

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

Tartalom 1 A Java alapjai 2 Java program írása 3 Alapvető elemek 4 Vezérlési szerkezetek 5 Gyakorlás

Tartalom 1 A Java alapjai 2 Java program írása 3 Alapvető elemek 4 Vezérlési szerkezetek 5 Gyakorlás

Tartalom 1 A Java alapjai 2 Java program írása 3 Alapvető elemek 4 Vezérlési szerkezetek 5 Gyakorlás

Tartalom 1 A Java alapjai 2 Java program írása 3 Alapvető elemek 4 Vezérlési szerkezetek 5 Gyakorlás

Tartalom 1 A Java alapjai 2 Java program írása 3 Alapvető elemek 4 Vezérlési szerkezetek 5 Gyakorlás

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, Standard 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 a programok relatíve lassúak: persze ez sokszor nem számít vagy nem érzékelhető

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, Standard 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 a programok relatíve lassúak: persze ez sokszor nem számít vagy nem érzékelhető

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, Standard 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 a programok relatíve lassúak: persze ez sokszor nem számít vagy nem érzékelhető

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, Standard 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 a programok relatíve lassúak: persze ez sokszor nem számít vagy nem érzékelhető

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, Standard 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 a programok relatíve lassúak: persze ez sokszor nem számít vagy nem érzékelhető

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, Standard 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 a programok relatíve lassúak: persze ez sokszor nem számít vagy nem érzékelhető

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, Standard 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 a programok relatíve lassúak: persze ez sokszor nem számít vagy nem érzékelhető

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, Standard 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 a programok relatíve lassúak: persze ez sokszor nem számít vagy nem érzékelhető

A nyelvről Garbage Collector (automatikus szemétgyűjtés) van Így nehéz elrontani a memória felszabadítást Néha azért felgyűlik a szemét Nincs memóriafelszabadító utasítás (mint a delete a C++ esetén) 8 primitív típus (boolean, char, byte, short, int, long, float, double) Az Object osztály (java.lang.object) minden további osztály őse Javadoc: viszonylag kényelmes dokumentációs kommentezést tesz lehetővé Nagy hangsúly van a kivételkezelésen

A nyelvről Garbage Collector (automatikus szemétgyűjtés) van Így nehéz elrontani a memória felszabadítást Néha azért felgyűlik a szemét Nincs memóriafelszabadító utasítás (mint a delete a C++ esetén) 8 primitív típus (boolean, char, byte, short, int, long, float, double) Az Object osztály (java.lang.object) minden további osztály őse Javadoc: viszonylag kényelmes dokumentációs kommentezést tesz lehetővé Nagy hangsúly van a kivételkezelésen

A nyelvről Garbage Collector (automatikus szemétgyűjtés) van Így nehéz elrontani a memória felszabadítást Néha azért felgyűlik a szemét Nincs memóriafelszabadító utasítás (mint a delete a C++ esetén) 8 primitív típus (boolean, char, byte, short, int, long, float, double) Az Object osztály (java.lang.object) minden további osztály őse Javadoc: viszonylag kényelmes dokumentációs kommentezést tesz lehetővé Nagy hangsúly van a kivételkezelésen

A nyelvről Garbage Collector (automatikus szemétgyűjtés) van Így nehéz elrontani a memória felszabadítást Néha azért felgyűlik a szemét Nincs memóriafelszabadító utasítás (mint a delete a C++ esetén) 8 primitív típus (boolean, char, byte, short, int, long, float, double) Az Object osztály (java.lang.object) minden további osztály őse Javadoc: viszonylag kényelmes dokumentációs kommentezést tesz lehetővé Nagy hangsúly van a kivételkezelésen

A nyelvről Garbage Collector (automatikus szemétgyűjtés) van Így nehéz elrontani a memória felszabadítást Néha azért felgyűlik a szemét Nincs memóriafelszabadító utasítás (mint a delete a C++ esetén) 8 primitív típus (boolean, char, byte, short, int, long, float, double) Az Object osztály (java.lang.object) minden további osztály őse Javadoc: viszonylag kényelmes dokumentációs kommentezést tesz lehetővé Nagy hangsúly van a kivételkezelésen

Java program Egy java fájl tartalmaz egy azonos nevű osztályt (a FooProgram.java fájlban van egy FooProgram osztály) A függvények osztálydefiníción belül fordulhatnak elő Más osztály függvényeinek használatához importálni kell a megfelelő osztályt Fordításkor a FooProgram.java-ból készül egy FooProgram.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 (pl. foo.gui, foo.engine, stb.) egy package-be tartozó osztályok látják egymást (nem kell importálni) egy package-be tartozó osztályok alapértelmezésben látják egymás adattagjait

Java program Egy java fájl tartalmaz egy azonos nevű osztályt (a FooProgram.java fájlban van egy FooProgram osztály) A függvények osztálydefiníción belül fordulhatnak elő Más osztály függvényeinek használatához importálni kell a megfelelő osztályt Fordításkor a FooProgram.java-ból készül egy FooProgram.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 (pl. foo.gui, foo.engine, stb.) egy package-be tartozó osztályok látják egymást (nem kell importálni) egy package-be tartozó osztályok alapértelmezésben látják egymás adattagjait

Java program Egy java fájl tartalmaz egy azonos nevű osztályt (a FooProgram.java fájlban van egy FooProgram osztály) A függvények osztálydefiníción belül fordulhatnak elő Más osztály függvényeinek használatához importálni kell a megfelelő osztályt Fordításkor a FooProgram.java-ból készül egy FooProgram.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 (pl. foo.gui, foo.engine, stb.) egy package-be tartozó osztályok látják egymást (nem kell importálni) egy package-be tartozó osztályok alapértelmezésben látják egymás adattagjait

Java program Egy java fájl tartalmaz egy azonos nevű osztályt (a FooProgram.java fájlban van egy FooProgram osztály) A függvények osztálydefiníción belül fordulhatnak elő Más osztály függvényeinek használatához importálni kell a megfelelő osztályt Fordításkor a FooProgram.java-ból készül egy FooProgram.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 (pl. foo.gui, foo.engine, stb.) egy package-be tartozó osztályok látják egymást (nem kell importálni) egy package-be tartozó osztályok alapértelmezésben látják egymás adattagjait

Java program Egy java fájl tartalmaz egy azonos nevű osztályt (a FooProgram.java fájlban van egy FooProgram osztály) A függvények osztálydefiníción belül fordulhatnak elő Más osztály függvényeinek használatához importálni kell a megfelelő osztályt Fordításkor a FooProgram.java-ból készül egy FooProgram.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 (pl. foo.gui, foo.engine, stb.) egy package-be tartozó osztályok látják egymást (nem kell importálni) egy package-be tartozó osztályok alapértelmezésben látják egymás adattagjait

Java program Egy java fájl tartalmaz egy azonos nevű osztályt (a FooProgram.java fájlban van egy FooProgram osztály) A függvények osztálydefiníción belül fordulhatnak elő Más osztály függvényeinek használatához importálni kell a megfelelő osztályt Fordításkor a FooProgram.java-ból készül egy FooProgram.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 (pl. foo.gui, foo.engine, stb.) egy package-be tartozó osztályok látják egymást (nem kell importálni) egy package-be tartozó osztályok alapértelmezésben látják egymás adattagjait

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) JavaDoc készítése javadoc paranccsal történik -d argumentummal megadható, hogy milyen könyvtárba kerüljön a dokumenáció -encoding argumentummal beállítható a karakterkódolás Példa: javadoc -d doc -encoding utf-8 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/

Fordítás, futtatás (parancssor)(2) JavaDoc készítése javadoc paranccsal történik -d argumentummal megadható, hogy milyen könyvtárba kerüljön a dokumenáció -encoding argumentummal beállítható a karakterkódolás Példa: javadoc -d doc -encoding utf-8 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 a kódolási konvenciókat. Fő szempontok: olvashatóság, egyértelműség, értelmezhetőség Oracle által javasolt kódolási konvenciók a Java nyelvre: Itt található Dokumentáció Az előadás honlapja Java tutorial Java API doc

Típusok, konverziók Típusok byte, short, int, long,float, double, char, boolean Csomagoló osztályok (Byte, Short...) oktálisan hexadecimálisan és tudományos módon is lehet értéket adni minden primitív és csomagolt típusból és bizonyos objektumokból lehet tömböt csinálni Változó definiálás boolean b = true; Konverzió A típusok közti bővítés automatikus A típusok közti szűkítés csak típuskényszerítéssel Az operátorok más nyelvből megszokottak (Hivatalos operátor lista)

Típusok, konverziók Típusok byte, short, int, long,float, double, char, boolean Csomagoló osztályok (Byte, Short...) oktálisan hexadecimálisan és tudományos módon is lehet értéket adni minden primitív és csomagolt típusból és bizonyos objektumokból lehet tömböt csinálni Változó definiálás boolean b = true; Konverzió A típusok közti bővítés automatikus A típusok közti szűkítés csak típuskényszerítéssel Az operátorok más nyelvből megszokottak (Hivatalos operátor lista)

Típusok, konverziók Típusok byte, short, int, long,float, double, char, boolean Csomagoló osztályok (Byte, Short...) oktálisan hexadecimálisan és tudományos módon is lehet értéket adni minden primitív és csomagolt típusból és bizonyos objektumokból lehet tömböt csinálni Változó definiálás boolean b = true; Konverzió A típusok közti bővítés automatikus A típusok közti szűkítés csak típuskényszerítéssel Az operátorok más nyelvből megszokottak (Hivatalos operátor lista)

Típusok, konverziók Típusok byte, short, int, long,float, double, char, boolean Csomagoló osztályok (Byte, Short...) oktálisan hexadecimálisan és tudományos módon is lehet értéket adni minden primitív és csomagolt típusból és bizonyos objektumokból lehet tömböt csinálni Változó definiálás boolean b = true; Konverzió A típusok közti bővítés automatikus A típusok közti szűkítés csak típuskényszerítéssel Az operátorok más nyelvből megszokottak (Hivatalos operátor lista)

Típusok, konverziók Típusok byte, short, int, long,float, double, char, boolean Csomagoló osztályok (Byte, Short...) oktálisan hexadecimálisan és tudományos módon is lehet értéket adni minden primitív és csomagolt típusból és bizonyos objektumokból lehet tömböt csinálni Változó definiálás boolean b = true; Konverzió A típusok közti bővítés automatikus A típusok közti szűkítés csak típuskényszerítéssel Az operátorok más nyelvből megszokottak (Hivatalos operátor lista)

Típusok, konverziók Típusok byte, short, int, long,float, double, char, boolean Csomagoló osztályok (Byte, Short...) oktálisan hexadecimálisan és tudományos módon is lehet értéket adni minden primitív és csomagolt típusból és bizonyos objektumokból lehet tömböt csinálni Változó definiálás boolean b = true; Konverzió A típusok közti bővítés automatikus A típusok közti szűkítés csak típuskényszerítéssel Az operátorok más nyelvből megszokottak (Hivatalos operátor lista)

Típusok, konverziók Típusok byte, short, int, long,float, double, char, boolean Csomagoló osztályok (Byte, Short...) oktálisan hexadecimálisan és tudományos módon is lehet értéket adni minden primitív és csomagolt típusból és bizonyos objektumokból lehet tömböt csinálni Változó definiálás boolean b = true; Konverzió A típusok közti bővítés automatikus A típusok közti szűkítés csak típuskényszerítéssel Az operátorok más nyelvből megszokottak (Hivatalos operátor lista)

Elágazások Kétirányú elágazás if (feltétel){} else if (feltétel){} else {} Többirányú elágazás switch (változó){ case érték: utasítás/utasítás block; break; case érték: utasítás/utasítás block; break; case érték: utasítás/utasítás block; break; default: utasítás/utasítás block; break; } Csak primitív típusokra működik

Elágazások Kétirányú elágazás if (feltétel){} else if (feltétel){} else {} Többirányú elágazás switch (változó){ case érték: utasítás/utasítás block; break; case érték: utasítás/utasítás block; break; case érték: utasítás/utasítás block; break; default: utasítás/utasítás block; break; } Csak primitív típusokra működik

Ciklusok Előltesztelő while (feltétel){} Hátultesztelő ciklus do {} while (feltétel) Lépésszámláló ciklus for (inicializálás; termináló feltétel; léptetés){} For-each for (T típusú változó : T típusú kollekció){}

Ciklusok Előltesztelő while (feltétel){} Hátultesztelő ciklus do {} while (feltétel) Lépésszámláló ciklus for (inicializálás; termináló feltétel; léptetés){} For-each for (T típusú változó : T típusú kollekció){}

Ciklusok Előltesztelő while (feltétel){} Hátultesztelő ciklus do {} while (feltétel) Lépésszámláló ciklus for (inicializálás; termináló feltétel; léptetés){} For-each for (T típusú változó : T típusú kollekció){}

Ciklusok Előltesztelő while (feltétel){} Hátultesztelő ciklus do {} while (feltétel) Lépésszámláló ciklus for (inicializálás; termináló feltétel; léptetés){} For-each for (T típusú változó : T típusú kollekció){}

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. feladat Töltse le a Main.java forrásfájlt és fordítsa le! Elemezze a működését, figyelje meg az egyes nyelvi elemeket!

2. 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. feladat Keresse meg a hibát az Increment.java és a Clock.java programokban és javítsa ki, hogy a forrás forduljon és fusson!