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 16/17. Kapitel 1. Einführung und Grundbegriffe

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

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

Kapitel 1. Einführung. Skript zur Vorlesung Einführung in die Programmierung

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

Vorkurs Informatik WiSe 16/17

Vorkurs Informatik WiSe 17/18

n 1. Der Begriff Informatik n 2. Syntax und Semantik von Programmiersprachen - 1 -

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

Einführung in die Programmierung für NF. Algorithmen, Datentypen und Syntax

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

III.1 Prinzipien der funktionalen Programmierung - 1 -

Einstieg in die Informatik mit Java

II.1.1. Erste Schritte - 1 -

Programmiervorkurs. Wintersemester 2013/2014

Informatik I - Einstiegskurs

Programmieren I + II Regeln der Code-Formatierung

II.1.1. Erste Schritte - 1 -

Programme erstellen in Java

Programmieren I + II Regeln der Code-Formatierung

Einstieg in die Informatik mit Java

Einführung in die Programmierung 1

Vorkurs Informatik WiSe 15/16

Programmiersprache. Emily & rica

Programmierkurs. Manfred Jackel

Beispiel: Temperaturumwandlung. Imperative Programmierung. Schwerpunkte. 3. Grundlegende Sprachkonstruktionen imperativer Programme

Teil 3 - Java. Grundlagen Klassen, Attribute Methoden

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

2. JAVA-Programmierung. Informatik II für Verkehrsingenieure

Erste Schritte in Java

Gliederung. n Teil I: Einleitung und Grundbegriffe. n Teil II: Imperative und objektorientierte Programmierung

Java: Eine kurze Einführung an Beispielen

Grundlagen der Programmierung UE

Programmiersprachen. Organisation und Einführung. Berthold Hoffmann. Studiengang Informatik Universität Bremen

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Programmierung. Programme, Compiler, virtuelle Maschinen, Java

Grundlagen der Modellierung und Programmierung, Übung

Repetitorium Informatik (Java)

JAVA als erste Programmiersprache Semesterkurs

Vorlesung Programmieren

Grundlagen der Programmierung UE

II.1.1. Erste Schritte - 1 -

Übungen zur Vorlesung Wissenschaftliches Rechnen I

Programmieren lernen mit Groovy Allgemeines Programme und ihre Ausführung

Übungen Informatik I. JAVA - Einführung. elga Gabler, Holger Vogelsang, Christian Pape. Übungen Informatik 1 Folie 1

Beuth Hochschule Parameter-Übergabe-Mechanismen WS17/18, S. 1

Die Programmiersprache C Eine Einführung

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

Computeranwendung und Programmierung (CuP)

Praktische Informatik 1

Kapitel 1: Einführung

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

Programmiervorkurs. Organisation: Steffen Gebert, Alexander Wolff. Tutoren: Jürgen Zöller, Jonathan Stoll. Wintersemester 2012/2013

Java: Der Einstieg. Algorithmen und Datenstrukturen II 1

Vorlesung Informatik II

Umsetzung einer Klassenkarte in einer Programmiersprache

Es gibt keinen Algorithmus zum Schreiben eines Programms bzw. Algorithmus.

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

Erste Schritte in Java

Programmieren I. Dokumentation mit javadoc Heusch 10.4 Ratz Institut für Angewandte Informatik

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

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff

Schwerpunkte. 10. Felder (Arrays) Grundprinzip von Arrays. Klassifikation von Typen in Programmiersprachen

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

2. Unterprogramme und Methoden

Tag 7 Repetitorium Informatik (Java)

Java Einführung Programmcode

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

JAVA. Ein kurzer Überblick. Thomas Karp

7. Objektorientierung. Informatik II für Verkehrsingenieure

2 Eine einfache Programmiersprache

Transkript:

Einführung in die Programmierung mit Java Prof. Dr. Christian Böhm in Zusammenarbeit mit Gefei Zhang WS07/08

2 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

3 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

4 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,...)

5 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

6 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

7 Entwicklung objektorientierter Programmiersprachen 1960 Algol 60 Simula 67 1970 Pascal C 1980 Modula 2 Eiffel Smalltalk C++ 1990 Modula3, Oberon Java 2003 Java 1.4

8 Java Entwickelt von J. Gosling, u.a. Erste plattform-unabhängige OO-Sprache, insbesondere zur Programmierung von Internet-Applikationen Erste Version 1.0 1995, heute Java 1.4. (neu jetzt 1.5. aber nicht in Vorlesung) Ursprünglicher Name: OAK.

9 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

10 Grober Aufbau eines Java-Programms Java-Programm besteht aus Menge von Klassen Eine Klasse besteht aus Attributen ( fields ): Beschreiben Zustand eines Objekts Methoden: Beschreiben die Operationen, die ein Objekt ausführen kann

11 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> } }

12 Beispiel: Hallo public class Hallo { public static void main(string[] args) { System.out.println( Hallo! ); } }

13 Methodenaufruf Methodenaufruf allgemein: object.methodname(parameters); Beispiel: System.out.println( Hallo! );

14 Konventionen Klassennamen beginnen mit großen Buchstaben Bsp. Hallo Methodennamen 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

15 Ü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

16 Ü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)

17 Ü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!

18 Kommentare in Java The view that documentation is something that is added to a program after it has been commissioned seems to be wrong in principle, and counterproductive in practice. Instead, documentation must be regarded as an integral part of the process of design and coding. C. A. R. Hoare: Hints on Programming Language Design (1973)

19 Darstellungen für Kommentare in Java Durch // bla, bla} wird eine Zeile oder ein Rest einer Zeile zum Kommentar. Zur Erzeugung von Kommentaren zu Klassen und Methoden werden die Klammern /** und */ verwendet. Solche Kommentare werden in den mit dem Befehl javadoc erzeugten Report mit aufgenommen.

20 Die Klasse Hallo dokumentiert /** Diese Klasse dient nur zum Anzeigen des Strings "Hallo, Welt! auf den Bildschirm */ public class HalloDoc { /** Die Methode main druckt "Hallo, Welt! */ public static void main (String[] args) { System.out.println("Hallo, Welt!"); } }

21 Erzeugung der Dokumentation Mit dem Befehl javadoc HalloDoc.java wird automatisch eine Beschreibung der Klasse HalloDoc erzeugt und in die Datei HalloDoc.html geschrieben.

22 Spezielle Variablen bei javadoc @see für Verweise @author für Namen des Autors @version für die Version @param für die Methodenparameter

23 Die Klasse Square ausführlich dokumentiert /** Diese Klasse dient zur Berechnung des Quadrats. @author Martin Wirsing @version 1.1 */ public class Square { /** Diese Methode dient nur zur Illustration der Parameterbehandlung durch javadoc. @param value ist ein formaler Parameter vom Typ int @return das Quadrat von value */ public static int square (int value) { return value*value; } }

24 Eine Testklasse für Square /** Diese Klasse dient nur zum Test von Square */ public class Programm { /** Die Methode main druckt einen Testfall von square */ public static void main (String[] args) { int wert = 17; System.out.println("Das Quadrat von " + wert + " ist " + square(wert)); } }

25 Erzeugung der Dokumentation Mit dem Befehlen javadoc Square.java javadoc Programm.java werden automatisch Beschreibungen der Klassen Programm und Square erzeugt und in die Dateien Square.html und Programm.html geschrieben.

26 Zusammenfassung Geschichte: Objektorientierte Programmiersprachen seit 1967: Simula OO-Programmierung populär seit Ende der 80er Jahre mit Smalltalk und C++. Heute vor allem C++ und Java; neuerdings auch 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").

27 Zusammenfassung (2) Ein Java-Programm besteht aus einer oder mehreren Klassen. Klassen enthalten Attribute und die Definitionen von Methoden. 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. Java-Programme sollten gut dokumentiert werden. Mit javadoc kann automatisch eine übersichtliche Dokumentation erzeugt werden.

28 Literaturhinweise K. Arnold, J. Gosling. The Java Programming Language. Addison-Wesley, 2005. C. Horstmann. Computing Concepts with Java Essentials. 3rd Edition, Wiley, 2003. H.-P. Gumm, M. Sommer. Einführung in die Informatik. 7. Auflage, Oldenbourg-Verlag, 2006. Online-Material: G. Krüger. Handbuch der Java-Programmierung. 4. akt. Auflage, Addison-Wesley, 2006. C. Ullenboom. Java ist auch eine Insel. 6. akt. und erw. Auflage Galileo Computing, 2006. Diskussionsforum: http://www.die-informatiker.net/