Einführung in die Programmierung mit Java



Ähnliche Dokumente
Einführung in die Programmierung mit Java

Einführung in die Programmierung mit Java

Einführung in die Programmierung mit Java

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 1. Einführung und Grundbegriffe

Einführung in die Programmierung mit Java

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 1. Einführung und Grundbegriffe

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

Vorkurs Informatik WiSe 15/16

Programmierung. Programme, Compiler, virtuelle Maschinen, Java

Grundlagen der Programmierung UE

JAVA als erste Programmiersprache Semesterkurs

Grundlagen der Programmierung UE

Vorlesung Informatik II

Objektorientierte Programmierung

1. Formulieren Sie den Algorithmus <Bedienung eines Getränkeautomaten> nach den oben genannten Kriterien.

Programmieren lernen mit Groovy Allgemeines Programme und ihre Ausführung

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

Java: Vererbung. Teil 3: super()

Programmieren was ist das genau?

Java Einführung Programmcode

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Einführung in Eclipse und Java

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen.

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

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005

Programmierkurs Java

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

Erste Schritte in Java

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Applications Applets (eingeschränkte Rechte)

Pakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API).

Modellierung und Programmierung 1

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick

Tutorium Java Ein Überblick. Helge Janicke

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Java Schulung. Objektorientierte Programmierung in Java. Prof. Dr. Nikolaus Wulff

JAVA. Ein kurzer Überblick. Thomas Karp

3 Objektorientierte Konzepte in Java

Vorkurs C++ Programmierung

Innere Klassen in Java

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

Kapitel 2. Methoden zur Beschreibung von Syntax

Java Virtual Machine (JVM) Bytecode

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

1. Java Grundbegriffe

Coma I. Einleitung. Computer und Algorithmen. Programmiersprachen. Algorithmen versus Programmiersprachen. Literaturhinweise

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

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

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

Kapitel 1: Einführung. Was ist Informatik? Begriff und Grundprobleme der Informatik. Abschnitt 1.1 in Küchlin/Weber: Einführung in die Informatik

II.1.1. Erste Schritte - 1 -

Robot Karol für Delphi

Grundbegriffe der Informatik

Proseminar Technische Informatik A survey of virtualization technologies

J.5 Die Java Virtual Machine

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

Programmiertechnik. Prof. Dr. Oliver Haase Raum G124 Tel: 07531/ Oliver Haase Hochschule Konstanz 1

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Programmieren Formulierung eines Algorithmus in einer Programmiersprache

SEP 114. Design by Contract

Große Übung Praktische Informatik 1

Programmieren in Java

Einführung zu den Übungen aus Softwareentwicklung 1

Zum Abschluss wird gezeigt, wie aus einem C++ Quell-Programm ein ausführbares Programm erzeugt wird. 1. Installation von NetBeans...

VBA-Programmierung: Zusammenfassung

Objektorientierte Programmierung OOP

Beuth Hochschule JDK und TextPad WS14/15, S. 1

Grundlagen der Informatik

Problemstellung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 24: Reflection 1. IDE und automatische Tests.

Einführung in die Informatik Tools

Grundlagen von Python

Abschnitt 12: Strukturierung von Java-Programmen: Packages

Einführung in die Informatik

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Prinzipien Objektorientierter Programmierung

SWE1 / Übung 2 ( )

Einführung in PHP. (mit Aufgaben)

Programmieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek

Formale Sprachen und Grammatiken

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 22

Propädeutikum zur Programmierung

Workshop 6. Einführung in die objektorientierte Programmierung. Teil: Java mit BlueJ

Informatik für Schüler, Foliensatz 21 Objektorientierte Programmierung

Einführung in Betriebssysteme

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Objektorientierte Programmierung. Kapitel 12: Interfaces

Grammatiken. Einführung

Übungsblatt 3: Algorithmen in Java & Grammatiken

Prof. Dr. Uwe Schmidt. 21. August Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252)

2 Grundlagen der Programmierung

1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi

Transkript:

Einführung in die Programmierung mit Java Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer SS 06 Ziele Begriffsbildungen: Informatik, Algorithmus, Programm... Warum Java als Programmiersprache verwenden? Ein einfaches Java-Programm erstellen, übersetzen und ausführen Gut dokumentierte Java-Programme erstellen können 2 1

Informatik Informatik ist ein Kunstwort, das in den 60-ziger Jahren in Frankreich kreiert wurde, entstanden aus Information + Mathematik englisch: Computer Science neuerdings auch: Informatics bedeutet Wissenschaft der maschinengestützten Informationsverarbeitung 3 Teilgebiete der Informatik Praktische Informatik Programmierung und Software-Entwicklung Datenbanksysteme Betriebssysteme und Middleware Technische Informatik Rechenanlagen und Rechnernetze (Hardware) Theoretische Informatik Formale Modelle und Semantik Algorithmen und Komplexität Informatik und Gesellschaft Auswirkungen der Informatik auf die Gesellschaft (Rationalisierung, Automatisierung, Datensicherheit,...) 4 2

Algorithmen und Programme Algorithmus (nach Al-Khowarizmi, um 800) Allgemeines Verfahren zur Lösung einer Klasse von Problemen, das durch eine eindeutige Vorschrift so genau festgelegt ist, dass man es anwenden kann, ohne es verstanden zu haben. Eigenschaften: Jeder Einzelschritt ist eindeutig festgelegt und berechenbar. Das Verfahren liefert nach endlich vielen Schritten eine Lösung. Beispiele: Modellbau: Montageanleitung Informatik: Sortieralgorithmus Programm Beschreibung von Datenstrukturen und Algorithmen in einer Programmiersprache Al'Khwarizmi 790-840 Author von Hisab al-jabr w'al-muqabala 5 Programme und Software-Entwicklung Programm Beschreibung von Datenstrukturen und Algorithmen in einer Programmiersprache Software-Entwicklung Systematische Konstruktion von Programmen zur Lösung eines in der realen Welt gestellten Problems 6 3

Entwicklung objektorientierter Programmiersprachen 1960 Algol 60 Simula 67 1970 Pascal C 1980 Modula 2 Eiffel Smalltalk C++ 1990 Modula 3, Oberon 1995 Java 2006 Java 1.5 7 Algol 60 Entwickelt von John Backus, F.L. Bauer, John McCarthy, Peter Naur, Alan J. Perlis, Heinz Rutishauser, Klaus Samelson. Imperative Sprache mit Blockkonzept, Call-by-Value und Call-by-Name, Syntaxdefinition in Backus-Naur-Form N. Wirth, *1931, PhD 1963 Berkeley Entwickler von Pascal, Modula, Oberon, Turing-Preis 1984 Pascal Entwickelt von Niklaus Wirth Imperative Sprache, Weiterentwicklung von Algol 60/68 Verbunddatentypen (Record) F.L. Bauer *1924, Diss 1952 LMU Entwickler von Algol 60, Patent auf Kellerprinzip, Vater der dtsch. Informatik 8 4

Simula 67 Entwickelt von Kristen Nygaard und Johan-Ole Dahl. Erste OO-Sprache, Erweiterung von Algol 60 mit Klassen-Konzept, Vererbung (damals genannt Prefixing ) Smalltalk 80 Entwickelt von Alan Kay und Adele Goldberg 1. Dynamische OO-Sprache, mit Betriebssystem und Entwicklungsumgebung A. Kay, *1940, PhD 1969 Utah Entwickler von Smalltalk, Dynabook (1. PC), Turing-Preis 2003 J.-O. Dahl 1931 2002 Entwickler von Simula 67 1. Informatikprof. in Norwegen (1968) Turing-Preis 2001 9 Java Entwickelt von J. Gosling, Bill Joy, P. Naughton, u.a. Erste plattform-unabhängige OO-Sprache, insbesondere zur Programmierung von Internet-Applikationen Heute auch eingesetzt im Multimedia-Bereich und (beginnend) für Eingebettete Systeme Erste Version 1.0 1995, heute Java 1.5. Ursprünglicher Name: OAK. C++ Entwickelt von Bjarne Stoustrup Effiziente OO-Sprache, Erweiterung von C James Gosling, *1956 PhD 1983 CMU Entwickler von Emacs (Texteditor), Java B. Stoustrup, *1950 in Arhus (DK), PhD 1979 Cambridge Entwickler von C++ 10 5

Aspekte von Java Objektorientiert: Klassenkonzept, strenge Typisierung Unabhängig von Plattform: Durch Übersetzung in Virtuelle Maschine (JVM) Netzwerkfähig, nebenläufig Sicherheitskonzept Nachteile: Laufzeithandicap durch Interpretation der JVM (aber z.t. ausgeglichen durch Just-in-Time Übersetzung) Vorteile: Verteilte Anwendungen, Web-Anwendungen Rechnerunabhängigkeit von Graphikanwendungen 11 Grober Aufbau eines Java-Programms Ein Java-Programm besteht aus einer Menge von Klassen (und Schnittstellen, siehe später) Eine Klasse besteht aus Attributen ( fields ): Beschreiben den Zustand eines Objekts Methoden: Beschreiben die Operationen, die ein Objekt ausführen kann Konstruktoren: Operationen zur Erzeugung von Objekten 12 6

Einfaches imperatives Java-Programm Ein imperatives Java-Programm besteht aus Klassendeklaration mit einer einzigen Methode namens main : public class <KlassenName> { public static void main(string[] args) { <Anweisungen> } } 13 Beispiel: Hallo public class Hallo { public static void main(string[] args) { System.out.println( Hallo! ); } } 14 7

Methodenaufruf Methodenaufruf allgemein: object.methodname(actual parameters); Beispiel: System.out.println( Hallo! ); 15 Konventionen Klassennamen beginnen mit großen Buchstaben Bsp. Hallo Methodennamen, Attributnamen und Variablennamen beginnen mit kleinen Buchstaben Bsp. println, out Konstantennamen bestehen NUR aus großen Buchstaben. Bsp. BLUE Zusammengesetzte Namen werden zusammengeschrieben, jeder (innere) Teilname beginnt mit einem großen Buchstaben Bsp. Klasse HalloWelt, Methoden getname, getmyobject 16 8

Übersetzung und Ausführung von Java-Programmen Übersetzung in Bytecode Aus einer Textdatei mit Endung.java erzeugt der Compiler javac eine Datei mit gleichem Namen, aber Endung.class Diese enthält den Bytecode für die JVM Hallo.java Hallo.class public class Hallo {... }... Quellprogramm als Textdatei Hallo.java Compiler javac.exe Bytecode als Datei Hallo.class 17 Übersetzung und Ausführung von Java-Programmen Die Datei mit dem Bytecode wird der JVM übergeben und von der JVM ausgeführt (d.h. interpretiert). Hallo.class... Bytecode als Datei Hallo.class Java Virtual Machine java.exe Ergebnisausgabe (von Hallo auf Bildschirm) 18 9

Übersetzung und Ausführung von Hallo.java (unter Windows) Übersetzung von Hallo.java: C: > javac Hallo.java Interpretation von Hallo.class: C: > java Hallo Gibt auf Bildschirm zurück: Hallo! 19 Zusammenfassung Geschichte: Objektorientierte Programmiersprachen seit 1967: Simula OO-Programmierung populär seit Ende der 80er Jahre mit Smalltalk und C++. Heute vor allem Java, C++ und C#. Java OO-Programmiersprache, vor allem zur Programmierung im Internet eingesetzt Java ist plattform-unabhängig, interpretierend, unterstützt Sicherheitskonzepte und besitzt eine reichhaltige Klassenbibliothek (API, engl. "Application Programming Interface"). 20 10

Zusammenfassung (2) Ein Java-Programm besteht aus einer oder mehreren Klassen (und Schnittstellen). Klassen enthalten Attribute und die Deklarationen von Methoden und Konstruktoren. Eine Methode besteht aus einer Sequenz von Anweisungen, die den Berechnungsablauf festlegen. Jede selbstablaufende Java-Anwendung enthält eine Methode main. Ein Java-Programm wird mit einem Übersetzer in Byte-Code übersetzt, der dann mit einem Interpreter, der JVM, ausgeführt wird. 21 11