
Einführung in Java
Ideal für Studium, Ausbildung und Beruf. Sprachgrundlagen inkl. objektorientierter Programmierung und mehr
Kai Günster(Author)
Rheinwerk (Publisher)
2nd Edition
Published on 28. August 2017
Book
Hardback
734 pages
978-3-8362-4095-6 (ISBN)
Article exhausted; check for reprint
Description
Mit diesem Buch steigen Sie ohne Vorkenntnisse in Java und die objektorientierte Programmierung ein. Schritt für Schritt machen Sie sich mit der Sprache und ihren Konzepten vertraut. Sie lernen, in Algorithmen zu denken und Java sowie die vielen Werkzeuge Ihrer Plattform geschickt zu nutzen. Immer praxisnah und mit Gefühl für mögliche Verständnishürden: So werden auch professionelle Themen wie Testabdeckung, Multithreading und Servletentwicklung einsteigergerecht vermittelt. Schließlich schreiben Sie zeitgemäßen Code, der auch komplexe Software trägt. Ideal für Ausbildung, Studium und Beruf!
Aus dem Inhalt:
Die Entwicklungsumgebung kennenlernen
Grundkonzepte glasklar vorgestellt
Sprachmittel gründlich verstehen
Neue Features einsetzen
Unit Tests und Test Driven Design
Datenbanken anbinden
In Servlet-Technologie einsteigen
Events einsetzen und asynchron programmieren
GUIs entwickeln
Guten Code schreiben
Mit Dateien und Streams arbeiten
In die Entwicklung von Android-Apps einsteigen
Die Fachpresse zur Vorauflage:
iX - Magazin für professionelle Informationstechnik: »Buchtipp!«
CONET Blog: »Für beinah jeden Programmierer ein Pflichtprogramm!«
Aus dem Inhalt:
Die Entwicklungsumgebung kennenlernen
Grundkonzepte glasklar vorgestellt
Sprachmittel gründlich verstehen
Neue Features einsetzen
Unit Tests und Test Driven Design
Datenbanken anbinden
In Servlet-Technologie einsteigen
Events einsetzen und asynchron programmieren
GUIs entwickeln
Guten Code schreiben
Mit Dateien und Streams arbeiten
In die Entwicklung von Android-Apps einsteigen
Die Fachpresse zur Vorauflage:
iX - Magazin für professionelle Informationstechnik: »Buchtipp!«
CONET Blog: »Für beinah jeden Programmierer ein Pflichtprogramm!«
More details
Language
German
Place of publication
Bonn
Germany
Publishing group
Rheinwerk
Edition type
Enlarged edition
Dimensions
Height: 24 cm
Width: 16.8 cm
ISBN-13
978-3-8362-4095-6 (9783836240956)
Schweitzer Classification
Other editions
New editions

Book
06/2020
3rd Edition
Rheinwerk
€39.90
Available immediately
Previous edition

Book
01/2015
1st Edition
Rheinwerk
€29.90
Article exhausted; check for reprint
Person
Author
Kai Günster ist Softwareentwickler, Autor eines Online-Magazins und mehrerer Fachbücher. Er ist Experte für Java-Technologien in verteilten Web-Anwendungen, HTML und JavaScript. Seine Projekterfahrung reicht von E-Government über komplexe Reisereservierungssysteme bis zur IP-Telefonie. Dabei bleibt er der Java-Plattform schon seit vielen Jahren treu, lotet immer wieder gern neue Features aus und setzt HTML5 für komfortable Web-GUIs ein. Er schreibt zum Eintauchen und Mitmachen. Seine Fachbücher werden für ihre klare Sprache, ihren Unterhaltungswert und ihre kompakten, lehrreichen Beispiele geschätzt.
Content
1. Einführung ... 19
1.1 ... Was ist Java? ... 20
1.2 ... Die Arbeitsumgebung installieren ... 26
1.3 ... Erste Schritte in NetBeans ... 28
1.4 ... Das erste Programm ... 30
1.5 ... In Algorithmen denken, in Java schreiben ... 40
1.6 ... Die Java-Klassenbibliothek ... 46
1.7 ... Dokumentieren als Gewohnheit -- Javadoc ... 49
1.8 ... JARs erstellen und ausführen ... 55
1.9 ... Mit dem Debugger arbeiten ... 59
1.10 ... Das erste eigene Projekt ... 64
1.11 ... Zusammenfassung ... 66
2. Variablen und Datentypen ... 67
2.1 ... Variablen ... 67
2.2 ... Primitivtypen ... 70
2.3 ... Objekttypen ... 84
2.4 ... Objekt-Wrapper zu Primitiven ... 88
2.5 ... Array-Typen ... 91
2.6 ... Zusammenfassung ... 93
3. Entscheidungen ... 95
3.1 ... Entweder-oder-Entscheidungen ... 95
3.2 ... Logische Verknüpfungen ... 102
3.3 ... Mehrfach verzweigen mit »switch« ... 108
3.4 ... Zusammenfassung ... 114
4. Wiederholungen ... 115
4.1 ... Bedingte Wiederholungen mit »while« ... 115
4.2 ... Abgezählte Wiederholungen -- die »for«-Schleife ... 119
4.3 ... Abbrechen und überspringen ... 121
4.4 ... Zusammenfassung ... 124
5. Klassen und Objekte ... 125
5.1 ... Klassen und Objekte ... 126
5.2 ... Access-Modifier ... 128
5.3 ... Felder ... 130
5.4 ... Methoden ... 131
5.5 ... Warum Objektorientierung? ... 140
5.6 ... Konstruktoren ... 142
5.7 ... Statische Felder und Methoden ... 146
5.8 ... Unveränderliche Werte ... 149
5.9 ... Spezielle Objektmethoden ... 152
5.10 ... Zusammenfassung ... 154
6. Objektorientierung ... 155
6.1 ... Vererbung ... 156
6.2 ... Interfaces und abstrakte Datentypen ... 169
6.3 ... Übung: Objektorientierte Modellierung ... 177
6.4 ... Innere Klassen ... 178
6.5 ... Enumerationen ... 185
6.6 ... Zusammenfassung ... 188
7. Unit Testing ... 189
7.1 ... Das JUnit-Framework ... 191
7.2 ... Fortgeschrittene Unit Tests ... 197
7.3 ... Besseres Design durch Testfälle ... 203
7.4 ... Zusammenfassung ... 206
8. Die Standardbibliothek ... 207
8.1 ... Zahlen ... 207
8.2 ... Strings ... 213
8.3 ... Reguläre Ausdrücke ... 222
8.4 ... Zeit und Datum ... 229
8.5 ... Internationalisierung und Lokalisierung ... 234
8.6 ... Zusammenfassung ... 242
9. Fehler und Ausnahmen ... 243
9.1 ... Exceptions werfen und behandeln ... 243
9.2 ... Verschiedene Arten von Exceptions ... 250
9.3 ... Invarianten, Vor- und Nachbedingungen ... 256
9.4 ... Zusammenfassung ... 258
10. Arrays und Collections ... 259
10.1 ... Arrays ... 259
10.2 ... Die for-each-Schleife ... 269
10.3 ... Variable Parameterlisten ... 269
10.4 ... Collections ... 271
10.5 ... Typisierte Collections -- Generics ... 276
10.6 ... Maps ... 286
10.7 ... Zusammenfassung ... 288
11. Lambda-Ausdrücke ... 289
11.1 ... Was sind Lambda-Ausdrücke? ... 290
11.2 ... Die Stream-API ... 302
11.3 ... Un-Werte als Objekte -- »Optional« ... 319
11.4 ... Eine Warnung zum Schluss ... 322
11.5 ... Zusammenfassung ... 323
12. Dateien, Streams und Reader ... 325
12.1 ... Dateien und Verzeichnisse ... 326
12.2 ... Reader, Writer und die »anderen« Streams ... 332
12.3 ... Objekte lesen und schreiben ... 344
12.4 ... Netzwerkkommunikation ... 347
12.5 ... Zusammenfassung ... 350
13. Multithreading ... 351
13.1 ... Threads und Runnables ... 352
13.2 ... Atomare Datentypen ... 359
13.3 ... Synchronisation ... 360
13.4 ... Fortgeschrittene Koordination zwischen Threads ... 367
13.5 ... Die Zukunft -- wortwörtlich ... 374
13.6 ... Das Speichermodell von Threads ... 378
13.7 ... Zusammenfassung ... 380
14. Servlets -- Java im Web ... 381
14.1 ... Einen Servlet-Container installieren ... 382
14.2 ... Die erste Servlet-Anwendung ... 388
14.3 ... Servlets programmieren ... 399
14.4 ... Java Server Pages ... 406
14.5 ... Langlebige Daten im Servlet -- Ablage in Session und Application ... 412
14.6 ... Fortgeschrittene Servlet-Konzepte -- Listener und Initialisierung ... 415
14.7 ... Zusammenfassung ... 418
15. Datenbanken und Entitäten ... 419
15.1 ... Was ist eine Datenbank? ... 420
15.2 ... Mit einer Datenbank verbinden über die JPA ... 427
15.3 ... Anwendung und Entitäten ... 432
15.4 ... Entitäten laden ... 435
15.5 ... Entitäten löschen ... 440
15.6 ... Beziehungen zu anderen Entitäten ... 441
15.7 ... Zusammenfassung ... 448
16. GUIs mit JavaFX ... 449
16.1 ... Einführung ... 449
16.2 ... Installation ... 450
16.3 ... Architektur von JavaFX ... 450
16.4 ... GUI-Komponenten ... 453
16.5 ... Layouts ... 464
16.6 ... GUI mit Java-API -- Urlaubsverwaltung ... 474
16.7 ... Event-Handling ... 478
16.8 ... JavaFX-Properties und Binding ... 485
16.9 ... Deklarative GUIs mit FXML ... 491
16.10 ... Layout mit CSS ... 497
16.11 ... Transformationen, Animationen und Effekte ... 501
16.12 ... Übungen ... 508
16.13 ... Zusammenfassung ... 509
17. Android ... 511
17.1 ... Einstieg in die Android-Entwicklung ... 511
17.2 ... Eine Benutzeroberfläche designen ... 525
17.3 ... Anwendungen mit mehreren Activities ... 533
17.4 ... Permissions und SystemServices ... 540
17.5 ... Apps im Play Store veröffentlichen ... 544
17.6 ... Zusammenfassung ... 545
18. Hinter den Kulissen ... 547
18.1 ... Klassenpfade und Classloading ... 547
18.2 ... Garbage Collection ... 555
18.3 ... Flexibel codieren mit der Reflection-API ... 561
18.4 ... Zusammenfassung ... 567
19. Und dann? ... 569
19.1 ... Java Enterprise Edition ... 570
19.2 ... Open-Source-Software ... 575
19.3 ... Ergänzende Technologien ... 576
19.4 ... Andere Sprachen ... 579
19.5 ... Programmieren Sie! ... 581
Anhang ... 583
A ... Java-Bibliotheken 585 ... 583
B ... Lösungen zu den Übungsaufgaben 593 ... 583
C ... Glossar 705 ... 583
D ... Kommandozeilenparameter 721 ... 583
Index ... 729