Kapitel 02. Java was, wann, warum, wieso. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz

Ähnliche Dokumente
1. Java Grundbegriffe

Institut für Programmierung und Reaktive Systeme. Java 1. Markus Reschke

Java: Kapitel 1. Überblick. Programmentwicklung WS 2008/2009. Holger Röder Holger Röder

Einführung zu den Übungen aus Softwareentwicklung 1

Übung Softwareentwicklung 1, WS0910 Gemeinsame Einführung

Vorkurs Informatik WiSe 16/17

Teil 3 - Java. Grundlagen Klassen, Attribute Methoden

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Programmieren I. Die Programmiersprache Java. Institut für Angewandte Informatik

Vorkurs Informatik WiSe 17/18

Einführung zu den Übungen aus Softwareentwicklung 1

JAVA. Ein kurzer Überblick. Thomas Karp

Grundlagen der Informatik für Ingenieure I

1.3.1 Java-Compiler installieren

Einführung in JAVA. Viele Höhen und Tiefen Java war schon einmal nahezu tot. Heute extrem weit verbreitet vom Supercomputer bis hin zum Handy.

Programmieren I. Die Programmiersprache Java. Institut für Angewandte Informatik

Grundlagen der Programmierung UE

Programmieren I. Die Programmiersprache Java. Institut für Angewandte Informatik

Java - Einführung in die Programmiersprache. Leibniz Universität IT Services Anja Aue

Grundlagen der Programmierung UE

Programmierkurs Java. Grundlagen. Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck

Programmieren I. Die Programmiersprache Java. Institut für Angewandte Informatik

Modellierung und Programmierung 1

Vorkurs Informatik WiSe 15/16

Android DER SCHNELLE UND EINFACHE EINSTIEG IN DIE PROGRAMMIERUNG UND ENTWICKLUNGSUMGEBUNG. EXTRA: E-Book inside. dirk LOUIS peter MÜLLER. 2.

Berner Fachhochschule Hochschule für Technik und Informatik HTI. Kapitel 1. Einstieg in Java. Dr. Elham Firouzi

Java Einführung Programmcode

Programmieren I. Die Programmiersprache Java. Institut für Angewandte Informatik

Programmieren lernen mit Groovy Allgemeines Programme und ihre Ausführung

Programmieren I. Administratives / Java Installation. Thomas Vetter, Brian Amberg, Andreas Forster. 21. September 2010 UNIVERSITÄT BASEL

Javakurs für Anfänger

Javakurs für Anfänger

CS1005 Objektorientierte Programmierung

Programmierkurs. Manfred Jackel

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005

Einstieg in Java und OOP

Informatik II - Übung 01

Programmiersprache. Emily & rica

Problemorientierte Programmiersprachen Nachteile von Programmen in Maschinensprache sehr aufwendig bei komplexeren Aufgabenstellungen fehleranfällig

Empfehlenswerte Literatur

Einführung in das Programmieren

CADEMIA: Einrichtung Ihres Computers unter Windows

Einführung in die Programmierung 1

Name Klasse Datum. Q u e l l - P r o g r a m m i n S p r a c h e A. C o m p i l e r f ü r S p r a c h e A u n d P r o z e s s o r Y

Java - Einführung in die Programmiersprache. Leibniz Universität IT Services Anja Aue

Applications Applets (eingeschränkte Rechte)

Einführung in Eclipse und Java

Definitionen/Vorarbeit zum Thema Java

Ursprünge. Die Syntax von Java. Das Wichtigste in Kürze. Konsequenzen. Weiteres Vorgehen. Rund um Java

Einführung in die Programmierung mit Java

Die Syntax von Java. Ursprünge. Konsequenzen. Das Wichtigste in Kürze. Weiteres Vorgehen. Rund um Java. Sun Microsystems. Borland Software Corp

Hello World in Java. Der Weg zum ersten Java-Programm

Prozedurale Programmierung (PPG)

4D Server v12 64-bit Version BETA VERSION

Anleitung zum Applet Richtungsfeld einer Differentialgleichung

Vergleich: JAVA - ActiveX

GameGrid mit BlueJ Seite 1

Modellierung und Programmierung 1

CADEMIA: Einrichtung Ihres Computers unter Mac OS X

Übung Softwareentwicklung 1, WS1112 Gemeinsame Einführung

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick

Microsoft Visual Studio Code mit RPG und IceBreak

Objektorientierte Programmierung OOP Programmieren mit Java

Grundlagen der Informatik Übungen 1.Termin

Hello World! Javakurs 2012, 1. Vorlesung. Theresa Enghardt. basierend auf der Vorlage von Mario Bodemann und Sebastian Dyroff. wiki.freitagsrunde.

Java - Einführung. Informatik 1 für Nebenfachstudierende Grundmodul. Kai-Steffen Hielscher Folienversion: 12. Dezember 2017

Wiederholung JAVA. 1. (Vorbereitung)

Algorithmen versus Programmiersprachen

Programmieren I. Entwicklungsumgebungen Eclipse, NetBeans und IntelliJ IDEA. Institut für Angewandte Informatik

Javakurs für Anfänger

Java-Einführungskurs Informatik II (D-ITET) Vincent Becker,

Praktische Informatik 1

Liste Programmieren Java Überblick

Java-Einführungskurs Informatik II (D-ITET) Vincent Becker,

Java für Anfänger Teil 1: Intro. Programmierkurs Manfred Jackel

Java Programmierung auf der Konsole / unter Eclipse

Java für C++ Programmierer

Abschnitt 1: Einführung

CADEMIA: Einrichtung Ihres Computers unter Linux mit Oracle-Java

EV3 JAVA-PROGRAMMIERUNG MIT LEJOS INSTALLATIONSANLEITUNG INHALT

Für die Erstellung von Javaprogrammen sind eventuell zwei Komponenten nötig. 1. Das Java-Develepment-Kit (JDK) und die 2. Java Runtime Engine (JRE)

Informatik II - Übung 01

JAVA als erste Programmiersprache Semesterkurs

This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 License.

HTML Scripting. Informatik 1 für Nebenfachstudierende Grundmodul. Kai-Steffen Hielscher Folienversion: 06. Dezember 2017

Organisatorisches. Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online

Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung

AuP Survival Guide. Peter Tröger und Christine Jakobs. Wintersemester 2017/2018 Algorithmen und Programmierung Tutorium

Informatik. Studiengang Chemische Technologie. Michael Roth Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013.

Einführung Praktische Informatik

1 Einführung. public static void main(string[] args) { // Gibt "Hello World" aus System.out.println("Hello World");

Erste Schritte zum lauffähigen Java Programm

Hydroinformatik 1 Integrated development environments IDEs

Anleitung zum Applet Schiefer Wurf

C ++ in der Computerlinguistik

Transkript:

Kapitel 02 Java was, wann, warum, wieso

Java, eine objektorientierte Programmiersprache Java ist eine objektorientierte Programmiersprache und als solche ein eingetragenes Warenzeichen der Firma Sun Microsystems. Sie ist eine Komponente der Java-Technologie. Java Logo Programmiersprache Java Java-Plattform Java Virtual Machine (JVM) Java Runtime Environment (JRE) Java Development Kit (JDK) Basisdaten Entwickler: Sun Microsystems Aktuelle Version: 6.0 (11. Dezember 2006) Betriebssystem: Windows, Linux, Mac OS X, Solaris Website: java.sun.com Folie 2.2

Geschichte von Java Entwicklung seit 1991 von der Firma Sun Microsystems Ziel: Programmierung von elektronischen Geräten Konsumgüter sollten zur Interaktivität befähigt werden Arbeitstitel während der Entwicklung: OAK (Object Application Kernel) Wegen namensrechtlicher Probleme Umbenennung in Java Java ist eine starke Kaffeebohnensorte Folie 2.3

Geschichte von Java Java lehnt sich in den Äußerlichkeiten stark an die weit verbreitete und ältere Programmiersprachen C und C++ an. C/C++-Programmierern soll der Umstieg erleichtert werden. Höhere Akzeptanz in der Wirtschaft Aber es werden auch Altlasten aus C/C++ übernommen Beispiel: Java verwendet genau wie C/C++ für Zuweisungen = und für Gleichheit == Andere Programmiersprachen verwenden die intuitivere Variante mit := für Zuweisungen und = für Gleichheit Folie 2.4

Geschichte von Java Allgemeine Java-Philosophie In C/C++ hatte der Programmierer maximale Freiheit Alles, was nicht ausdrücklich verboten ist, ist erlaubt, egal ob es Sinn macht oder nicht. Der Programmierer hat so einen hohen Grad an Selbstverantwortung. Beim Entwurf von Java ist man davon ausgegangen, dass diese Selbstverantwortung für die meisten Programmierer zu hoch ist. Alles, was aller Erfahrung nach keinen Sinn macht, ist von vornherein verboten. Folie 2.5

Compiler vs. Interpreter Ein Programmierer entwickelt ein Programm. Die Entwicklung findet in einer menschenlesbaren Programmiersprache statt (z. B. Java). Der Programmierer erstellt ein oder mehrere Source-Files. Diese müssen dann in maschinenlesbaren Code umgewandelt werden. Maschinen verstehen nur Maschinencode (Binärcode). Die Umwandlung kann durch einen Compiler oder Interpreter geschehen. Folie 2.6

Compiler vs. Interpreter Compiler Die Ausführung eines kompilierten Maschinencodeprogramms ist wesentlich schneller als die Abarbeitung durch einen Interpreter. Einsatz des Programms in der Praxis. Kompilieren: Das Source-File wird in ein Maschinenprogramm übersetzt, das danach jederzeit als ein normaler Prozess des Betriebssystems aufgerufen werden kann. Interpreter Die Zeit fürs Kompilieren wird eingespart, was bei großen Programmen mitunter sehr lang dauert. Verwendung während der Entwicklung des Programms. Interpretieren: Das Source-File wird ohne vorherigen Arbeitsgang vom Interpreter Schritt für Schritt ausgeführt. Folie 2.7

Compiler vs. Interpreter Im Prinzip kann jede Sprache sowohl kompiliert als auch interpretiert werden. Aber verschiedene Sprachen sind für das eine oder andere besser geeignet. HTML wird interpretiert. Wenn eine HTML-Seite im Browser geladen wird, startet der Browser einen HTML-Interpreter. Dieser Interpreter stellt die Texte und Bilder gemäß den enthaltenen Formatierungsbefehlen dar. C/C++ wird kompiliert. C/C++ wird für größere und komplexere Programme verwendet. Folie 2.8

Compiler vs. Interpreter Für Java ist die Frage kompilieren vs. interpretieren strikt geregelt. Ein salomonisches sowohl als auch. Ein Java-Source-File wird nicht in Maschinencode, sondern in sogenannten Java-Bytecode kompiliert. Zum Kompilieren wird das Programm javac verwendet. - z. B. javac Programmierprojekt.java Zum Abarbeiten des Programm wird dann der Java-Bytecode interpretiert. - z. B. java Programmierprojekt Folie 2.9

Java-Bytecode und die Java-Virtual-Machine Durch diese Abstraktion von konkreter Hardwareplattform und Betriebssystem kann im Prinzip jedes kompilierte Java-Bytecode-Programm auf jedem System laufen. Zusätzlich enthält Java-Bytecode noch Informationen, die es z. B. erlauben zu prüfen, ob das Programm nur auf Daten und Ressourcen zugreift, die ihm gestattet sind. Java-Bytecode Java-Bytecode ist eine idealisierte und standardisierte Variation von Maschinencode. Diese ist speziell für die Java-Virtual-Machine angepasst. Java-Virtual-Machine Die Java-Virtual-Machine ist ein virtuelles Rechnersystem, das auf dem Betriebssystems des Computers läuft und innerhalb dessen der Java-Byte-Code ausgeführt wird. Folie 2.10

Java-Bytecode und die Java-Virtual-Machine einmalig Programmierer entwickelt Java- Programm Programmierer kompiliert Programm Programm in Java-Bytecode Entwicklung immer gleich immer gleich Java-Programm wird auf der JVM des Benutzers ausgeführt Java-Virtual-Machine angepasst auf das jeweilige Betriebssystem Benutzer öffnet eine Website, die das Java- Programm enthält Interaktion Betriebssystem Betriebssystem des Benutzers, z. B. Windows, OS X, Linux Java-Bytecode auf Webserver Ausführung Umsetzung durchs System Folie 2.11

Java-Laufzeitsystem Während der Ausführung eines Java- Programms passieren einige Dinge im Hintergrund. Das Java-Laufzeitsystem übernimmt Aufgaben, die nicht explizit im Quellcode gestellt wurden, z. B. Zugriffsprüfungen Abfangen von Ausnahmen wie Division durch 0 automatische Speicherbereinigung Java-Laufzeitsystem Das Java-Laufzeitsystem stellt Dienste zur Verfügung, die während der Programmausführung im Hintergrund automatisch vom Interpreter (hier speziell: der JVM) ausgeführt werden, ohne explizit im Quellcode erstellt worden zu sein und dafür sorgen, dass das Programm sinnvoll und sicher ausgeführt werden kann. Folie 2.12

Einsatz von Java-Programmen Java ist nicht einfach zu erlernen für Programmieranfänger. Warum also Java? Java ist heute und zukünftig eine der wichtigsten Programmiersprachen wegen ihrer Möglichkeiten der Internetprogrammierung. Java-Applets und Java-Servlets SAP Netweaver Bekannte Programme aus AI I und dem Studium KarelJ BlueJ Eclipse Folie 2.13

Was braucht man zum Arbeiten mit Java? Sun Microsystems stellt folgende Bestandteile zur Verfügung: Eine Ausführungsumgebung zum Ausführen von Java-Programmen. Java Virtual Machine (JVM) Java Runtime Environment (JRE) Eine Entwicklungsumgebung zum Erstellen von Java-Programmen. Java Development Kit (JDK) Folie 2.14

Was braucht man noch zum Arbeiten mit Java? Zum Erstellen von Java-Programmen benötigt man mindestens einen Editor und die Konsole. Im Editor schreibt man den Quellcode. Auf den Linuxsystemen der RBG startet man einen solchen z. B. durch gedit MeineKlasse.java Anschließend muss der Quellcode kompiliert und ausgeführt werden. Der Compiler wird gestartet über javac MeineKlasse.java und erzeugt die Datei MeineKlasse.class Das Programm kann nun mit java MeineKlasse ausgeführt werden Folie 2.15

Was braucht man noch zum Arbeiten mit Java? Der etwas elegantere und einfachere Weg führt über eine IDE. Bekannte IDEs für Java KarelJ BlueJ Eclipse Die wohl verbreitetste IDE für Java ist Eclipse. Eclipse ist eine sehr mächtige Software für den professionellen Einsatz. Für das Lernen von Java eignet sich BlueJ sehr gut. IDE Integrated Development Environment (IDE): ist ein Anwendungsprogramm zur Entwicklung von Software, das in der Regel über folgende Komponenten verfügt: Texteditor, Compiler bzw. Interpreter, Linker, Debugger, Quelltextformatierungsfunktion. Folie 2.16

Was braucht man noch zum Arbeiten mit Java? Um die vielen Möglichkeiten von Java nutzen zu können benötigt man Informationen über die zur Verfügung stehenden Klassen und Funktionen. Der klassische Weg für erfahrene Programmierer führt über die Java- API (Application Programming Interface). Diese ist einsehbar unter http://java.sun.com/javase/6/docs/api/ Ein etwas angenehmerer Weg, Informationen über Klassen und Funktionen von Java zu erhalten führ über Java-Referenz, also Bücher. Eine gute Referenz ist Java ist auch eine Insel. Es gibt eine freie HTML-Version auch zum Herunterladen unter http://www.galileocomputing.de/openbook/javainsel6/ Folie 2.17