Einführung in die Programmierung mit BlueJ - mttcs.org · Einführung in die Programmierung mit...

22
Einführung in die Programmierung mit BlueJ Thema 1 – Grundlagen der Programmierung mit BlueJ Dr. Henry Herper – Otto-von-Guericke-Universität Magdeburg - WS 2013/14

Transcript of Einführung in die Programmierung mit BlueJ - mttcs.org · Einführung in die Programmierung mit...

Page 1: Einführung in die Programmierung mit BlueJ - mttcs.org · Einführung in die Programmierung mit BlueJ! Thema 1 – Grundlagen der Programmierung mit BlueJ Dr. Henry Herper – Otto-von-Guericke-Universität

Einführung in die Programmierung mit BlueJ���

Thema 1 – Grundlagen der Programmierung mit BlueJ

Dr. Henry Herper – Otto-von-Guericke-Universität Magdeburg - WS 2013/14

Page 2: Einführung in die Programmierung mit BlueJ - mttcs.org · Einführung in die Programmierung mit BlueJ! Thema 1 – Grundlagen der Programmierung mit BlueJ Dr. Henry Herper – Otto-von-Guericke-Universität

2

Java 1991-92 Java (1995) Anwendungsgebiet: plattformunabhängige Sprache in Netzanwendungen Sprachklasse: objektorientierte Programmiersprache Java ist eine einfache, konsequent objektorientierte, robuste, architekturneutrale, übertragbare und dynamische Programmiersprache. Sie basiert auf der Programmiersprache C++, wurde aber wesentlich vereinfacht. Java-Programme werden in Bytecode kompiliert und können damit ohne weitere Kompilierung auf verschiedenen Computern ausgeführt werden, sofern es eine Java Virtual Machine dafür gibt. Professionelle Entwicklungsumgebungen stehen mit dem „Java Development Kit“ von Sun und Visual J++ von Microsoft zur Verfügung.

Page 3: Einführung in die Programmierung mit BlueJ - mttcs.org · Einführung in die Programmierung mit BlueJ! Thema 1 – Grundlagen der Programmierung mit BlueJ Dr. Henry Herper – Otto-von-Guericke-Universität

Programmieren

3

Page 4: Einführung in die Programmierung mit BlueJ - mttcs.org · Einführung in die Programmierung mit BlueJ! Thema 1 – Grundlagen der Programmierung mit BlueJ Dr. Henry Herper – Otto-von-Guericke-Universität

Editor

4

Java-Quelltexte können mit jedem beliebigen Texteditor erstellt werden. Die Dateien werden mit der Endung .java gespeichert. Bei Verwendung spezieller Editoren, wie z.B. dem BlueJ-Editor, wird die Programmerstellung durch vorgefertigte Codesequenzen und Syntaxhervorhebung (syntax highlighting) unterstützt. Weitere Entwicklungsumgebungen für Java-Programme sind Eclipse und NetBeans.

Page 5: Einführung in die Programmierung mit BlueJ - mttcs.org · Einführung in die Programmierung mit BlueJ! Thema 1 – Grundlagen der Programmierung mit BlueJ Dr. Henry Herper – Otto-von-Guericke-Universität

Zeichenvorrat und Bezeichner

5

Der Zeichenvorrat in Java umfasst die Großbuchstaben A..Z, die Kleinbuchstaben a..z, die Ziffern 0..9 und Sonderzeichen. Groß- und Kleinbuchstaben werden strikt unterschieden. Landespezifische Zeichen, zu denen auch die deutschen Umlaute gehören, sind zulässig. Auf ihre Verwendung sollte aber im Interesse der internationalen Austauschbarkeit verzichtet werden. Quelltext wird normalerweise in Kleinbuchstaben geschrieben. Eine Sonderstellung nehmen der Unterstrich und das Dollarzeichen ein. Beide sind in Namen zulässig. Aus den Zeichen werden Namen bzw. Bezeichner zusammengesetzt. Jeder Name muss mit einem Buchstaben, dem Unterstrich oder dem Dollarzeichen beginnen. Andere Sonderzeichen oder Leerzeichen sind in Namen nicht erlaubt. Schlüsselwörter dürfen nicht als Bezeichner verwendet werden.

Page 6: Einführung in die Programmierung mit BlueJ - mttcs.org · Einführung in die Programmierung mit BlueJ! Thema 1 – Grundlagen der Programmierung mit BlueJ Dr. Henry Herper – Otto-von-Guericke-Universität

Java – Bezeichner

6

Bezeichner:

Buchstabe

_ Buchstabe

_ $

$

Ziffer

Page 7: Einführung in die Programmierung mit BlueJ - mttcs.org · Einführung in die Programmierung mit BlueJ! Thema 1 – Grundlagen der Programmierung mit BlueJ Dr. Henry Herper – Otto-von-Guericke-Universität

Java – Schlüsselwörter

7

Bestimmte Bezeichner, die reservierten Wörter bzw. Schlüsselwörter, können vom Programmierer nicht als Bezeichner verwendet werden. Reservierte Wörter müssen immer klein geschrieben werden!

Die Literalkonstanten true und false dürfen nicht als Bezeichner verwendet werden.

abstract assert boolean break byte case catch char class const continue default do double else enum extends final finally float for goto if implements import instanceof int interface long native new package private protect public return short static strictfp super switch synchronize

d this throw throws transient try void volatile while

Page 8: Einführung in die Programmierung mit BlueJ - mttcs.org · Einführung in die Programmierung mit BlueJ! Thema 1 – Grundlagen der Programmierung mit BlueJ Dr. Henry Herper – Otto-von-Guericke-Universität

Dokumentation - Kommentare

8

Kommentare innerhalb einer Programmzeile werden mit // gekennzeichnet. Der nachfolgende Text wird von Compiler nicht ausgewertet und dient nur zur Dokumentation für den Programmierer. Beispiel: x = y + 3 // Wertzuweisung

Mehrzeilige Kommentare werden in /* .. */ eingeschlossen. In den Kommentarbereichen können Informationen abgelegt werden, die anschließend vom Java-Doc-System zur Dokumentationserstellung verwendet werden können. Beispiel: /Quelle: Java lernen mit BlueJ/ /** * Ein Kreis, der manipuliert werden kann und sich selbst auf einer Leinwand * zeichnet. * * @author Michael Kölling und David J. Barnes * @version 2008.03.30 */

Page 9: Einführung in die Programmierung mit BlueJ - mttcs.org · Einführung in die Programmierung mit BlueJ! Thema 1 – Grundlagen der Programmierung mit BlueJ Dr. Henry Herper – Otto-von-Guericke-Universität

Java – Trennzeichen

9

Zugelassene Trennzeichen in Java sind:

• Leerzeichen • Zeilenendezeichen (<ENTER>) • Tabulatorzeichen • Kommentare • Operatoren ( z.B. + oder * ) • die Interpunktionszeichen ( . , ; ) ( { } [ ] )

Da Java keine zeilenorientierte Programmiersprache ist, wird das Anweisungsendekennzeichen ; verwendet.

Page 10: Einführung in die Programmierung mit BlueJ - mttcs.org · Einführung in die Programmierung mit BlueJ! Thema 1 – Grundlagen der Programmierung mit BlueJ Dr. Henry Herper – Otto-von-Guericke-Universität

10

Regeln für die Gestaltung von Code

/RATZ07; Seite 52/

Page 11: Einführung in die Programmierung mit BlueJ - mttcs.org · Einführung in die Programmierung mit BlueJ! Thema 1 – Grundlagen der Programmierung mit BlueJ Dr. Henry Herper – Otto-von-Guericke-Universität

Entwicklungsumgebung BlueJ

11

BlueJ ist eine integrierte Entwicklungsumgebung für Java. Sie ist besonders geeignet, Programmieranfängern die Zusammenhänge der objektorientierten Programmierung in Verbindung mit der Programmiersprache Java zu vermitteln.

BlueJ wurde an der Deakin University, Melbourne, Australien und der University of Kent, Canterbury, Großbritannien, entwickelt und kann kostenlos von der Homepage heruntergeladen werden. Jede nicht kommerzielle Verwendung und Weitergabe von BlueJ ist für jedermann kostenlos.

Page 12: Einführung in die Programmierung mit BlueJ - mttcs.org · Einführung in die Programmierung mit BlueJ! Thema 1 – Grundlagen der Programmierung mit BlueJ Dr. Henry Herper – Otto-von-Guericke-Universität

Entwicklungsumgebung BlueJ   Zustimmung zur Verwendung der (anonymisierten)

Interaktionsdaten ist freiwillig und unabhängig vom Kurs   Einstellung kann jederzeit unter Preferences/

Miscellaneous geändert werden   Rechtsklick auf eine Klasse erlaubt Öffnen des Editors

(oder Doppelklick)   nach jeder Änderung des Quelltextes muss neu

kompiliert werden   Eingabeaufforderung wird angezeigt, wenn Eingabedaten

erforderlich sind   Ergebnisse werden in Ausgabefenster angezeigt oder in

Systemkonsole

12

Page 13: Einführung in die Programmierung mit BlueJ - mttcs.org · Einführung in die Programmierung mit BlueJ! Thema 1 – Grundlagen der Programmierung mit BlueJ Dr. Henry Herper – Otto-von-Guericke-Universität

Klassen und Objekte   „Eine Klasse beschreibt eine Sammlung von

Objekten mit gleichen Eigenschaften (Attributen), gemeinsamer Funktionalität (Methoden), gemeinsam en Beziehungen zu anderen Objekten und gemeinsamer Semantik.“

/Helmut Balzert; Lehrbuch der Softwaretechnik; Spektrum Verlag, 1996// 13

Page 14: Einführung in die Programmierung mit BlueJ - mttcs.org · Einführung in die Programmierung mit BlueJ! Thema 1 – Grundlagen der Programmierung mit BlueJ Dr. Henry Herper – Otto-von-Guericke-Universität

Klassen in BlueJ

14

import java.awt.*; import java.awt.geom.*;

/** * A circle that can be manipulated and that draws itself on a canvas. * * @author Michael Kolling and David J. Barnes * @version 1.0 (15 July 2000) */

public class Circle { private int diameter;

private int xPosition; private int yPosition; private String color; private boolean isVisible;

...

Page 15: Einführung in die Programmierung mit BlueJ - mttcs.org · Einführung in die Programmierung mit BlueJ! Thema 1 – Grundlagen der Programmierung mit BlueJ Dr. Henry Herper – Otto-von-Guericke-Universität

Klassen und Objekte   „Ein Objekt ist allgemein ein Gegenstand des

Interesses, insbesondere einer Beobachtung, Untersuchung oder Messung. Objekte können Dinge und Begriffe sein.

  In der objektorientierten Softwareentwicklung besitzt ein Objekt bestimmte Eigenschaften und reagiert mit einem definierten Verhalten auf seine Umgebung. Außerdem besitzt jedes Objekt eine Identität, die es von allen anderen Objekten unterscheidet.

  Die Eigenschaften eines Objektes werden durch dessen Attributwerte ausgedrückt, sein Verhalten durch eine Menge von Methoden.“

/Helmut Balzert; Lehrbuch der Softwaretechnik; Spektrum Verlag, 1996/ 15

Page 16: Einführung in die Programmierung mit BlueJ - mttcs.org · Einführung in die Programmierung mit BlueJ! Thema 1 – Grundlagen der Programmierung mit BlueJ Dr. Henry Herper – Otto-von-Guericke-Universität

Objekte in BlueJ

16

Nach Rechtsklick auf eine Klasse wird nach Auswahl des Eintrages „new Circle()“ ein Objekt erzeugt.

Dabei wird dem Objekt ein eindeutiger Name gegeben (wird vom System vorgeschlagen).

Objekt wird als rotes Rechteck visualisiert.

Page 17: Einführung in die Programmierung mit BlueJ - mttcs.org · Einführung in die Programmierung mit BlueJ! Thema 1 – Grundlagen der Programmierung mit BlueJ Dr. Henry Herper – Otto-von-Guericke-Universität

Attribut – Methode - Botschaft   „Die Attribute beschreiben die Daten bzw.

Eigenschaften einer Klasse. Alle Objekte einer Klasse besitzen dieselben Attribute, jedoch unterschiedliche Attributwerte. Das bedeutet für die Implementation, dass jedes Objekt Speicherplatz für alle seine Attribute erhalten muss.

  Eine Methode ist ein Algorithmus, der einem Objekt zugeordnet ist und von diesem abgearbeitet werden kann.

  Eine Botschaft ist eine Nachricht, die den Aufruf einer Methode gleichen Namens zur Folge hat.“

/Helmut Balzert; Lehrbuch der Softwaretechnik; Spektrum Verlag, 1996/ 17

Page 18: Einführung in die Programmierung mit BlueJ - mttcs.org · Einführung in die Programmierung mit BlueJ! Thema 1 – Grundlagen der Programmierung mit BlueJ Dr. Henry Herper – Otto-von-Guericke-Universität

BlueJ - Objektinspektor

18

Nach Rechtsklick auf ein Objekt „inspect“ auswählen – dann wird der Objektinspektor geöffnet. Hier werden die Attribute angezeigt.

Page 19: Einführung in die Programmierung mit BlueJ - mttcs.org · Einführung in die Programmierung mit BlueJ! Thema 1 – Grundlagen der Programmierung mit BlueJ Dr. Henry Herper – Otto-von-Guericke-Universität

BlueJ – Objekte und Methoden

19

Rechtsklick auf ein Objekt öffnet auch eine Liste aller Methoden dieses Objektes.

Page 20: Einführung in die Programmierung mit BlueJ - mttcs.org · Einführung in die Programmierung mit BlueJ! Thema 1 – Grundlagen der Programmierung mit BlueJ Dr. Henry Herper – Otto-von-Guericke-Universität

BlueJ – Objekte und Methoden

20

Über den Editor kann man auf die Attribute und die Methoden einer Klasse zugreifen.

Page 21: Einführung in die Programmierung mit BlueJ - mttcs.org · Einführung in die Programmierung mit BlueJ! Thema 1 – Grundlagen der Programmierung mit BlueJ Dr. Henry Herper – Otto-von-Guericke-Universität

Kontrollfragen und Aufgaben

21

1.  Was versteht man unter einem Bezeichner? Welche Regeln gelten für die Verwendung von Bezeichnern in Java? Welche der folgenden Bezeichner sind keine gültigen Bezeichner in Java? Begründen Sie ihre Aussage. Name, NAME, _jahr, daten.dat, 091004brief, brief_220909, vers$1, $XX3, class

2.  Was versteht man unter reservierten Wörtern in Java? Geben Sie 3 Beispiele an. Was ist bei der Benutzung und Schreibweise zu beachten?

3.  Wozu werden Kommentare in Java-Programmen verwendet? Wie werden sie gekennzeichnet? Gehen Sie dabei auf ein- und mehrzeilige Kommentare ein. Welche Informationen sollten im Kommentar vor einer BlueJ-Methode stehen?

4.  Erläutern Sie die Begriffe „Objekt“ und „Klasse“ im Zusammenhang mit der objektorientierten Softwareentwicklung. Beschreiben Sie in diesem Zusammenhang die Begriffe Attribut, Methode und Botschaft.

Page 22: Einführung in die Programmierung mit BlueJ - mttcs.org · Einführung in die Programmierung mit BlueJ! Thema 1 – Grundlagen der Programmierung mit BlueJ Dr. Henry Herper – Otto-von-Guericke-Universität

Literatur

22

Dietmar Ratz, Jens Scheffler, Detlef Seese, Jan Wiesenberger Grundkurs Programmieren in JAVA Carl Hanser Verlag München Wien, 2010, ISBN-13: 978-3-446-41655-0

David J. Barnes, Michael Kölling Java lernen mit BlueJ Pearson Studium, 2009, ISBN-13: 978-3-86894-001-5

Offizielle BlueJ-Webseite: www.bluej.org

Das BlueJ-Tutorial: http://www.bluej.org/tutorial/blueJ-tutorial-deutsch.pdf