Java I. A Java programozási nyelv



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

A J2EE fejlesztési si platform (application. model) 1.4 platform. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

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

Bevezetés a Java programozási nyelvbe

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

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

Bevezetés a Java programozási nyelvbe

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

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

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

A Java EE 5 plattform

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

Programozási nyelvek JAVA EA+GY 1. gyakolat

Szoftvertechnológia alapjai Java előadások

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

Közösség, projektek, IDE

A NYELV NEVE. Kezdetben: Oak. James Gosling. Java: Sun Mycrosystems védjegyev

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

Programozási nyelv Java

Flex: csak rugalmasan!

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ási technológia I.

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

A Java nyelv bemutatása

Web-fejlesztés NGM_IN002_1

JAVA webes alkalmazások

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

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

Java és web programozás

ARM Cortex magú mikrovezérlők. mbed

Segédanyag: Java alkalmazások gyakorlat

OOP: Java 1.Gy: Java alapok

OPENCV TELEPÍTÉSE SZÁMÍTÓGÉPES LÁTÁS ÉS KÉPFELDOLGOZÁS. Tanács Attila Képfeldolgozás és Számítógépes Grafika Tanszék Szegedi Tudományegyetem

Mobilplatformok Merre tart a világ? Kis Gergely MattaKis Consulting

A Java programozási nyelv

Bevezetés, platformok. Léczfalvy Ádám

Bevezető. Servlet alapgondolatok

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

Java programozási nyelv

Hello World. Óbudai Egyetem, Java Standard Edition Mérnök Informatikus szak, BSc Labor 1. Bedők Dávid v0.3

Segédanyag: Java alkalmazások gyakorlat

C++ fejlesztés az ECLIPSE környezetben

Osztott alkalmazások fejlesztési technológiái Áttekintés

Kommunikációs rendszerek teljesítőképesség-vizsgálata

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

Javac és Eclipse útmutató

iphone és Android két jó barát...

Mobil Informatikai Rendszerek

JAVA nyelvi alapok. Adatbányászati technikák (VISZM185) Dávid István

Java-ról Kotlinra. Ekler Péter AutSoft BME AUT. AutSoft

Programozás I. gyakorlat

Gyakorlati vizsgatevékenység B

Programzás I gyakorlat

MVC Java EE Java EE Kliensek JavaBeanek Java EE komponensek Web-alkalmazások Fejlesztői környezet. Java Web technológiák

Hello World Servlet. Készítsünk egy szervletet, amellyel összeadhatunk két számot, és meghívásakor üdvözlőszöveget ír a konzolra.

Informatikai alkalmazások - levelező

Java felhasználói felület

A JavaServer Pages (JSP)

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

Adatbázis és szoftverfejlesztés elmélet

Java Programozás 2. Ea: Java alapok. Ismétlés ++

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

Végfelhasználói Applet kézikönyv

Dr. Schuster György október 30.

Szolgáltatásintegráció (VIMIM234) tárgy bevezető

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

Automatizált Java Build. ApacheAnt használatával

Google App Engine az Oktatásban 1.0. ügyvezető MattaKis Consulting

Fordított és szkript nyelvek összehasonlító elemzése. Sergyán Szabolcs

Mobil Informatikai Rendszerek

Google Web Toolkit. Elek Márton. Drótposta kft.

Üdvözli Önöket A PGY3 tantárgy! Bakay Árpád dr. NETvisor kft (30) arpad.bakay@netvisor.hu

JavaScript Web AppBuilder használata

A JavaServer Pages (JSP)

9. MPI

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

Alkalmazások fejlesztése A D O K U M E N T Á C I Ó F E L É P Í T É S E

C++ programok fordítása

RIA Rich Internet Application

Android alapok. Android játékfejlesztés

Orvosi készülékekben használható modern fejlesztési technológiák lehetőségeinek vizsgálata

A NetBeans IDE Ubuntu Linux operációs rendszeren

SOA modell: Ez az interfész definiálja az elérhető adatokat, és megadja, hogy hogyan lehet azokhoz hozzáférni.

Enterprise JavaBeans. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Az Enterprise JavaBeans

Webes alkalmazások fejlesztése

Enterprise JavaBeans 1.4 platform (EJB 2.0)

1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben?

Gyakorlati vizsgatevékenység A

Kedvenc Ingyenes editorok avagy milyen a programozó jobbkeze? PSPAD editor DEVPHP IDE

JAVA SE/ME tanfolyam tematika

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft

Programozás alapjai Bevezetés

A L i n u x r u h á j a

Interaktív, grafikus környezet. Magasszintû alkalmazási nyelv (KAL) Integrált grafikus interface könyvtár. Intelligens kapcsolat más szoftverekkel

Adatszerkezetek és algoritmusok

ÁNYK53. Az Általános nyomtatványkitöltő (ÁNYK), a személyi jövedelemadó (SZJA) bevallás és kitöltési útmutató együttes telepítése

Fejlesztői szemmel at K

A JavaServer Pages (JSP)

és az instanceof operátor

A dokumentáció felépítése

Átírás:

Java I. A Java programozási nyelv története,, alapvető jellemzői Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2007. 02. 12. Java I.: Történet, jellemzők, JDK JAVA1 / 1 Egy kis történelem 1. 1990-es évek eleje: a SUN belső project-je James Gosling vezetésével (set top box) platformfüggetlen technológia szükségessége. Egyik akkori nyelv sem volt megfelelő, ezért terveztek egy újat. A projekt (és vele az új nyelv) aztán lassan elhalt. Java I.: Történet, jellemzők, JDK JAVA1 / 2 Egy kis történelem 2. 1990-es évek közepe: az Internet rohamos terjedése újra felvetette a platform-független technológia szükségességét. Újraéledt a project, de általánosabb célkitűzéssel. Eredménye a Java nyelv első verziója lett. Java I.: Történet, jellemzők, JDK JAVA1 / 3

Egy kis történelem 3. 1995: Java 1 platform 1999: Java 2 platform (1.2-es verziószámtól) Jelenleg: (2007. február) J2SE 1.6 (Java 6 platform) A Java egyszerre programozási nyelv platform Java I.: Történet, jellemzők, JDK JAVA1 / 4 A Java nyelv alapvető tulajdonságai 1. Magas szintű programozási nyelv platform-független általános célú teljesen objektum-orientált egyszerű interpretált (de speciális módon) elosztott (distributed) Java I.: Történet, jellemzők, JDK JAVA1 / 5 A Java nyelv alapvető tulajdonságai 2. robosztus biztonságos hordozható többszálú (multithreaded) A C++ ismeretében született, annak formalizmusát tekintette mintának A C++ hátrányait igyekezett kiküszöbölni Java I.: Történet, jellemzők, JDK JAVA1 / 6

A Java nyelv egyszerű C / C++ szerű nyelv, de nem vette át azokat a nyelvi elemeket, amelyek veszélyes konstrukciókat engednek meg. Legfontosabb egyszerűsítés a pointerek "száműzése". A Java nyelv könnyen megtanulható. Ez nem jelenti azt, hogy jó Java programok írása is könnyű feladat Nagyon nagyméretű standard könyvtár készlet! Ez hatékonyabbá teszi a programozást, de nehezíti a megtanulást. Java I.: Történet, jellemzők, JDK JAVA1 / 7 A Java egyszerre fordított és interpretált JVM Forráskód Byte kód Gépi kód Java I.: Történet, jellemzők, JDK JAVA1 / 8 A Java mint platform A Java egy tisztán software megvalósítású platform is. Két része van a Java virtuális gép (JVM) a Java programozási interface (Java API) Java I.: Történet, jellemzők, JDK JAVA1 / 9

A Java szabványok A SUN az alábbi részekre (kiadásokra) osztja a Java alapú szaványos eszközöket: J2SE - Java 2 Plattform, Standard Edition J2EE- Java 2 Plattform, Enterprise Edition J2ME- Java 2 Plattform, Micro Edition Java I.: Történet, jellemzők, JDK JAVA1 / 10 A Java szabványok - J2SE Mindazon alapszolgáltatások, amelyek Java programok készítését teszik lehetővé. Legfontosabb részei maga a Java nyelv alapvető hálózati szolgáltatások RMI applet és a szervlet lokális komponensek (JavaBeans) GUI (platformfüggetlen felhasználói interface elemek) és még nagyon-nagyon sok más... Java I.: Történet, jellemzők, JDK JAVA1 / 11 A Java szabványok - J2EE J2EE- Java 2 Plattform, Enterprise Edition A J2SE szolgáltatásait is tartalmazza, ezen felül a legfontosabb részei: komponens szemléletű fejlesztés a nagyméretű alkalmazások készítését támogatja Web szolgáltatás alapú alkalmazások készítése biztonságos, robosztus rendszerek fejlesztésének eszözei Java I.: Történet, jellemzők, JDK JAVA1 / 12

A Java szabványok - J2ME J2ME- Java 2 Plattform, Micro Edition Kis erőforrásokkal rendelkező rendszerekre optimalizált Smart card-ok, vezeték nélküli eszközök, beágyazott rendszerek stb. fejlesztéséhez Java I.: Történet, jellemzők, JDK JAVA1 / 13 A Java program Java program: Java-fordítóval készült önálló alkalmazás. az adott architektúrán futó JVM hajtja végre mindazon jogokkal rendelkezik, mint bármely más alkalmazás Java I.: Történet, jellemzők, JDK JAVA1 / 14 A Java applet Applet: HTML oldalból elérhető, végrehajtható byte kód, ami Java forrásból készült. A HTML kódba csak egy hivatkozás kerül, az applet maga (a lefordított kód) bárhonnan letöltődhet a HTML oldal értelmezője (a böngésző) hajtja végre (a böngésző valósítja meg a JVM-et) korlátozott jogokkal rendelkezik biztonsági okok miatt Java I.: Történet, jellemzők, JDK JAVA1 / 15

És s egy névrokon: n a JavaScript Eredetileg LiveScript néven a Netscape-nél kifejlesztett script nyelv (tehát nem bináris kód) Célja web oldalak dinamikussá tétele. A (szöveges) kód része a html oldalnak. A Java-hoz hasonlóan a C++ szintakszisához hasonló formalizmus Nem objektum orientált, csak objektum alapú (nem implementálja valamennyi alapelvet) Bár ezt is a böngésző értelmezi, semmi köze a Java platformhoz (nem a JVM értelmezi) Java I.: Történet, jellemzők, JDK JAVA1 / 16 Java alapú fejlesztés Valamennyi Java szabvány, és a SUN által implementált alapvető fejlesztőeszközök nyílt forrásúak és ingyenesek. Ezen kívül számtalan nyílt forrású, ingyenes zárt forrású, de ingyenes kereskedelmi termék. Java I.: Történet, jellemzők, JDK JAVA1 / 17 A minimális fejlesztőkörnyezet A J2SE szolgáltatásaihoz: J2SDK vagy újabban JDK ("Java Development Kit) a java.sun.com oldalról ingyen letölthető számtalan platformra a legfrissebb verzió: JDK 6.0 (2007. február) A tárgy keretében elhangzottakhoz az JDK 1.2 vagy frissebb verziók mindegyike megfelelő. A kivételeket külön jelezzük. Egy tetszőleges szövegszerkesztő Java I.: Történet, jellemzők, JDK JAVA1 / 18

Kényelmesebbesebb fejlesztő környezetek Ingyenes integrált fejlesztőeszközök például: NetBeans letölthető a java.sun.com címről Eclipse letölthető a www.eclipse.org címről Mindkét fejlesztőeszköz maga is Java-ban íródott, tehát sokféle platformon futtatható (Pl. Windows, Linux) Java I.: Történet, jellemzők, JDK JAVA1 / 19 A JDK legfontosabb elemei A Java API-t implementáló könyvtárak Segédprogramok: javac: java fordító java: a JVM (futtatáshoz) javadoc: automatikus dokumentáció generáláshoz a forrás szöveg és a benne található speciális kommentek alapján jdb: debugger stb. Java I.: Történet, jellemzők, JDK JAVA1 / 20 A minimális futtató környezet A J2SE szolgáltatásaihoz: JRE (Java Runtime Environment) A java.sun.com címről letölthető számtalan platformra A JDK tartalmazza Ha egy gépen csak JRE van, bármely más gépen fejlesztett Java program futtatható, ha ugyanolyan, vagy korábbi verziójú JDK segítségével készült. Java I.: Történet, jellemzők, JDK JAVA1 / 21

A "Hello World" program class HelloWorld { public static void main( String args[] ) { System.out.print("Hello "); if ( args.length == 0 ) System.out.println("World!"); else System.out.println(args[0] + "!"); } } Kötelezően egy HelloWorld.java file-ban kell lennie. Java I.: Történet, jellemzők, JDK JAVA1 / 22 Fejlesztési si lépésekl A HelloWorld.java file megszerkesztése egy tetszőleges szövegszerkesztővel Fordítás: javac HelloWorld.java abban a jegyzékben kell kiadni, ahol a forrásfile van A fordítás eredménye egy HelloWorld.class file, ugyanabban a jegyzékben Futtatás: java HelloWorld paraméter a HelloWorld.class file-t futtatja Java I.: Történet, jellemzők, JDK JAVA1 / 23