Deininger / Kessel | Java Schritt für Schritt | E-Book | sack.de
E-Book

E-Book, Deutsch, 200 Seiten

Reihe: Schritt für Schritt

Deininger / Kessel Java Schritt für Schritt

Arbeitsbuch

E-Book, Deutsch, 200 Seiten

Reihe: Schritt für Schritt

ISBN: 978-3-8463-6177-1
Verlag: UTB
Format: EPUB
Kopierschutz: Wasserzeichen (»Systemvoraussetzungen)



Die Programmiersprache Java von Anfang bis Ende durchzuarbeiten und zu erlernen scheint für viele Studierende eine große Hürde zu sein. Nicht mit diesem Arbeitsbuch. Es führt Schritt für Schritt und leicht verständlich in die Programmiersprache ein.

Das Buch umfasst 14 Kapitel: Einführung in Java; Variablen, Datentypen, Operatoren; Kontrollstrukturen; Felder / Arrays; Methoden; Sichtbarkeit / Gültigkeit; Objektorientierte Konzepte; Ausnahmen / Exceptions; Zeichenketten / Strings; Lineare Datenstrukturen; Datenströme / Streams; Datenbanken mit Java; Graphische Benutzeroberflächen mit Swing: Einführung; komplexere Oberflächen.

Zahlreiche Übersichten und Zusammenfassungen erleichtern das Verständnis.


utb+:
Begleitend zum Buch steht den Leser:innen ein eLearning-Kurs für die Prüfungsvorbereitung zur Verfügung. Erhältlich über utb.de.
Deininger / Kessel Java Schritt für Schritt jetzt bestellen!

Weitere Infos & Material


Vorwort
Inhaltsübersicht
Inhaltsverzeichnis
Schritt 1: Einführung in Java
Schritt 2: Variablen, Datentypen, Operatoren
Schritt 3: Kontrollstrukturen
Schritt 4: Felder / Arrays
Schritt 5: Methoden
Schritt 6: Sichtbarkeit / Gültigkeit
Schritt 7: Objektorientierte Konzepte
Schritt 8: Ausnahmen / Exceptions
Schritt 9: Zeichenketten / Strings
Schritt 10: Lineare Datenstrukturen
Schritt 11: Datenströme / Streams
Schritt 12: Datenbanken mit Java
Schritt 13: Graphische Benutzeroberflächen mit Swing: Einführung
Schritt 14: Graphische Benutzeroberflächen mit Swing: komplexere Oberflächen
Stichwortverzeichnis
Schritt 1: Einführung in Java
1.1 Historie
1.2 Begriffe
1.3 Besonderheiten von Java
1.4 Konventionen und Notationen
1.5 Das erste Java-Programm
Schritt 2: Variablen, Datentypen, Operatoren
2.1 Datentypen
2.2 Operatoren
Schritt 3: Kontrollstrukturen
3.1 Anweisungen
3.2 Sequenz
3.3 Auswahl
3.4 Schleifen / Wiederholungen
Schritt 4: Felder / Arrays
4.1 Werte in Arrays anordnen
Schritt 5: Methoden
5.1 Anweisungen in Methoden zusammenfassen
Schritt 6: Sichtbarkeit / Gültigkeit
6.1 Java-Komponenten
6.2 Das Geheimnisprinzip und Zugriffsmodifier
6.3 Qualifikation und Import
6.4 Gültige und sichtbare Elemente
6.5 Innere Elemente
Schritt 7: Objektorientierte Konzepte
7.1 Klassen und Objekte
7.2 Erweiterung / Vererbung
7.3 Abstrakte Klassen und Methoden
7.4 Schnittstellen / Interfaces
7.5 Aufzählungstypen / Enumerations
7.6 Polymorphismus
7.7 Best Practices der objektorientierten Programmierung
Schritt 8: Ausnahmen / Exceptions
8.1 Ausnahmen auslösen und behandeln
Schritt 9: Zeichenketten / Strings
9.1 Die Klassen String und StringBuilder
9.2 Erzeugung von Strings
9.3 Vergleich von Strings
9.4 Extraktion von Zeichen oder Teilstrings
9.5 Umwandeln von Strings
9.6 Umwandlung von elementaren Datentypen in Strings
9.7 Verarbeitung von Zeichenketten mit der Klasse StringBuilder
Schritt 10: Lineare Datenstrukturen
10.1 Überblick
10.2 Typisierung von Collections
10.3 Das Interface Collection
10.4 Die Liste / List
10.5 Die Menge / Set
10.6 Die Schlange / Queue
10.7Der Keller / Stapel / Stack
10.8 Die Assoziationsliste / Map
Schritt 11: Datenströme / Streams
11.1 Datenquellen und -senken
11.2 Daten- und Stream-Arten
11.3 Lesen und Schreiben von Strömen in Java
11.4 Lesen und Schreiben von Byte-Strömen
11.5 Lesen und Schreiben von Textdateien
11.6 Lesen und Schreiben von Java-Daten
11.7 Objekte speichern und lesen
Schritt 12: Datenbanken mit Java
12.1 Java und Datenbanken
12.2 Relationale Datenbanken und SQL
12.3 Datenbankzugriff mit JDBC
Schritt 13: Graphische Benutzeroberflächen mit Swing: Einführung
13.1 Benutzeroberflächen
13.2 Aufbau von Swing-Oberflächen
13.3 Einfache Widgets
13.4 Interaktion mit Widgets
Schritt 14: Graphische Benutzeroberflächen mit Swing: komplexere Oberflächen
14.1 Komplexere Oberflächen
14.2 Übersicht über das Anwendungsbeispiel
14.3 MVC: Trennung von Oberfläche und Anwendung
14.4 Weitere Widgets: Auswahllisten
14.5 Layout-Manager
14.6 Strukturierung der Oberfläche
14.7 Weitere Widgets
Stichwortverzeichnis


1.1Historie
Java wurde 1995 von einem Team von Entwicklern um James Gosling und Billy Joy im Auftrag der Firma SUN Microsystems entworfen und umgesetzt. Im Jahr 2010 wurde SUN Microsystems von Oracle übernommen. Im Zug dieser Transaktion wurden auch alle intellektuellen Rechte an Java, z.B. die Patente, Lizenzen und Urheberrechte, an Oracle übertragen. Die Entwicklung von Java wurde stark durch andere Programmiersprachen, wie z.B. C++ und Smalltalk, beeinflusst. Java selbst hat wiederum zu einer Vielzahl von neuen Programmiersprachen, wie z.B. Groovy, AspectJ, Clojure oder Scala, hervorgebracht, die die zugrundeliegende Architektur, z.B. die virtuelle Java-Maschine, übernehmen oder einzelne Aspekte vertiefen. Die Weiterentwicklung von Java erfolgt im Rahmen des Java Community Processes (JCP), an dem sich viele renommierte IT-Hersteller, IT-Dienstleister und Softwareunternehmen beteiligen. Trotz der Einbindung anderer Unternehmen bleibt Oracle jedoch die bestimmende Kraft bei der Weiterentwicklung von Java. Vorschläge zu einer neuen Version einer bereits existierenden oder einer innovativen, erstmaligen Technologie werden in Form Java Specification Requests (JSR) definiert, der den jeweils aktuellen Stand der Diskussion definiert (einsehbar auf www.jcp.org). Die daraus resultierenden technischen Spezifikationen der verschiedenen Java-Technologien können auch auf den einschlägigen Webseiten der Firma Oracle eingesehen werden. 1.2Begriffe
Das Java Software Development Kit (Java SDK oder auch manchmal als JDK bezeichnet) ist die technische Voraussetzung, um in Java programmieren zu können. Es ist über die Webseiten von Oracle für verschiedene Hardware-Plattformen (z.B. Windows, Linux, MacOS) kostenlos verfügbar, es existieren darüber hinaus aber auch noch weitere Implementierungen von anderen Herstellern. Das Java SDK umfasst zum einen den Compiler, der den Java-Quellcode in einen plattformübergreifenden Zwischencode (Bytecode) übersetzt, und zum anderen die Java-Laufzeitumgebung (Java Runtime Environment, JRE) inklusive der zahlreichen Klassenbibliotheken und dem Interpreter, der den Zwischencode in die jeweilige Zielplattform überführt. Java Development Kit (JDK) wird oft synonym zu Java SDK verwendet. Aus diesem Ansatz ergeben sich zwei wesentliche Vorteile: erstens, ein Anwender kann Zwischencode problemlos von einer Hardware-Plattform auf eine andere übertragen, wo er dort dann interpretiert wird, und zweitens, ein Hersteller muss für eine neue Hardware-Plattform nur eine entsprechende Java-Laufzeitumgebung bereitstellen, was weit weniger aufwändig ist, als das gesamte Java SDK zu portieren. Der Quelltext eines Java-Programms könnte prinzipiell zwar mit Hilfe eines Texteditors erstellen werden, aber dies wäre nur wenig sinnvoll, da weitere unterstützende Funktionen, wie z.B. die Ausführung oder das Debugging des Java-Codes, über die Kommandozeile aufgerufen werden müssten. Aus diesem Grund gibt es integrierte Entwicklungsumgebungen („Integrated Development Environments“, IDE), wie z.B. Eclipse oder NetBeans, die all diese Funktionalitäten in einer gemeinsamen Benutzeroberfläche bündeln und als kostenlose Versionen verfügbar sind. 1.3Besonderheiten von Java
Die wesentlichen Differenzierungsfaktoren von Java zum Zeitpunkt seines Entwurfs waren: Plattformunabhängigkeit Objektorientierung Einfachheit Netzwerkfähigkeit Sicherheit Offenheit/Open Source Plattformunabhängigkeit bedeutet, dass der Java-Quellcode in den Zwischencode übersetzt wird und dann von jeder Java-Laufzeitumgebung, unabhängig von der Betriebssystem-Plattform, ausgeführt werden kann. Die Java-Laufzeitumgebung ist (immer) eine Voraussetzung für die Ausführung von Java-Programmen und stellt eine Abstraktion von der konkreten Hardware dar. Insbesondere die plattformunabhängige Verfügbarkeit einer grafischen Benutzeroberfläche war ein wichtiges Alleinstellungsmerkmal bei der Markteinführung von Java. Grafische Benutzeroberflächen mit Java werden in Schritt 13 eingeführt. Objektorientierung basiert darauf, dass Klassen definiert werden, von denen Instanzen oder Objekte erzeugt werden. Das Programm besteht dann in dem Versenden von Nachrichten zwischen den einzelnen Objekten (bzw. dem Aufruf von Methoden laut der Java-Terminologie). Das Prinzip der Objektorientierung war zum damaligen Zeitpunkt bereits in einigen Programmiersprachen, z.B. Smalltalk, C++ oder Objective-C umgesetzt, aber erst durch Java erlangte die konsequente und durchgängige objektorientierte Programmierung die nötige Verbreitung und Unterstützung. Typische Mechanismen von objektorientierten Programmiersprachen sind Klassen, die Vererbung und der Polymorphismus. In Java wird das objektorientierte Paradigma ein wenig abgemildert, wenn es um die einfachen Datentypen geht, die nicht als Klassen implementiert sind. Die Konzepte der objektorientierten Programmierung werden in Schritt 7 betrachtet. Unter Einfachheit versteht man bei einer Programmiersprache, dass die zugrundeliegenden Konstrukte übersichtlich, verständlich und leicht zu erlernen sind, so dass bereits mit wenigen Schlüsselwörtern und -konzepten eine große Ausdrucksfähigkeit erreicht wird. Die Einfachheit von Java kommt in zwei Aspekten zum Tragen: zum einen orientiert sich die Syntax von Java an C und zum zweiten besteht Java aus einem „Sprachkern“ und Klassenbibliotheken. Das Besondere ist hierbei, dass der Sprachkern nur wenige, grundlegende Sprachkonstrukte und Schlüsselwörter enthält, so dass er leicht erlernbar und verständlich ist. Die Auslagerung vieler Funktionalitäten in die Klassenbibliotheken erlaubt eine große Flexibilität und kommt auch dadurch zum Ausdruck, dass es drei Versionen (Standard, Enterprise und Embedded) gibt, die sich in erster Linie aufgrund der Klassenbibliotheken unterscheiden. Der Sprachkern von Java wird in den Schritten 2 bis 4 vorgestellt. Eine Programmiersprache gilt als netzwerkfähig, wenn die grundlegenden Funktionalitäten zum Aufbau und zur Beendigung einer Netzwerkverbindung integriert sind, z.B. über eine entsprechende Standard-Klassenbibliothek. Die Netzwerkfähigkeit war von Anfang an in Java integriert und motivierte deshalb den Einsatz von Java in verteilten Anwendungen und bei der sich damals erst entwickelnden Web-Programmierung. Aufbauend auf diesen grundlegenden Features entwickelte sich sehr schnell die Java Enterprise Edition (JEE), die insbesondere für verteilte Systeme und große, geschäftskritische Anwendungen in Unternehmen ausgelegt ist. Aufgrund der einfachen Erweiterbarkeit von Java kamen in den vergangenen Jahren immer mehr Klassen und Funktionen zur Netzwerkprogrammierung hinzu, die einfach in die bisherigen Klassenbibliotheken integriert oder in separate ausgelagert werden konnten. Die Sicherheit einer Programmiersprache hängt von unterschiedlichen Aspekten ab: von einer zuverlässigen Speicherverwaltung, über die Typprüfung aller Variablen bis hin zu einer konsequenten Fehlerbehandlung, der Validierung des erzeugten Codes oder die eventuellen Einschränkungen bei der Ausführung der Java-Anwendung. Zahlreiche Sicherheitsmechanismen sind von vorneherein in Java eingebunden. Das automatische Speichermanagement erlaubt es, nicht mehr benötigte Speicherbereiche nach Gebrauch wieder frei zu geben und so „memory leaks“ zu vermeiden. Memory leaks sind Speicherbereiche, die für die Nutzung eines Programms reserviert sind, die aber anschließend nicht mehr frei gegeben werden. Alle Variablen müssen deklariert, typisiert und initialisiert werden, bevor sie verwendet werden dürfen. Dies reduziert deutlich die Gefahr von falschen oder unvollständigen Werten. Die integrierte Fehlerbehandlung dank der Exceptions erlaubt es, auch auf Störungen des Programmablaufs zur Laufzeit entsprechend zu reagieren und diese sogar ggf. zu beheben. Die Ausnahmebehandlung wird in Schritt 11 diskutiert. Die Sicherheit beschränkt sich dabei nicht nur auf die Programmierung, sondern sie kann sich insbesondere auf die Ausführung des Java-Codes erstrecken. Zur Abwehr von Schadsoftware kann überprüft werden, ob der Code selbst verändert wurde, oder es können sogar Sicherheitsregeln definiert werden, die die...


Deininger, Marcus
Prof. Dr. Marcus Deininger lehrt Informatik an der Hochschule für Technik Stuttgart.

Kessel, Thomas
Prof. Dr. Thomas Kessel lehrt Wirtschaftsinformatik an der Dualen Hochschule Baden-Württemberg in Stuttgart.

Prof. Dr. Marcus Deininger lehrt Informatik an der Hochschule für Technik Stuttgart.Prof. Dr. Thomas Kessel lehrt Wirtschaftsinformatik an der Dualen Hochschule Baden-Württemberg in Stuttgart.


Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.