JAVA - Einführung. © Übersicht Hintergrund und Geschichte Wie sieht ein JAVA Programm aus ? Was ist ein JAVA Programm ? Wie schreibt/übersetzt.

Slides:



Advertisements
Ähnliche Präsentationen
Java-Servlets Gliederung: Allgemeine Informationen zu Servlets
Advertisements

Einführung in die Programmierung in JAVA AG SS 2003
Seminar Internetdienste Web 2.0 und Rich Internet Applications (RIA) JavaFX Rainer Scholz.
(kleine!) Java Einführung Mittwoch, Heute Ziel: erstes Java-Programm erstellen Von der Aufgabenstellung bis zur Lösung Grundlagen Einfache.
Imperative Programmierung -Entwicklungswerkzeuge
Objektorientierte Programmierung
Datenbankzugriff im WWW (Kommerzielle Systeme)
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java -
Spec# Proseminar Assertions im SS 2007 Uni Paderborn Andreas Martens Betreuer: Dipl. Inform. Björn Metzler.
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Java: Objektorientierte Programmierung
Java: Grundlagen der Sprache
Sommersemester 2003 Lars Bernard
Web-Anwendungen.
Objektorientierte Programmierung JDK-Klassenbibliothek
Das Build-Tool ANT ETIS SS05. ETIS SS05 - Nadine FröhlichANT 2 Gliederung Motivation Build - Datei –Allgemeiner Aufbau –Project –Target –Task –Properties.
Praxis-Repetitorium JAVA zusätzliche, ergänzende Lehrveranstaltung
Introducing the .NET Framework
Brandenburgische Technische Universität Cottbus Program Profiling Andrzej Filipiak Übung Testen von Software SoSe 2006.
Einführung in C EDV1 - 03C-Einführung.
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
DVG Einführung in Java1 Einführung in JAVA.
Einführung in C EDV1 - 04C-Einführung.
DVG Kommentare 1 Kommentare. 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht bis zum Ende der Zeile.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
MSDN Webcast: VB. NET für Einsteiger und Umsteiger Einführung in VB
Björn Schmidt, Hoang Truong Nguyen
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Plattformunabhängige Programmiersprache
Herzlich Willkommen zu „Einführung in die Programmierung mit Java“
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
Einführung in die Programmiersprache Java
Applets Java für’s Web.
Gegenstand EDV Thema: Informative Webseiten
Web Services Die Zukunft netzbasierter Applikationen iternum GmbH Alexanderstraße Frankfurt/Main
EJB-Applikationsserver
Projektarbeit PHP 5.3 / MySQL & Content Management Systems
Java und Eclipse.
Consulting and Solutions.NET Vortragsreihe – Vorstellung der Referenten Happy Arts Software Markus Kämmerer IT-Erfahrung seit 1987,
Aichinger Christian, Strasser Jürgen. Inhalt JSF EJB Praxis - Integration.
Your name Bedeutung von Internet- Technologien Gruppe 1 Andreas Feuerstein Philipp Hochratner Christian Weinzinger.
Eine Präsentation von Peter Rasser
Vergleich verschiedener Konzepte für das Software Engineering Praktikum.
Informatik Objekte und Klassen 1. Objektorientiertes Modellieren und Programmieren 1.1 Objekte und Klassen.
Java Server Pages Sergej Keterling
Oliver Spritzendorfer Thomas Fekete
Wilfried Imrich CuP - Java Erste Vorlesung Entspricht ungefähr Kapitel 1.1 des Skriptums Wilfried Imrich Montanuniversität Leoben Freitag, 4. Oktober 2002.
Lernen der Programmiersprache Java
PI Burgenland Java und JavaScript 1. Teil
Übung Informatik I exercise01. 2 Inhaltsübersicht Nachbesprechung Übung 1 Individuelle Fragen/Bemerkungen.
Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen
Java-Kurs Übung Benutzeroberflächen und Graphik Frames (Fenster)
Datenbanken im Web 1.
Geschichte - Entstehung - Was ist PHP? Einordnung - Allgemeines
Zur Veranstaltung zAllgemeine Einführung in die Programmierung yDatenstrukturen yAlgorithmen zStandard-Ein-/Ausgabeoperationen zVerwendung der graphischen.
Institut für Kartographie und Geoinformation Prof. Dr. L. Plümer, Dipl.-Ing. D. Dörschlag, Dr. G. Gröger Einführung in die Programmierung mit Java 13.
IT2 – WS 2005/20061Nov 14, 2005 Visibility  public: Sichtbar in allen Paketen  protected: Sichtbar innerhalb des Pakets und in den Unterklassen  (default,
Microsoft.NET - Plattform Kurzer Überblick Vergleich mit Java Von Thomas Zahn Januar 2001.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 1. Vorlesung WS 2003/2003.
Einführung in Java PING e.V. Weiterbildung Andreas Rossbacher 24. März 2005.
Web Services Spezielle Methoden der SWT Liste V – WS 2008/2009 Christian Boryczewski.
Mobile Code Security Im Rahmen des Seminars Web Security Andreas Marx WIF
ORB – Konzepte Ist – Analyse der betrieblichen Notwendigkeiten, Anforderungsableitung an moderne Lösungskonzepte, alternative ORB – Konzepte mit Zukunft,
Java Programme nur ein bisschen objektorientiert.
Programmierung unter VB.Net mit der IDE VisualStudio. Schritt für Schritt erklärt und beschrieben. Zielgruppe: Komplette Neueinsteiger mit fundiertem Computerwissen.
Dynamische Webseiten CGI & co. © CGI - Lösung für alle ? Ja CGI kann alles tun, was man für Anwendungen braucht flexibel (beliebige.
Programmierung unter VB.Net mit der IDE VisualStudio. Schritt für Schritt erklärt und beschrieben. Zielgruppe: Komplette Neueinsteiger mit fundiertem Computerwissen.
Hello World! Javakurs 2013 Arne Kappen
Thema 4: Klassenbibliothek
Ein kurzer Überblick Thomas Karp
 Präsentation transkript:

JAVA - Einführung

© Übersicht Hintergrund und Geschichte Wie sieht ein JAVA Programm aus ? Was ist ein JAVA Programm ? Wie schreibt/übersetzt man ein JAVA Programm ? Entwicklungsumgebungen

© JAVA gestern Green Projekt von SUN, OAK Umgebung für embedded controller Plattformunabhängigkeit James Gosling Internet Anwendungen Interaktive Applets in Webseiten Allgemein verwendbare Programmiersprache Große Projekte mit grafischer Oberfläche Office Pakete,... gescheitert !

© heute Internet Anwendungen Auf Serverseite Servlets Verteilte Systeme RMI, CORBA, Agenten,... Integration XML Java Beans Allgemein verwendbare Programmiersprache Performance zu schlecht für grafische Oberflächen spielt bei Datenbanken, verteilten Systemen,... keine Rolle

© und morgen ? The Network is the computer ! Heute Standalone PCs/große Applikationspakete Separate Installationen pro PC Hoher Administrationsaufwand Morgen Network Computer (NC) + zentraler Server Software (in Java) nur auf Server Download ‚just-in-time‘ Browser ist „Betriebssystem“ auf Clients

© JAVA – The Language Einfache, moderne Programmiersprache ähnlich C/C++ einfach komplexe Eigenschaften von C++ fehlen (Mehrfachvererbung, operator overloading, templates,...) automatische Speicherverwaltung (garbage collection) streng typisiert modern objektorientiert multi-threaded plattformunabhängig

© Warum JAVA ? andere Sprachen haben diese Eigenschaften auch ! Smalltalk, Perl (?), Python, Ruby,... Einfach zu lernen zu verwenden mächtige, standardisierte Bibliotheken #define Spekulation ON Markt nicht Microsoft #define Spekulation OFF "gute Mischung"

© Unterschiede C++/JAVA kein Präprozessor keine Pointer keine Mehrfachvererbung keine alleinstehenden Funktionen (alles innerhalb von Klassen) kein goto kein Operator Overloading keine automatische Typumwandlung keine Templates usw.

© JAVA Programme Applikation "normales" Programm, Textmode oder grafische Oberfläche Applet läuft im Browser ab, grafische Oberfläche Restriktionen zur Sicherung (Sandbox) Servlet läuft im (Web-) Server ab erzeugt bel. Ausgabe (oft HTML, aber auch beliebige Daten möglich) Bean wiederverwendbare Komponente

© Hello World // Hello World in JAVA public class HelloWorld { public static void main(String args[]) { System.out.println("Hello World"); } Alles innerhalb Klassen (hier HelloWorld) System.out.println schreibt auf die Standardausgabe Jedes Java Programm verwendet automatisch das Package java.lang objektorientiert ?

© Hello World II // Hello World objektorientiert public class HelloWorldOOP { public void hallo() { System.out.println("Hello World"); } public static void main(String args[]) { HelloWorldOOP mg = new HelloWorldOOP(); mg.hallo(); } main ist zwar innerhalb der Klasse programmiert, kann (und sollte) aber als Teil eines anderen Objekts betrachtet werden Erklärung später

© Erstellung von Programmen Java Compiler Bytecode Verifier Class Loader JVM JIT Compiler Interpreter Java Source Internet Hardware Byte- code

© Übersetzen Java Quellcode-Dateien haben Endung.java Name der Datei ist GENAU der Name der Klasse z.B. Klasse HelloWorld in Datei HelloWorld.java nicht in helloworld.java,.... Genau eine Klasse pro Datei Übersetzen mit javac dabei wird Bytecode erzeugt, Endung.class, hier also HelloWorld.class Ausführen mit java hier also: java HelloWorld Annahme: Alle Dateien im aktuellen Verzeichnis

© Bibliotheken Java Libraries sind als packages organisiert (hierarchisch) Alle Programme verwenden automatisch java.lang Andere müssen explizit importiert werden z.B. grafische Objerflächen im package java.awt import java.awt.*; Wichtige packages: java.ioEin-/Ausgabe java.utilAlgorithmen/Datenstrukturen java.netTCP/IP java.math java.awtgrafische Oberfläche (alt) java.swinggrafische Oberfläche (neu)

© Dokumentation

© JVM virtuelle Maschine könnte aber auch real (Hardware) sein verarbeitet (interpretiert) Bytecode enthält i.w. alle Komponenten einer realen CPU Befehlssatz Speicherverwaltung Register Stacks Heap (mit garbage collection) Bytecode wird vor Ausführung überprüft

© Performance Java Programme sind "relativ" langsam (Interpreter) Entwicklung schneller, Ausführung langsamer Beschleunigung durch JIT Compiler Bytecode wird zunächst in nativen Maschinencode übersetzt und dann ausgeführt Maschinencode wird nach Ausführung vernichtet (plattformunabhängigkeit) Carbage collection erleichtert Programmierung/vermeidet Fehler, aber kostet Performance macht Einsatz bei RT Systemen schwierig/unmöglich geeignete Programmiertechniken

© Entwicklungsumgebung JDK (Java Development Kit) von SUN Referenzimplementierung kostenlos Kommandozeilen Werkzeuge javac (Compiler) java (JVM) jre (Java Runtime Environment) javadoc usw. grafische IDEs Borland JBuilder IBM Visual Age for Java Microsoft VJ++ (nicht mehr) usw.