Skip to main content
main-content

Über dieses Buch

Ob Unternehmenssoftware, Webanwendungen, technische Systeme oder mobile Anwendungen wie Apps – Java ist eine universelle Programmiersprache für die unterschiedlichsten Anwendungen. Der große Vorteil: in Java programmierte Anwendungen sind auf nahezu allen Rechnersystemen lauffähig.

Mit diesem Buch lernen Sie Schritt für Schritt die wichtigsten Aspekte von Java auf der Basis der Standard-Edition Java SE 9 kennen. Angefangen bei den allgemeinen Eigenschaften von Java und der grundsätzlichen Vorgehensweise bei der Erzeugung eines lauffähigen Programms führt der Autor imperative und objektorientierte Sprachkonzepte ein. Er behandelt die Entwicklung von grafischen Oberflächen genauso wie die Programmierung von Client/Server-Anwendungen und erläutert den Zugriff auf relationale Datenbanken mit Hilfe von SQL. Nahezu jedes Kapitel enthält am Ende Aufgaben, mit denen Leser den behandelten Stoff einüben und vertiefen können. Mehr als 200 Übungen unterstützen das Lernen, zahlreiche Beispielprogramme helfen bei der Umsetzung der Konzepte in lauffähige Anwendungen. Der vollständige Quellcode der im Buch behandelten Programme (125 Projekte) und die Lösungen zu den Aufgaben sind auf der Webseite zum Buch verfügbar.

Mit Java 9 wurden Module als neues Feature in die Programmiersprache eingeführt. Die 10. Auflage des Buchs behandelt das Java-Modulsystem in einem eigenen Kapitel. Zudem wurden zahlreiche Ergänzungen wie die API- und Syntax-Erweiterungen in die Neuauflage eingearbeitet.

Das Buch richtet sich an Studierende der Informatik und der Wirtschaftsinformatik sowie an IT-Beschäftigte in Ausbildung und Beruf. Und an alle, die bereits grundlegende Kenntnisse in einer Programmiersprache haben und auf Java umsteigen möchten.

Inhaltsverzeichnis

Frontmatter

Kapitel 1. Einleitung

Java wird als universelle Programmiersprache für eine Vielzahl von Anwendungen in der industriellen Praxis auf der Client- und insbesondere auf der Serverseite eingesetzt. Sie dient als Standard für die Entwicklung von Unternehmenssoftware und Webanwendungen sowie in technische Systeme (Geräte der Unterhaltungselektronik, der Medizintechnik usw.) eingebettete und mobile Anwendungen (z. B. Apps auf der Basis des Betriebssystems Android).
Dietmar Abts

Kapitel 2. Imperative Sprachkonzepte

Dieses Kapitel beschreibt die imperativen Sprachkonzepte von Java. Insbesondere werden einfache Datentypen, Variablen, Operatoren und Anweisungen zur Ablaufsteuerung (so genannte Kontrollstrukturen) behandelt. Im Quellcode wird festgelegt, was in welcher Reihenfolge wie getan werden soll (lat. imperare = anordnen, befehlen).
Dietmar Abts

Kapitel 3. Objektorientierte Sprachkonzepte

Dieses Kapitel behandelt die wesentlichen objektorientierten Sprachelemente von Java. Im Vordergrund stehen die Begriffe Klasse, Objekt, Attribut, Methode, Vererbung und Interface. Die objektorientierte Programmierung löst sich von dem Prinzip der Trennung von Daten und Funktionen, wie sie in den traditionellen (prozeduralen) Programmiersprachen der dritten Generation üblich ist. Stattdessen werden Daten und Funktionen zu selbständigen Einheiten zusammengefasst.
Dietmar Abts

Kapitel 4. Ausnahmebehandlung

Während der Ausführung eines Programms können diverse Fehler bzw. Ausnahmen (Exceptions) auftreten, z. B. eine ganzzahlige Division durch 0, der Zugriff auf ein Arrayelement mit einem Index außerhalb der Grenzen des Arrays oder der Zugriff auf eine nicht vorhandene Datei.
Dietmar Abts

Kapitel 5. Ausgewählte Standardklassen

In diesem Kapitel werden einige wichtige Klassen und Interfaces aus den JavaStandardpaketen vorgestellt. Sie können in verschiedenen Anwendungssituationen eingesetzt werden.
Dietmar Abts

Kapitel 6. Generische Typen

Klassen, Interfaces und Methoden können mit Hilfe von formalen Typparametern (Platzhaltern) implementiert werden, die erst bei der Verwendung durch einen konkreten Typ ersetzt werden. Der Typparameter repräsentiert zum Zeitpunkt der Implementierung noch einen unbekannten Typ. Man definiert also Schablonen, die erst durch Angabe von konkreten Typen bei ihrer Verwendung zu normalen Klassen, Interfaces bzw. Methoden ausgeprägt werden.
Dietmar Abts

Kapitel 7. Lambdas, Streams und Optional

Bis hin zur Version Java SE 7 gab es keine Möglichkeit, direkt eine Methode als Argument einer anderen Methode beim Aufruf zu übergeben und damit diese mit einer bestimmten Funktionalität auszustatten.
Dietmar Abts

Kapitel 8. Ein- und Ausgabe

Java bietet eine umfangreiche Bibliothek von Klassen und Interfaces im Paket java.io zur Verarbeitung von Dateien, zum Lesen von der Tastatur, zur Ausgabe auf dem Bildschirm, zum Senden und Empfangen von Nachrichten über Netzwerkverbindungen und vieles mehr.
Dietmar Abts

Kapitel 9. Threads und Prozesse

Moderne Betriebssysteme können mehrere Programme quasi gleichzeitig (Multitasking) oder tatsächlich gleichzeitig (bei Mehrprozessorsystemen) ausführen. Die sequentielle Ausführung der Anweisungen eines Programms durch den Prozessor stellt einen Prozess dar, für den ein eigener Speicherbereich reserviert ist und der vom Betriebssystem verwaltet, gestartet und angehalten wird.
Dietmar Abts

Kapitel 10. Grafische Benutzungsoberflächen

Die Klassen des Pakets java.awt stellen grundlegende Elemente zur Erstellung grafischer Benutzungsoberflächen, auch GUI (Graphical User Interface) genannt, bereit. Die Abkürzung AWT steht für Abstract Window Toolkit. Mit Hilfe dieser Klassen können Fenster mit Menüs, Textfelder und Bedienungselemente, wie z. B. Schaltflächen und Auswahllisten, realisiert werden. Zur Darstellung vieler AWT-Komponenten wird intern auf das jeweilige Betriebssystem zurückgegriffen (Peer-Ansatz).
Dietmar Abts

Kapitel 11. Einführung in JavaFX

JavaFX ist das aktuelle Java-Framework zur Erstellung von GUIs, das die klassischen GUI-Technologien AWT und Swing ablösen soll. Mit JavaFX können Oberflächen wie bei Swing komplett in Java programmiert oder alternativ mit einer XML-Sprache beschrieben werden, sodass eine Trennung zwischen Datenmodell (Model), Oberfläche (View) und Steuerung (Controller) nach dem MVC-Konzept gut umgesetzt werden kann (siehe Kapitel 10.1). Alle User-Interface-Komponenten können mit Hilfe der aus der Webseitenentwicklung bekannten Sprache CSS (Cascading Style Sheets) gestaltet werden, wodurch auch hier eine Trennung zwischen Design und Programmierung möglich ist.
Dietmar Abts

Kapitel 12. Datenbankzugriffe mit JDBC

Ein Datenbanksystem besteht aus der Software zur Datenverwaltung (DBMS, Datenbankmanagementsystem) und den in ein oder mehreren Datenbanken gespeicherten Daten.
Dietmar Abts

Kapitel 13. Netzwerkkommunikation mit TCP/IP

Für die Kommunikation in Rechnernetzen auf der Basis des Protokolls TCP/IP (Transmission Control Protocol/Internet Protocol) stellt das Paket java.net die erforderlichen Klassen und Methoden zur Verfügung.
Dietmar Abts

Kapitel 14. Fallbeispiel

In diesem Kapitel wird ein etwas umfangreicheres Programmbeispiel vorgestellt. Es zeigt, dass eine gut durchdachte Architektur für das zu entwickelnde Programm eine wesentliche Grundlage der Entwicklung ist. Zur Implementierung werden Klassen und Methoden der vorhergehenden Kapitel benutzt.
Dietmar Abts

Kapitel 15. Das Java Persistence API

In vorhergehenden Kapiteln wurde JDBC verwendet, um mit Hilfe von SQL auf Datenbanken zuzugreifen. Der Entwickler von JDBC-Programmen muss außer Java-Kenntnissen Know-how im Bereich relationaler Datenbanken und insbesondere SQL haben. Die Datenbanksprache SQL arbeitet mengenorientiert, d. h. die Sprache spezifiziert das Ergebnis (WAS), das man haben will, und nicht den Weg in einzelnen Ablaufschritten zum Ergebnis (WIE).
Dietmar Abts

Kapitel 16. Objektorientierte Datenbanken

Im Kapitel 15 haben wir im Rahmen des Java Persistence API ein O/R-Mapping-Tool verwendet, um Java-Objekte auf Datensätze in Tabellen einer relationalen Datenbank abzubilden. Objektorientierte Datenbanken können Objekte direkt – ohne Umweg über eine objektrelationale Abbildung – speichern und zurückgeben. Dieses Kapitel enthält eine Einführung in den Umgang mit dem objektorientierten Datenbanksystem db4o.
Dietmar Abts

Kapitel 17. Einführung in das Java-Modulsystem

Mit Java SE 9 wurde die Modularisierung eingeführt. Sie ermöglicht es, Programme in Module zu unterteilen und Abhängigkeiten zwischen den Modulen zu definieren.
Dietmar Abts

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