Skip to main content
main-content

Über dieses Buch

Schaffen Sie mit diesem Buch den Einstieg in die Programmierung mit Java

Das Arbeiten mit Programmiersprachen wie Java kann für Einsteiger sehr kompliziert sein. Dieses Buch über die Programmierung mit Java bringt Anfängern anhand einzelner abgeschlossener Lerneinheiten das Programmieren mit Java bei. Es zeigt den Entwurf von effizienten Daten- und Ablaufstrukturen, macht algorithmische Konzepte verständlicher und hilft so dabei, mit Java zu programmieren.

Die zentralen Lernziele sind das Verstehen der Abstraktionskonzepte moderner Programmiersprachen und das Erlernen des logischen und algorithmischen Denkens. Mit diesem Wissen können Sie im Anschluss selbstständig eigene Computerprogramme implementieren, um damit praxisrelevante Aufgaben schnell und sicher zu bearbeiten.

Strukturierte Inhalte sorgen für maximalen Lernerfolg

Im Fokus dieses Buchs über die Programmierung mit Java stehen die folgenden Punkte:

Strukturelle Programmierung

Funktionsweise von Algorithmen

Grundlagen der Objektorientierung

Verarbeitung von Dateien

Alle Kapitel beschreiben zunächst die Inhalte und Lernziele, ehe sie die syntaktischen Bestandteile der Konzepte zusammen mit Programmiermethodiken und zahlreichen Code-Beispielen vorstellen. Ausführliche Beschreibungen einiger ausgewählter Beispielprogramme festigen die Lerninhalte. Am Ende jedes Kapitels werden die vorgestellten Konzepte zum schnellen Überblick zusammengefasst.

Sebastian Dörns Buch über die Programmierung mit Java deckt die folgenden Themenkomplexe ab:

Erste Schritte in Java-Variablen

Ausdrücke und Operatoren

Aus- und Eingabe

Bedingte Auswahlanweisungen

Iterationen- und Schleifenmethoden

Array-Prinzip algorithmischer Verfahren

Reguläre Ausdrücke

Einfache Dateiverarbeitung

Objektorientierte Programmierung

Viele Beispiele machen die einzelnen Konzepte begreifbar und leicht nachvollziehbar. Dank der zahlreichen Übungen und Programmieraufgaben zur selbstständigen Programmentwicklung geht das Selbststudium einer so komplexen Programmiersprache wie Java leicht und mit Freude voran.

Inhaltsverzeichnis

Frontmatter

1. Wie beginne ich mit dem Java-Programmieren? Erste Schritte in Java

Wir starten ohne große Vorrede mit der Installation der Entwicklungsumgebung Eclipse für die Programmiersprache Java. Eine Entwicklungsumgebung ist ein Anwendungsprogramm, das Sie als Programmierer beim Schreiben von Software unterstützt. Anschließend verwenden wir Eclipse zum Erstellen der ersten Java-Programme.
Unsere Lernziele
  • Entwicklungsumgebung Eclipse installieren und bedienen.
  • Erste Programme in Java erstellen.
  • Grundsätze der Programmentwicklung verstehen.
  • Fehlermeldungen verstehen und beheben.
Sebastian Dörn

2. Wie erstelle ich Anweisungen? Variablen, Ausdrücke und Operatoren

In unserem ,,Hallo Welt“-Programm haben wir bisher nur eine einfache Ausgabe erstellt. Eine der wichtigsten Aufgaben beim Programmieren ist das Ausführen von Rechenvorschriften. Dazu benötigen wir Variablen für die Ein- und Ausgabewerte. Diese Werte können dabei von ganz unterschiedlichen Typen sein: z.B. ganze Zahlen, Dezimalzahlen oder Zeichenketten. Mit Werten sind wir in der Lage mit mathematischen Operatoren (z. B. Grundrechenarten, Potenzieren oder Wurzelziehen) zu rechnen.
Unsere Lernziele
  • Definition von Variablen erlernen.
  • Einfache Datentypen in Java kennenlernen.
  • Ausdrücke mit Operatoren formulieren.
  • Mathematische Berechnungen fehlerfrei umsetzen.
Sebastian Dörn

3. Wie erfolgt eine formatierte Aus- und Eingabe? Aus- und Eingabe

Die Aus- und Eingabe von Daten gehört zu den zentralen Anweisungen innerhalb eines Computerprogramms. In jedem sinnvollen Programm werden Daten eingelesen, über einen Algorithmus verarbeitet und anschließend als Ergebnisse dem Nutzer ausgegeben.
Unsere Lernziele
  • Formatierte Ausgabe von Variablen verstehen.
  • Formatierte Eingabe von Variablen kennenlernen.
  • Programme mit Aus- und Eingabe schreiben.
Sebastian Dörn

4. Wie erstelle ich Verzweigungen? Bedingte Auswahlanweisungen

Unsere bisherigen Programme bestanden nur aus einzelnen Anweisungen, die der Reihe nach von oben nach unten abgearbeitet wurden. Damit können wir direkte Sequenzen der Form ,,Führe A gefolgt von B aus“ ausdrücken oder Programme mit Formeln schreiben. Die Aufgabe dieses Kapitels ist es, den Ablaufs eines Programms mit Verzweigungen der Form ,,Wenn Q, dann führe A aus, andernfalls B“ zu steuern.
Unsere Lernziele
  • Relationale und logische Operatoren verwenden.
  • Programme mit bedingten Auswahlanweisungen formulieren.
  • Funktionsweise der Fallunterscheidung mit if-else-Anweisungen verstehen.
  • Auswahlanweisung switch für Mehrfachfallunterscheidungen anwenden.
Sebastian Dörn

5. Wie wiederhole ich Anweisungen? Iterationen und Schleifen

In vielen Programmen sind Anweisungen mehrfach zu wiederholen. Das Kopieren unzähliger gleicher Anweisungen ist ineffizient und unpraktikabel, da die Anzahl der Wiederholungen oftmals nicht konstant ist. Bei Wiederholungsanweisungen unterscheiden wir prinzipiell zwischen beschränkten Iterationen der Form ,,Führe A genau N-mal aus“ und bedingten Iterationen der Form ,,Wiederhole A solange, bis Q gilt“ bzw. ,,Solange Q gilt, führe A aus“. Die Schleifen gehören, wie die Verzweigungen, zu den Kontrollstrukturen. Diese Konstrukte haben die Aufgabe, den Ablauf eines Computerprogramms zu steuern. Viele Programme enthalten zahlreiche unterschiedliche Arten von Kontrollstrukturen, die teilweise miteinander verschachtelt sind.
Unsere Lernziele
  • Programme mit beschränkten und bedingten Schleifen formulieren.
  • Schleifen mittels for-, while- und do while-Anweisungen erzeugen.
  • Geschachtelte Kontrollstrukturen praktisch umsetzen.
Sebastian Dörn

6. Wie strukturiere ich meinen Code? Methoden

Unsere bisherigen Programme bestanden aus einer Klasse mit der Methode main(). In diesem Kapitel definieren wir innerhalb einer Klasse weitere Methoden. Eine Methode hat die Aufgabe, einen Teil eines Programms unter einem eigenen Namen zusammenzufassen. Mit dem Methodennamen und passenden Übergabeparametern rufen wir diesen separaten Programmteil auf. Die Methode erzeugt aus den übergebenen Eingabedaten die zugehörigen Ausgabedaten. Diese Ausgabedaten liefern eine Methode an das Hauptprogramm zurück.
Mit dem Konzept der Methoden vermeiden wir große und unstrukturierte Programme. Das Unterteilen von Programmen in Methoden hat viele Vorteile: Der Code ist besser strukturiert, übersichtlicher und damit verständlicher. Mit dem Aufbau von universellen Programmbibliotheken sind einzelne Programmfragmente wiederverwendbar.
Unsere Lernziele
  • Modularisierung durch Methoden verstehen.
  • Aufbau von Methoden in Java umsetzen.
  • Selbstdefinierte Methoden mit Programmfunktionalität erstellen.
Sebastian Dörn

7. Wie speichere ich eine Menge von Werten ab? Arrays

In zahlreichen Anwendungen schreiben wir Programme, die viele Werte in Form von Datensätzen verarbeiten. Der Programmiercode wird unübersichtlich, wenn wir für jede dieser Variablen eine individuelle Variable anlegen. Wir fassen daher mehrere Variablen des gleichen Typs zu einem sogenannten Array (Feld) zusammen. Für Arrays existiert eine Vielzahl an Anwendungen, wie das Speichern von Personaldaten, Messdaten oder Inventarlisten. Wir können Arrays als eindimensionale Felder oder als zwei- bzw. mehrdimensionale Felder definieren.
Unsere Lernziele
  • Felder definieren und anwenden.
  • Tabellen definieren und verwenden.
  • Arrays in Methoden benutzen.
Sebastian Dörn

8. Wie funktioniert ein Algorithmus? Prinzip algorithmischer Verfahren

Sebastian Dörn

9. Wie erkenne ich Muster in Zeichenketten? Reguläre Ausdrücke

In vielen Anwendungen besteht die Aufgabe, eine Zeichenkette oder einen Text nach gewissen Mustern zu durchsuchen. Beispiele sind Telefonnummern, E-Mail-Adressen, Postleitzahlen oder spezielle Wortmuster. Ein regulärer Ausdruck ist eine Zeichenkette auf Basis von syntaktischen Regeln, mit denen verschiedenste Arten von Textmustern beschreibbar sind. Mit regulären Ausdrücken können wir Muster in Texten finden und bei Bedarf durch andere Muster ersetzen. Beispielsweise ist es möglich, alle Wörter in einem Text herauszusuchen, die mit ,,Sch“ beginnen und auf ,,en“ enden. Ebenso können wir in einer Textdatei nach allen E-Mail-Adressen oder speziellen Codefragmenten suchen. Die Such- und Ersetzungsfunktionen in Textverarbeitungsprogrammen arbeiten auf der Grundlage von regulären Ausdrücken. Mit Hilfe von regulären Ausdrücken können wir in der Praxis viel Programmieraufwand einsparen.
Unsere Lernziele
  • Reguläre Ausdrücke definieren und anwenden.
  • Muster in Zeichenketten finden und ersetzen.
  • Muster in Texten suchen und extrahieren.
Sebastian Dörn

10. Wie lese ich Dateien ein? Einfache Dateiverarbeitung

In vielen Programmen besteht die Aufgabe darin, Daten aus externen Dateien einzulesen, weiterzuverarbeiten und in neue Dateien zu schreiben. In diesem Kapitel zeigen wir verschiedene Methodiken rund um das Lesen und Schreiben von Text- oder Tabellendateien.
Unsere Lernziele
  • Aus- und Eingabe von Textdateien verstehen.
  • Aus- und Eingabe von CSV-Dateien umsetzen.
  • Aus- und Eingabe von Excel-Dateien kennenlernen.
Sebastian Dörn

11. Wie erstelle ich objektorientierte Programme? Objektorientierte Programmierung Teil I

Die bisherigen Programme bestanden aus verschiedenen Methoden mit bereits vorhandenen Datentypen aus Zeichen, Zahlen oder Zeichenketten. Wir haben keine eigenen Datentypen definiert und keinen Zusammenhang zwischen Daten und den darauf anwendbaren Operationen hergestellt.
In der objektorientierten Programmierung definieren wir eigene Datentypen. Damit erstellen wir Programme durch eine Menge von interagierenden Elementen, den sogenannten Objekten. Das Ziel ist eine möglichst einfache Abbildung unserer realen Welt, um reale Objekte wie Autos, Menschen oder Produkte direkt in Software zu modellieren. Wir fassen dazu Klassen mit zusammengehörigen Daten und die darauf arbeitende Programmlogik zusammen.
Unsere Lernziele
  • Prinzip der objektorientierten Programmierung verstehen.
  • Eigene Datenklassen mit Konstruktoren und Methoden erstellen.
  • Prinzip der Datenkapselung mittels Zugriffsspezifizierer verstehen.
  • Funktionsweise der Getter- und Setter-Methoden kennenlernen.
Sebastian Dörn

12. Wie erstelle ich objektorientierte Programme? Objektorientierte Programmierung Teil II

Mit einer Klasse haben wir einen selbst definierten Datentyp mit Eigenschaften in Form von Instanzvariablen und Verhaltensweisen mittels Methoden erstellt. Die konkrete Realisierung einer Klasse sind die Objekte. Diese Objekte können wir in anderen Klassen wiederum als Instanzvariablen verwenden. Auf diesem Weg sind wir in der Lage, ein neues Objekt aus anderen Objekten zusammenzusetzen.
Unsere Lernziele
  • Zusammensetzen von Objekten und deren Interaktion untereinander.
  • Objektorientierte Analyse und Modellierung praktischer Aufgabenstellungen.
  • Objekte in Arrays und dynamischen Listen verwenden.
Sebastian Dörn

13. Weiterführende Programmierkonzepte

In diesem Abschnitt besprechen wir einige wichtige weiterführende Programmierkonzepte in Java:
  • Exception: Strukturierte Behandlung von Laufzeitfehlern
  • Pakete: Gliedern von Klassen in Pakete
  • Enum: Datentypen mit konstanten Wertebereichen
  • Hüllklassen: Wrapper-Klassen für elementare Datentypen
Sebastian Dörn

Backmatter

Weitere Informationen

Premium Partner

BranchenIndex Online

Die B2B-Firmensuche für Industrie und Wirtschaft: Kostenfrei in Firmenprofilen nach Lieferanten, Herstellern, Dienstleistern und Händlern recherchieren.

Whitepaper

- ANZEIGE -

Best Practices für die Mitarbeiter-Partizipation in der Produktentwicklung

Unternehmen haben das Innovationspotenzial der eigenen Mitarbeiter auch außerhalb der F&E-Abteilung erkannt. Viele Initiativen zur Partizipation scheitern in der Praxis jedoch häufig. Lesen Sie hier  - basierend auf einer qualitativ-explorativen Expertenstudie - mehr über die wesentlichen Problemfelder der mitarbeiterzentrierten Produktentwicklung und profitieren Sie von konkreten Handlungsempfehlungen aus der Praxis.
Jetzt gratis downloaden!

Bildnachweise