Erste Schritte in Java



Ähnliche Dokumente
Erste Schritte in Java

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

Java Einführung Programmcode

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

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

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

Java: Vererbung. Teil 3: super()

Einführung in Eclipse und Java

Objektorientierte Programmierung

Programmieren in Java

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter

Einführung in die Java- Programmierung

Objektorientierte Programmierung. Kapitel 12: Interfaces

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

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

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

Vorkurs Informatik WiSe 15/16

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Einführung in die Informatik Tools

Vorkurs C++ Programmierung

BEISPIELKLAUSUR Softwareentwicklung:

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Java Kurs für Anfänger Einheit 5 Methoden

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

Grundlagen von Python

Objektorientierte Programmierung OOP

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

Einführung in PHP. (mit Aufgaben)

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

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Sichtbarkeit & statische Methoden. Einsatz von Sichtbarkeit Einsatz statischer Methoden programmatische Realisierung 2 Beispielaufgaben

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

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

Arrays von Objekten. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

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

Vorlesung Informatik II

5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren:

Javakurs 2013 Objektorientierung

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung

Klausur zur Einführung in die objektorientierte Programmierung mit Java

Abschnitt 12: Strukturierung von Java-Programmen: Packages

Programmierkurs Java

Institut für Telematik Universität zu Lübeck. Programmieren. Kapitel 0: Organisatorisches. Wintersemester 2008/2009. Prof. Dr.

Arrays Fortgeschrittene Verwendung

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

5. Abstrakte Klassen

Folge 19 - Bäume Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

Konzepte der Informatik

Arrays von Objekten. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Kapitel 6. Vererbung

Einführung in Javadoc

Einführung in die Programmierung

Robot Karol für Delphi

Einführung in die Programmierung mit Java

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

Professionelle Seminare im Bereich MS-Office

C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang

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

AKTUEL ZU JAVA 8 PROGRAMMIEREN IN JAVA. 7. Auflage. Im Internet: Alle Beispielprogramme und Lösungen

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

Innere Klassen in Java

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Software Engineering Klassendiagramme Einführung

Übungsblatt 3: Algorithmen in Java & Grammatiken

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Xcode/Cocoa/Objective-C Crashkurs Programmieren unter Mac OS X

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

Institut für Programmierung und Reaktive Systeme 26. April Programmieren II. 10. Übungsblatt

Java lernen mit BlueJ

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

5.2 Neue Projekte erstellen

Informatik Kurs Simulation. Hilfe für den Consideo Modeler

Informatik für Schüler, Foliensatz 23 Konstruktor, String-Methode und Heldenklassse

Grundlagen der Programmierung UE

Arbeiten mit UMLed und Delphi

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

INHALT 1. INSTALLATION DES V-MODELL XT UNTER WINDOWS 7 2. INSTALLATION DES V-MODELL XT UNTER WINDOWS VISTA

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Applications Applets (eingeschränkte Rechte)

Übungen zur Softwaretechnik

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Programmieren Tutorium

Programmieren Lernen mit BYOB. Gerald Futschek 5. November 2012

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

Kompilieren und Linken

Empfehlungen zur Nutzung der CD zum Buch: Klee & Wiemann: Beweglichkeit und Dehnfähigkeit. Schorndorf: Hofmann,

Objektorientierte Programmierung

Kapitel 6. Vererbung

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6

Gruppenrichtlinien und Softwareverteilung

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

Programmierung für Mathematik (HS13)

Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht

5. Tutorium zu Programmieren

Transkript:

Erste Schritte in Java Im einführenden Kapitel haben wir die Grundbegriffe der imperativen Programmierung an einem Beispiel (Algorithmus von Euklid) kennengelernt. In diesem Kapitel sehen wir uns an einem kleinen Beispiel wichtige Grundbegriffe der objektorientierten Programmierung an. Wir wollen ein Programm schreiben, das in der Lage ist, Bankkonten zu verwalten. Ein Konto wird durch einen Wert, den Kontostand, gekennzeichnet. Außerdem werden wir Methoden zum Einzahlen und Abheben sowie zur Kontostandsabfrage programmieren. 2. Erste Schritte in Java 2-1

Klassen- u. Objektdiagramm Konto stand: int void einzahlen(int betrag) void abheben(int betrag) int abfrage() kon1:konto stand: int = 12 kon2:konto stand: int = -5 2. Erste Schritte in Java 2-2

Abstraktion und Modellbildung Die Erstellung eines Algorithmus oder Programms erfordert die Abstraktion von der Realität. Das heißt, es werden die zur Lösung des Problems irrelevanten Bestandteile weggelassen. Das Ergebnis der Abstraktion ist ein Modell, das dem Computer in geeigneter Form zur Bearbeitung übergeben wird. 2. Erste Schritte in Java 2-3

Die Klasse Konto public class Konto { int stand = 0; // Attribut der Klasse public void einzahlen(int betrag) { // Methode zum Einzahlen stand = stand + betrag; public void abheben(int betrag) { stand = stand - betrag; public int abfrage() { return stand; // Methode zum Abheben // Methode zur Abfrage 2. Erste Schritte in Java 2-4

Die Klasse KontoTest public class KontoTest { public static void main(string[] args) { Konto kon1 = new Konto(); Konto kon2 = new Konto(); kon2.abheben(5); kon1.einzahlen(12); kon2.einzahlen(2); kon1.einzahlen(18); kon2.einzahlen(8); kon1.abheben(15); System.out.println("Kontostand kon1: " + kon1.abfrage()); System.out.println("Kontostand kon2: " + kon2.abfrage()); 2. Erste Schritte in Java 2-5

Abstraktion und Modellbildung Nennen Sie einige Aspekte, die bei dieser Modellbildung nicht berücksichtigt wurden! 2. Erste Schritte in Java 2-6

Klassen und Objekte Unter einer Klasse versteht man die Zusammenfassung von Objekten gleicher Struktur und gleichen Verhaltens. Die Struktur der Objekte wird durch Attribute, ihr Verhalten durch Methoden definiert. Eine Klasse kann als Schablone gesehen werden, die beschreibt, wie Objekte aufgebaut und wie sie bearbeitet werden können. Es ist guter Stil, aber nicht zwingend erforderlich, jede Klassendefinition in einer eigenen Datei zu speichern. Die Datei trägt den Namen der Klasse: Konto.java, KontoTest.java. Es gibt evtl. auch Attribute und Methoden einer Klasse, die nicht an Objekte gebunden sind. Sie werden statisch genannt. 2. Erste Schritte in Java 2-7

Methoden und Konstruktoren Methoden definieren das Verhalten der Objekte. Sie werden innerhalb einer Klassendefinition angelegt und haben auf alle Attribute des Objekts Zugriff. Methoden können Parameter besitzen und einen Rückgabewert liefern. Um von einer Klasse ein Objekt anzulegen, kann eine Variable vom Typ der Klasse deklariert und ihr mithilfe des new-operators ein neu erzeugtes Objekt zugewiesen werden. Es können zumindest im Prinzip beliebig viele Objekte angelegt werden. Konstruktoren sind Methoden zum Erzeugen von Objekten einer Klasse. Sie besitzen den Namen der Klasse. 2. Erste Schritte in Java 2-8

Klassen- u. Objektdiagramm Klassenname Attribut 1... Attribut n Methode 1... Methode m objektname:klassenname Attribut 1 =...... Attribut n =... 2. Erste Schritte in Java 2-9

Applikationen und die main-methode Eine Applikation oder auch Anwendung ist ein eigenständiges Programm, das zu seiner Ausführung nur den Java-Interpreter, aber keinen Browser oder sonstige Hilfsprogramme benötigt. Eine Klasse wird durch eine main-methode zu einer Applikation. public static void main(string[] args) {... Applets sind ebenfalls lauffähige Java-Programme, werden aber aus einer Html-Seite heraus aufgerufen und benötigen zur Ausführung einen Web-Browser. Applets werde nicht durch die main-methode gestartet. 2. Erste Schritte in Java 2-10

Regeln zur Code-Formatierung Beispiele: Untergeordnete Teile werden hier um zwei Leerzeichen eingerückt. In den Hausaufgaben sollen sie die Teile um vier Leerzeichen einrücken. Es steht niemals mehr als ein Befehl in einer Zeile. Sich öffnende geschweifte Klammern stehen am Ende des vorangehenden Befehls, sich schließende in einer eigenen Zeile. Klassennamen beginnen mit einem Groß-, Variablen- und Methodennamen mit einem Kleinbuchstaben. Setzen sich Namen aus mehr als einem Wort zusammen, fängt jedes weitere mit einem Großbuchstaben an. Paketnamen bestehen nur aus Kleinbuchstaben. Die Regeln für Ihre Hausaufgaben stellen wir in den Übungen vor. 2. Erste Schritte in Java 2-11

javadoc Der Java-Dokumentationsgenerator Mit dem Programm javadoc können aus einem Java-Programm Html-Seiten generiert werden. Dabei wird spezieller Programmkommentar zur Dokumentation verwendet. javadoc Konto.java KontoTest.java javadoc *.java javadoc -version -author *.java 2. Erste Schritte in Java 2-12

Dokumentationskommentare /** * Diese Klasse realisert Konten. Jedes Konto wird * durch den aktuellen Kontostand dargestellt. Außerdem * werden Methoden zum Einzahlen und Abheben sowie * zur Kontostandsabfrage zur Verfügung gestellt. * * @author Werner Struckmann * @version 1.0 vom 17. Oktober 1702 * */ public class Konto {... 2. Erste Schritte in Java 2-13

Dokumentationskommentare /** * Diese Methode erhöht den Betrag auf dem * Konto um den Wert des Parameters. * * @param betrag eingezahlter Betrag * */ public void einzahlen(int betrag) { stand = stand + betrag; 2. Erste Schritte in Java 2-14

Dokumentationskommentare /** * Diese Methode liefert den Kontostand. * * @return Kontostand * */ public int abfrage() { return stand; 2. Erste Schritte in Java 2-15

class Euklid { static int ggt(int a, int b) { int r; while (b!= 0) { r = a % b; a = b; b = r; return a; Der Algorithmus von Euklid // eine statische Methode // eine lokale Variable public static void main(string[] args) { System.out.println("ggt(36,52) = " + ggt(36,52)); 2. Erste Schritte in Java 2-16

Objektorientierte Programmiersprachen Programmiersprachen, die in erster Linie für die Formulierung objektorientierter Algorithmen gedacht sind, heißen objektorientiert. Objektorientierte Programmiersprachen sind beispielsweise Simula (1967), Smalltalk, C++, Oberon, Java, C# und Eiffel. Java enthält im Gegensatz zu einigen anderen objektorientierten Sprachen auch imperative Elemente: hybrides Paradigma. 2. Erste Schritte in Java 2-17

Sprachmerkmale Java wurde vollständig neu entworfen. Die Syntax lehnt sich an C und C++ an. Laut Sun ist Java eine einfache, objektorientierte, verteilte, interpretierte, robuste, sichere, architekturneutrale, portable, performante, nebenläufige, dynamische Programmiersprache, kurz die Eier legende Wollmilchsau. Jetzt ist Oracle für Java zuständig. 2. Erste Schritte in Java 2-18

Entwicklung von Java 1992 1995 Java-Vorläufer, zuerst unter dem Namen Oak. Oak: Object Application Kernel, Eiche. Neu: Applets (little applications) Januar 1996 JDK 1.0 (Java Development Kit) Anfang 1997 JDK 1.1 Dezember 1998 JDK 1.2, wurde Januar 1999 umbenannt in Java 2 Plattform Mai 2000 Java 2, JDK 1.3 Februar 2002 Java 2, JDK 1.4 Ende 2004 Java 2, JDK 5.0 (interne Versionsnummer: 1.5.0) Tiger Dezember 2006 Java Standard Edition 6 Mustang Juli 2011 Java Standard Edition 7 Dolphin März 2014 Java Standard Edition 8 Die installierte Version kann mit java -version ermittelt werden. 2. Erste Schritte in Java 2-19

Einige Java-Konzepte strukturierte Fehlerbehandlung (Exception Handling, assertions), Nebenläufigkeit (Multithreading), Unterstützung von Applets, große Grafik- und Multimediafähigkeiten, umfangreiche Klassenbibliothek. 2. Erste Schritte in Java 2-20

Einige Programme des JDK javac der Compiler, java der Interpreter, javadoc der Dokumentationsgenerator, jdb der Debugger, jar das Archivierungswerkzeug, appletviewer der Appletviewer, javap der Disassembler. 2. Erste Schritte in Java 2-21

Zusammenfassung: Objektorientierung Eine Anwendung besteht aus einer Menge von Klassen. Anwendungen müssen eine main-methode enthalten. Eine Klasse beschreibt Objekte. Die Objekte modellieren reale oder abstrakte Gegenstände. Von einer Klasse können beliebig viele Objekte erzeugt werden. Ein Objekt ist also eine konkrete Ausprägung einer Klasse. Die Objekte werden durch Attribute beschrieben und mit Methoden bearbeitet. Attribute und Methoden können statisch sein. Klassen lassen sich durch Pakete hierarchisch strukturieren. Mit Modifikatoren können Zugriffsrechte und andere Eigenschaften beeinflusst werden. 2. Erste Schritte in Java 2-22

Was haben wir in der Einführung einführend gesehen? Intuitiver Algorithmusbegriff Paradigma: Formulierung von Algorithmen partielle/totale Korrektheit: Spezifikation, Verifaktion Komplexität: Landau-Symbole Formaler Algorithmusbegriff: Berechenbarkeit, Entscheidbarkeit Datenstrukturen: Abstrakte Datentypen Entwurf von Algorithmen, Standardalgorithmen Abstraktion, Modellierung: Erstellung von Algorithmen Variationen des Algorithmusbegriffs 2. Erste Schritte in Java 2-23

Was haben wir in der Einführung einführend gesehen? Programm Programmiersprache: Lexik, Syntax, Semantik Paradigma: imperativ, funktional, oo, logisch, prozedural, deklarativ, hybrid Typsystem, Datenstrukturen Ausführung: Compiler, Interpreter, Mischverfahren Software: Systemsoftware, Anwendungssoftware, Softwarewerkzeuge Imperatives Beispielprogramm: Algorithmus von Euklid Objektorientiertes Beispielprogramm: Konto Sprachen der Informatik: GPL, DSL 2. Erste Schritte in Java 2-24

Warum haben wir so etwas in der Einführung gesehen? Frage: Warum müssen in einführenden Veranstaltungen die grundlegenden theoretischen Aspekte mit betrachtet werden? Gibt es dafür später keine Spezialveranstaltungen? Natürlich gibt es dafür Spezialveranstaltungen. Aber trotzdem erhält man die folgende Antwort. Inhaltliche Antwort von Didaktikern: Dinge, die immer zusammengehören, müssen bei der Einführung zusammenvorgestellt werden. Sonst bleiben sie auf Dauer im Kopf getrennt. 2. Erste Schritte in Java 2-25