Skip to main content
Top

2014 | Book

Java als erste Programmiersprache

Ein professioneller Einstieg in die Objektorientierung mit Java

insite
SEARCH

About this book

Mit Java hat sich in der Industrie eine Programmiersprache durchgesetzt, die weit über die Konzepte traditioneller Programmiersprachen hinausgeht. Dieses Buch setzt keine Kenntnisse in anderen Programmiersprachen voraus, sondern richtet sich an diejenigen Schüler, Studenten und Praktiker, die nicht nur kurz in Java hineinschnuppern wollen, sondern das Ziel haben, die Grundlagen der Sprache Java in systematischer Weise zu erlernen.

Auf springer.com finden Sie vertiefende Kapitel, alle Programmbeispiele und alle Bilder des Buchs, sowie die Lösungen zu den im Buch enthaltenen Aufgaben und zu einem Projektbeispiel, in dem ein Flughafen-Informationssystem simuliert wird.

Table of Contents

Frontmatter

Objektorientierung und Grundkurs Java

Frontmatter
1. Grundlagen der Programmierung
Zusammenfassung
Bevor man mit einer Programmiersprache umzugehen lernt, muss man wissen, was ein Programm prinzipiell ist und wie man Programme konstruiert. Damit wird sich das erste Kapitel befassen. Leser, die bereits eine höhere Programmiersprache erlernt haben, können prüfen, ob sie die hier präsentierten Grundlagen (noch) beherrschen, und können ggf. dieses Kapitel "überfliegen".
Joachim Goll, Cornelia Heinisch
2. Objektorientierte Konzepte
Zusammenfassung
Menschen denken objektorientiert. Sie denken in Gegenständen wie Tisch, Stuhl, Person und so weiter. Objektorientierte Programmiersprachen bilden das menschliche Denken nach und enthalten Abstraktionen von Gegenständen.
Joachim Goll, Cornelia Heinisch
3. Einführung in die Programmiersprache Java
Zusammenfassung
Im Jahre 1991 befasste sich ein Mitarbeiterteam von Sun Microsystems (inzwischen Oracle) mit der Entwicklung von Set-Top-Boxen f?ür Fernsehgeräte mit dem Ziel des interaktiven Fernsehens. Für die Software dieser Boxen wurde zunächst C++ verwendet – die damals gängige Sprache für objektorientierte technische Anwendungen. Die Unzufriedenheit über die Komplexität von C++ und die daraus resultierende mangelnde Sicherheit veranlasste das Team, ausgehend von C und C++ eine neue Sprache – die Sprache Java – zu entwickeln.
Joachim Goll, Cornelia Heinisch
4. Einfache Beispielprogramme
Zusammenfassung
Mit dem Programm "Hello, world" in Kapitel 1.1 und dem Programm "Punkt" in Kapitel 2.1 haben Sie bereits erste Erfahrungen im Programmieren erworben. Programmieren kann viel Spaß bereiten. Im Folgenden sollen deshalb weitere kurze, aussagekräftige Programme vorgestellt werden, damit Sie sich zunächst spielerisch voran arbeiten, um dann auch Augen und Ohren für die erforderliche Theorie zu haben. Alle Programme des Buches befinden sich auch auf der Internetseite des Verlags unter www.springer-vieweg.de. Sie brauchen also die Programme nicht abzutippen.
Joachim Goll, Cornelia Heinisch
5. Lexikalische Konventionen
Zusammenfassung
"Lexikalisch" bedeutet "ein Wort (eine Zeichengruppe) betreffend", ohne den Textzusammenhang (Kontext), in dem dieses Wort steht, zu berücksichtigen. Im Folgenden werden also die "Rechtschreibregeln", um Wörter in der Programmiersprache Java zu bilden, besprochen.
Joachim Goll, Cornelia Heinisch
6. Datentypen und Variablen
Zusammenfassung
Datentypen stellen den Bauplan für Variablen dar. Alle Variablen eines Datentyps haben dieselbe Darstellung im Arbeitsspeicher, d. h. dieselbe Anzahl von Speicherzellen und dieselbe Interpretation der einzelnen Bits. Verschiedene Variablen können dabei individuelle Werte tragen.
Joachim Goll, Cornelia Heinisch
7. Ausdrücke und Operatoren
Zusammenfassung
Ein Ausdruck ist in Java im einfachsten Falle der Bezeichner (Name) einer Variablen oder einer Konstanten. Meist interessiert der Wert eines Ausdrucks. So hat eine Konstante einen Wert, eine Variable kann einen Wert liefern, aber auch der Aufruf einer Instanz- oder Klassenmethode kann einen Wert liefern. Der Wert eines Ausdrucks wird oft auch als Rückgabewert des Ausdrucks bezeichnet.
Joachim Goll, Cornelia Heinisch
8. Kontrollstrukturen
Zusammenfassung
Kontrollstrukturen steuern den Kontrollfluss eines sequenziellen Programms. Dabei können beispielsweise in Abhängigkeit von der Bewertung von Ausdrücken gewisse Anweisungen übergangen oder ausgeführt werden. Da Kontrollstrukturen in Java einen einzigen Eingang und einen einzigen Ausgang haben, bleibt der Kontrollfluss einer Methode dennoch sequenziell.
Joachim Goll, Cornelia Heinisch
9. Blöcke und Methoden
Zusammenfassung
Diese beiden Sätze enthalten bereits die Definition von Block und Methode. Blöcke und Methoden werden in diesem Kapitel detailliert behandelt.
Joachim Goll, Cornelia Heinisch
10. Klassen und Objekte
Zusammenfassung
In Java kann man nur objektorientiert programmieren. Die Klassen und ihre statischen Beziehungen stellen das Skelett eines Programms dar. Die Muskeln, die das Skelett zum Leben und in Bewegung bringen, sind die Methoden, welche die Dynamik, d. h. die Verarbeitung von Daten, beschreiben.
Joachim Goll, Cornelia Heinisch
11. Vererbung und Polymorphie
Zusammenfassung
Neben der Aggregation stellt die Vererbung ein wesentliches Sprachmittel der objektorientierten Programmiersprachen dar, um Programmcode wiederverwenden zu können. Bei der Vererbung wird in Java der Quellcode einer einzigen Superklasse in einer abgeleiteten Klasse wiederverwendet. Bekanntermaßen unterstützt Java nicht das Konzept der Mehrfachvererbung wie beispielsweise C++ sondern das Konzept der Einfachvererbung. Bei der Aggregation werden vorhandene einzelne Klassen von den aggregierenden Klassen benutzt und damit wiederverwendet. Beim Vorliegen von Polymorphie von Objekten hingegen können komplette Programme wiederverwendet werden, wenn die Klassen dieser Programme als Basisklassen genommen werden und die Gültigkeit des liskovschen Substitutionsprinzips bei der Vererbung garantiert ist. Das liskovsche Substitutionsprinzip wird in Kapitel 11.4 erläutert.
Joachim Goll, Cornelia Heinisch
12. Pakete
Zusammenfassung
Ehe auf die Gruppierung von Quellcode in Kapitel 12.2 eingegangen wird, stellt Kapitel 12.1 das Konzept der "Programmierung im Großen" vor. Kapitel 12.3 befasst sich mit der Erstellung von Paketen und Kapitel 12.4 mit der Benutzung von Paketen. Kapitel 12.5 erörtert Paketnamen und Kapitel 12.6 den Gültigkeitsbereich von Klassennamen. Kapitel 12.7 diskutiert die Bedeutung von Zugriffsmodifikatoren für Klassen bzw. Schnittstellen in Paketen sowie von Elementen in Klassen, d. h. von Methoden und Datenfeldern, für den Zugriff aus anderen Paketen.
Joachim Goll, Cornelia Heinisch
13. Ausnahmebehandlung
Zusammenfassung
Das Konzept des Exception Handling, das normalen Code von fehlerbehandelndem Code trennt, wird programmiersprachenunabhängig in Kapitel 13.1 vorgestellt. Kapitel 13.2 erläutert, wie das Konzept des Exception Handling in Java umgesetzt wird. Die gemeinsame Basisklasse aller Exceptions, die Klasse Throwable, wird in Kapitel 13.3 vorgestellt. Kapitel 13.4 zeigt den Klassenbaum der Exception-Klassen mit der Klasse Throwable als Wurzelklasse. Die wichtigsten Klassen dieses Klassenbaums werden vorgestellt.
Joachim Goll, Cornelia Heinisch
14. Schnittstellen
Zusammenfassung
Eine Klasse enthält Methoden und Datenfelder. Methoden bestehen aus Methodenköpfen und Methodenrümpfen. Methodenköpfe stellen die Schnittstellen eines Objektes zu seiner Außenwelt dar.
Joachim Goll, Cornelia Heinisch
15. Threads
Zusammenfassung
Bei vielen Anwendungen ist es wünschenswert, dass ein Benutzer an seinem Computer parallel verschiedene Aufgaben durchführen kann. So möchte z. B. ein Nutzer eine Datei aus dem Internet laden, während er zugleich einen Text in einem Fenster des Bildschirms schreibt. Er wäre – wenn er nur einen einzigen Prozessor hat – überhaupt nicht zufrieden, wenn er während des Ladevorgangs seine sonstigen Aktivitäten am Rechner einstellen und untätig auf den Abschluss des Ladens warten müsste.
Joachim Goll, Cornelia Heinisch
16. Generizität
Zusammenfassung
Seit Java 5 unterstützt Java die Definition
  • generischer Klassen,
  • generischer Schnittstellen und
  • generischer Methoden.
Diese werden als Java Generics bezeichnet.
Joachim Goll, Cornelia Heinisch
17. Geschachtelte Klassen
Zusammenfassung
Geschachtelte Klassen werden in Java meist dazu eingesetzt, um Klassen oder Schnittstellen in einer sie umfassenden Klasse zu verbergen und sie anderen Klassen außerhalb der umfassenden Klasse nicht zugänglich zu machen.
Joachim Goll, Cornelia Heinisch

Grundlegende Java-Bibliotheken

Frontmatter
18. Collections
Zusammenfassung
Collections sind – wie der Name schon andeutet – Zusammenstellungen von Daten, genauer gesagt von Objekten. Zur Verwaltung dieser Objekte im Arbeitsspeicher werden bei der Programmierung Datenstrukturen (Strukturen von Objekten) eingesetzt. Die einfachste dieser Datenstrukturen ist das bekannte Array. Darüber hinaus kennt man in der Informatik jedoch noch eine ganze Reihe weiterer Datenstrukturen mit unterschiedlichen Eigenschaften.
Joachim Goll, Cornelia Heinisch
19. Ein-/Ausgabe und Streams
Zusammenfassung
Programme laufen fast immer nach dem Schema "Eingabe/Verarbeitung/Ausgabe" ab. Schon daran ist die Wichtigkeit der Ein- und Ausgabe in Programmen zu erkennen. Ein gutes Ein- und Ausgabe-System ist für die Akzeptanz einer Programmiersprache von großer Bedeutung. Gute Ein- und Ausgabe-Systeme sind jedoch nicht einfach zu entwerfen, denn es gibt nicht nur sehr viele Datenquellen (Tastatur, Dateien, Netzverbindungen), von denen Eingaben gelesen werden, und Datensenken (Bildschirme, Dateien, Netzverbindungen), in welche die Ausgaben geschrieben werden, sondern mit diesen Datenquellen und Datensenken sollen Informationen auch in verschiedenen Einheiten wie z. B. Bytes, Zeichen oder Zeilen ausgetauscht werden.
Joachim Goll, Cornelia Heinisch
20. Applets
Zusammenfassung
Wie schon der Name "Applets" vermuten lässt, handelt es sich bei Applets um kleine Applikationen – die Nachsilbe "let" stellt im Englischen die Verkleinerungsform entsprechend dem deutschen "chen" dar. Im Unterschied zu normalen Java-Applikationen sind Applets in eine HTML-Seite eingebettet. Anstatt von eingebettet spricht man auch oft von eingebunden. Für das Verständnis ist es jedoch einfacher, sich vorzustellen, dass innerhalb der HTML-Seite auf ein Applet verwiesen wird, das sich auf einem HTTP-Server befindet.
Joachim Goll, Cornelia Heinisch
21. Sicherheit in Java
Zusammenfassung
Eine herausragende Fähigkeit des Internets ist, dass Informationen in Form von Daten und Programmen mühelos von einem Punkt der Erde zu einem anderen übertragen werden können. Damit können diese Informationen natürlich weltweit das Ziel von Angriffen sein. Außerdem werden beim Aufruf einer Webseite durch einen Benutzer automatisch die class-Dateien eines eventuell auf der Webseite vorhandenen Applets auf den eigenen Rechner geladen und vom Browser gestartet, wobei der Nutzer der Ausführung zustimmen muss.
Joachim Goll, Cornelia Heinisch
22. Oberflächenprogrammierung mit Swing
Zusammenfassung
Die in diesem Buch bisher vorgestellten Programme wurden über die Kommandozeile bedient. Während das bei kleineren Programmen noch problemlos möglich ist, wird die Bedienung über die Kommandozeile mit steigender Funktionsvielfalt eines Programmes immer komplexer. Um die Bedienung zu erleichtern, werden sogenannte grafische Bedienoberflächen eingesetzt.
Joachim Goll, Cornelia Heinisch
Backmatter
Metadata
Title
Java als erste Programmiersprache
Authors
Joachim Goll
Cornelia Heinisch
Copyright Year
2014
Electronic ISBN
978-3-8348-2270-3
Print ISBN
978-3-8348-1857-7
DOI
https://doi.org/10.1007/978-3-8348-2270-3

Premium Partner