Michael Kofler
Java
Der Grundkurs im Taschenbuchformat. Mit Aufgaben und Lösungen. Aktuell zu Java 25 LTS
Michael Kofler
Java
Der Grundkurs im Taschenbuchformat. Mit Aufgaben und Lösungen. Aktuell zu Java 25 LTS
- Broschiertes Buch
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
Java ist das Fundament der modernen Softwareentwicklung und Grundlage unzähliger IT-Projekte. Michael Kofler führt Sie in die Programmiersprache ein und vermittelt alle Konzepte, die Sie für den Einstieg brauchen. Von einfachen Beispielen bis zum objektorientierten Programm finden Sie alles übersichtlich und auf den Punkt präsentiert. Aktuell zu Java LTS 25.
Aus dem Inhalt:
SprachgrundlagenPair Programming mit KI: Java mit Ki-Tools lernenInstallation von Java und IntelliJ IDEASchleifen, Verzweigungen und MethodenObjektorientierung, Vererbungen und SchnittstellenVererbung und…mehr
Andere Kunden interessierten sich auch für
- Andy HarrisHTML5 and CSS3 All-In-One for Dummies35,99 €
- Peter MüllerEinstieg in HTML und CSS29,90 €
- Hans-Peter HabelitzProgrammieren lernen mit Java24,90 €
- Paul McFedriesHTML & CSS Essentials For Dummies12,99 €
- David DurocherHTML and CSS QuickStart Guide27,99 €
- Radu NicoaraHow to be a Web Developer25,99 €
- Doug LoweJava All-In-One for Dummies42,99 €
-
-
-
-
-
-
-
-
-
-
-
-
-
Java ist das Fundament der modernen Softwareentwicklung und Grundlage unzähliger IT-Projekte. Michael Kofler führt Sie in die Programmiersprache ein und vermittelt alle Konzepte, die Sie für den Einstieg brauchen. Von einfachen Beispielen bis zum objektorientierten Programm finden Sie alles übersichtlich und auf den Punkt präsentiert.
Aktuell zu Java LTS 25.
Aus dem Inhalt:
SprachgrundlagenPair Programming mit KI: Java mit Ki-Tools lernenInstallation von Java und IntelliJ IDEASchleifen, Verzweigungen und MethodenObjektorientierung, Vererbungen und SchnittstellenVererbung und InterfacesExceptions (FehlerbehandlungUmgang mit Datum und UhrzeitListen, Sets und MapsLambda-AusdrückeGenerische Klassen und MethodenEinführung in GUIs mit JavaFX
Aktuell zu Java LTS 25.
Aus dem Inhalt:
SprachgrundlagenPair Programming mit KI: Java mit Ki-Tools lernenInstallation von Java und IntelliJ IDEASchleifen, Verzweigungen und MethodenObjektorientierung, Vererbungen und SchnittstellenVererbung und InterfacesExceptions (FehlerbehandlungUmgang mit Datum und UhrzeitListen, Sets und MapsLambda-AusdrückeGenerische Klassen und MethodenEinführung in GUIs mit JavaFX
Produktdetails
- Produktdetails
- Rheinwerk Computing
- Verlag: Rheinwerk Computing / Rheinwerk Verlag
- Artikelnr. des Verlages: 459/10896
- 5., überarb. Aufl.
- Seitenzahl: 482
- Erscheinungstermin: 10. Oktober 2025
- Deutsch
- Abmessung: 190mm x 125mm
- ISBN-13: 9783367108961
- ISBN-10: 3367108960
- Artikelnr.: 74275067
- Herstellerkennzeichnung
- Rheinwerk Verlag GmbH
- Rheinwerkallee 4
- 53227 Bonn
- Info@rheinwerk-verlag.de
- Rheinwerk Computing
- Verlag: Rheinwerk Computing / Rheinwerk Verlag
- Artikelnr. des Verlages: 459/10896
- 5., überarb. Aufl.
- Seitenzahl: 482
- Erscheinungstermin: 10. Oktober 2025
- Deutsch
- Abmessung: 190mm x 125mm
- ISBN-13: 9783367108961
- ISBN-10: 3367108960
- Artikelnr.: 74275067
- Herstellerkennzeichnung
- Rheinwerk Verlag GmbH
- Rheinwerkallee 4
- 53227 Bonn
- Info@rheinwerk-verlag.de
Michael Kofler hat Telematik an der TU Graz studiert und ist einer der erfolgreichsten deutschsprachigen IT-Fachbuchautoren. Zu seinen Themengebieten zählen neben Linux auch IT-Sicherheit, Python, Swift, Java und der Raspberry Pi. Er ist Entwickler, berät Firmen und arbeitet als Lehrbeauftragter.
Vorwort ... 13
1. Hello, World! ... 17
1.1 ... Einführung ... 17
1.2 ... Java installieren ... 18
1.3 ... IntelliJ IDEA ... 21
1.4 ... Der Hello-World-Code ... 26
1.5 ... Visual Studio Code ... 30
2. Java-Crashkurs ... 32
2.1 ... Die Idee des objektorientierten Programmierens ... 32
2.2 ... Java-Syntax ... 37
2.3 ... Wiederholungsfragen ... 42
3. Java lernen mit KI-Unterstützung ... 44
3.1 ... Der richtige Einsatz von KI-Tools ... 45
3.2 ... Mein Programm funktioniert nicht! Warum? ... 46
3.3 ... Ich möchte diese Aufgabe lösen. Hilf mir! ... 49
3.4 ... Sprachkonzepte erklären ... 51
4. Variablenverwaltung ... 52
4.1 ... Variablen ... 52
4.2 ... Elementare Datentypen ... 56
4.3 ... Literale ... 63
4.4 ... Variablen einlesen und ausgeben ... 65
4.5 ... Variablen im größeren Java-Kontext ... 68
4.6 ... Konstanten und Enums ... 74
4.7 ... Wiederholungsfragen und Übungen ... 76
5. Operatoren ... 77
5.1 ... Überblick ... 77
5.2 ... Details und Sonderfälle ... 79
5.3 ... Wiederholungsfragen ... 86
6. Verzweigungen und Schleifen ... 87
6.1 ... if-Verzweigungen ... 88
6.2 ... if-Kurzschreibweise (ternärer Operator) ... 93
6.3 ... switch-Verzweigungen ... 94
6.4 ... for-Schleifen ... 97
6.5 ... for-each-Schleifen ... 104
6.6 ... while- und do-while-Schleifen ... 105
6.7 ... break und continue ... 107
6.8 ... Wiederholungsfragen und Übungen ... 109
7. Arrays und Listen ... 111
7.1 ... Syntax ... 111
7.2 ... Mit Arrays arbeiten ... 117
7.3 ... Listen ... 121
7.4 ... Wiederholungsfragen und Übungen ... 122
8. Zeichenketten ... 124
8.1 ... Der Datentyp char ... 124
8.2 ... Die String-Klasse ... 126
8.3 ... Formatierung und Konvertierung ... 134
8.4 ... Die StringBuilder-Klasse ... 140
8.5 ... Beispiele ... 141
8.6 ... Wiederholungsfragen und Übungen ... 144
9. Methoden ... 145
9.1 ... Einführung ... 146
9.2 ... Parameterliste ... 149
9.3 ... Rückgabewert und return ... 154
9.4 ... Rekursion ... 157
9.5 ... Tipps zum richtigen Einsatz von Methoden ... 158
9.6 ... Beispiele ... 159
9.7 ... Wiederholungsfragen und Übungen ... 169
10. Datum und Uhrzeit ... 172
10.1 ... Datum und Zeit seit Java 8 ... 173
10.2 ... Veraltete Datums- und Zeitklassen (Date, Calendar) ... 182
10.3 ... Wiederholungsfragen und Übungen ... 190
11. Exceptions ... 191
11.1 ... Exception-Klassen ... 192
11.2 ... try-catch ... 194
11.3 ... Fehleranfällige Methoden deklarieren (throws) ... 198
11.4 ... Selbst Exceptions auslösen (throw) ... 199
11.5 ... Beispiel ... 200
11.6 ... Wiederholungsfragen und Übungen ... 202
12. Klassen und Records ... 204
12.1 ... Eigene Klassen entwickeln ... 205
12.2 ... Der Konstruktor ... 215
12.3 ... get- und set-Methoden (Getter/Setter) ... 219
12.4 ... Records ... 222
12.5 ... UML-Diagramme ... 226
12.6 ... Beispiel: Bücher und Kapitel ... 227
12.7 ... Wiederholungsfragen und Übungen ... 231
13. Listen, Sets und Maps ... 234
13.1 ... Interna: Schnittstellen und generische Klassen ... 235
13.2 ... Listen ... 238
13.3 ... Sets ... 240
13.4 ... Maps ... 242
13.5 ... Beispiel: Polygone ... 245
13.6 ... Beispiel: Schachfigur Springer ... 249
13.7 ... Beispiel: Mitarbeiter verwalten ... 255
13.8 ... Wiederholungsfragen und Übungen ... 259
14. Vererbung ... 260
14.1 ... Grundlagen ... 260
14.2 ... Beispiel: Klassen für Fahrräder ... 265
14.3 ... Finale und abstrakte Klassen ... 269
14.4 ... Die Object-Klasse ... 276
14.5 ... Beispiel: Schachfiguren ... 281
14.6 ... Wiederholungsfragen und Übungen ... 285
15. Schnittstellen ... 288
15.1 ... interface und implements ... 288
15.2 ... Beispiel: Geometrische Figuren ... 293
15.3 ... Wiederholungsfragen und Übungen ... 297
16. Geschachtelte und versiegelte Klassen ... 298
16.1 ... Geschachtelte Klassen ... 299
16.2 ... Anonyme Klassen ... 301
16.3 ... Versiegelte Klassen und Schnittstellen ... 307
17. Generische Klassen und Methoden ... 310
17.1 ... Einführung ... 310
17.2 ... Deklaration generischer Klassen und Schnittstellen ... 312
17.3 ... Deklaration generischer Methoden ... 314
17.4 ... Wildcards ... 315
17.5 ... Wiederholungsfragen ... 318
18. Lambda-Ausdrücke ... 319
18.1 ... Hello, Lambda World! ... 319
18.2 ... Lambda-Syntax ... 321
18.3 ... Generische Lambda-Schnittstellen ... 326
18.4 ... Funktionale Programmierung mit Streams ... 329
18.5 ... Beispiel: Mitarbeiter sortieren und auswählen ... 335
18.6 ... Wiederholungsaufgaben ... 337
19. Dateien und Verzeichnisse ... 339
19.1 ... Klassen- und Schnittstellenüberblick ... 339
19.2 ... Dateien und Verzeichnisse ergründen ... 341
19.3 ... Dateien und Verzeichnisse bearbeiten ... 348
19.4 ... Textdateien lesen und schreiben ... 351
19.5 ... Beispiel: Evaluierungsdaten auswerten ... 354
19.6 ... Wiederholungsaufgaben und Übungen ... 358
20. JavaFX ... 360
20.1 ... Hello, JavaFX! ... 360
20.2 ... Arbeiten mit Steuerelementen ... 366
20.3 ... Grafikprogrammierung ... 374
20.4 ... Wiederholungsaufgaben und Übungen ... 380
21. Java-Interna und -Bibliotheken ... 382
21.1 ... Java-Compiler und -Interpreter ... 383
21.2 ... Der args-Parameter ... 389
21.3 ... Die Java-Shell ... 391
21.4 ... import ... 394
21.5 ... Pakete ... 396
21.6 ... Bibliotheken ... 398
21.7 ... Module (Jigsaw) ... 403
21.8 ... Wiederholungsfragen ... 405
22. Eine REST-API anbieten und nutzen ... 406
22.1 ... Hello, Javalin! ... 407
22.2 ... REST-Server zur Aufgabenverwaltung ... 411
22.3 ... REST-Client zur Aufgabenverwaltung ... 418
A. Crashkurs IntelliJ IDEA ... 425
A.1 ... Benutzeroberfläche ... 425
A.2 ... Projekte ... 432
A.3 ... Einstellungen ... 433
B. Lösungen ... 436
B.1 ... Kapitel 2, »Java-Crashkurs« ... 436
B.2 ... Kapitel 4, »Variablenverwaltung« ... 438
B.3 ... Kapitel 5, »Operatoren« ... 440
B.4 ... Kapitel 6, »Verzweigungen und Schleifen« ... 441
B.5 ... Kapitel 7, »Arrays und Listen« ... 443
B.6 ... Kapitel 8, »Zeichenketten« ... 445
B.7 ... Kapitel 9, »Methoden« ... 446
B.8 ... Kapitel 10, »Datum und Uhrzeit« ... 449
B.9 ... Kapitel 11, »Exceptions« ... 450
B.10 ... Kapitel 12, »Klassen und Records« ... 452
B.11 ... Kapitel 13, »Listen, Sets und Maps« ... 456
B.12 ... Kapitel 14, »Vererbung« ... 459
B.13 ... Kapitel 15, »Schnittstellen« ... 461
B.14 ... Kapitel 17, »Generische Klassen und Methoden« ... 462
B.15 ... Kapitel 18, »Lambda-Ausdrücke« ... 462
B.16 ... Kapitel 19, »Dateien und Verzeichnisse« ... 465
B.17 ... Kapitel 20, »JavaFX« ... 467
B.18 ... Kapitel 21, »Java-Interna und -Bibliotheken« ... 469
Index ... 471
1. Hello, World! ... 17
1.1 ... Einführung ... 17
1.2 ... Java installieren ... 18
1.3 ... IntelliJ IDEA ... 21
1.4 ... Der Hello-World-Code ... 26
1.5 ... Visual Studio Code ... 30
2. Java-Crashkurs ... 32
2.1 ... Die Idee des objektorientierten Programmierens ... 32
2.2 ... Java-Syntax ... 37
2.3 ... Wiederholungsfragen ... 42
3. Java lernen mit KI-Unterstützung ... 44
3.1 ... Der richtige Einsatz von KI-Tools ... 45
3.2 ... Mein Programm funktioniert nicht! Warum? ... 46
3.3 ... Ich möchte diese Aufgabe lösen. Hilf mir! ... 49
3.4 ... Sprachkonzepte erklären ... 51
4. Variablenverwaltung ... 52
4.1 ... Variablen ... 52
4.2 ... Elementare Datentypen ... 56
4.3 ... Literale ... 63
4.4 ... Variablen einlesen und ausgeben ... 65
4.5 ... Variablen im größeren Java-Kontext ... 68
4.6 ... Konstanten und Enums ... 74
4.7 ... Wiederholungsfragen und Übungen ... 76
5. Operatoren ... 77
5.1 ... Überblick ... 77
5.2 ... Details und Sonderfälle ... 79
5.3 ... Wiederholungsfragen ... 86
6. Verzweigungen und Schleifen ... 87
6.1 ... if-Verzweigungen ... 88
6.2 ... if-Kurzschreibweise (ternärer Operator) ... 93
6.3 ... switch-Verzweigungen ... 94
6.4 ... for-Schleifen ... 97
6.5 ... for-each-Schleifen ... 104
6.6 ... while- und do-while-Schleifen ... 105
6.7 ... break und continue ... 107
6.8 ... Wiederholungsfragen und Übungen ... 109
7. Arrays und Listen ... 111
7.1 ... Syntax ... 111
7.2 ... Mit Arrays arbeiten ... 117
7.3 ... Listen ... 121
7.4 ... Wiederholungsfragen und Übungen ... 122
8. Zeichenketten ... 124
8.1 ... Der Datentyp char ... 124
8.2 ... Die String-Klasse ... 126
8.3 ... Formatierung und Konvertierung ... 134
8.4 ... Die StringBuilder-Klasse ... 140
8.5 ... Beispiele ... 141
8.6 ... Wiederholungsfragen und Übungen ... 144
9. Methoden ... 145
9.1 ... Einführung ... 146
9.2 ... Parameterliste ... 149
9.3 ... Rückgabewert und return ... 154
9.4 ... Rekursion ... 157
9.5 ... Tipps zum richtigen Einsatz von Methoden ... 158
9.6 ... Beispiele ... 159
9.7 ... Wiederholungsfragen und Übungen ... 169
10. Datum und Uhrzeit ... 172
10.1 ... Datum und Zeit seit Java 8 ... 173
10.2 ... Veraltete Datums- und Zeitklassen (Date, Calendar) ... 182
10.3 ... Wiederholungsfragen und Übungen ... 190
11. Exceptions ... 191
11.1 ... Exception-Klassen ... 192
11.2 ... try-catch ... 194
11.3 ... Fehleranfällige Methoden deklarieren (throws) ... 198
11.4 ... Selbst Exceptions auslösen (throw) ... 199
11.5 ... Beispiel ... 200
11.6 ... Wiederholungsfragen und Übungen ... 202
12. Klassen und Records ... 204
12.1 ... Eigene Klassen entwickeln ... 205
12.2 ... Der Konstruktor ... 215
12.3 ... get- und set-Methoden (Getter/Setter) ... 219
12.4 ... Records ... 222
12.5 ... UML-Diagramme ... 226
12.6 ... Beispiel: Bücher und Kapitel ... 227
12.7 ... Wiederholungsfragen und Übungen ... 231
13. Listen, Sets und Maps ... 234
13.1 ... Interna: Schnittstellen und generische Klassen ... 235
13.2 ... Listen ... 238
13.3 ... Sets ... 240
13.4 ... Maps ... 242
13.5 ... Beispiel: Polygone ... 245
13.6 ... Beispiel: Schachfigur Springer ... 249
13.7 ... Beispiel: Mitarbeiter verwalten ... 255
13.8 ... Wiederholungsfragen und Übungen ... 259
14. Vererbung ... 260
14.1 ... Grundlagen ... 260
14.2 ... Beispiel: Klassen für Fahrräder ... 265
14.3 ... Finale und abstrakte Klassen ... 269
14.4 ... Die Object-Klasse ... 276
14.5 ... Beispiel: Schachfiguren ... 281
14.6 ... Wiederholungsfragen und Übungen ... 285
15. Schnittstellen ... 288
15.1 ... interface und implements ... 288
15.2 ... Beispiel: Geometrische Figuren ... 293
15.3 ... Wiederholungsfragen und Übungen ... 297
16. Geschachtelte und versiegelte Klassen ... 298
16.1 ... Geschachtelte Klassen ... 299
16.2 ... Anonyme Klassen ... 301
16.3 ... Versiegelte Klassen und Schnittstellen ... 307
17. Generische Klassen und Methoden ... 310
17.1 ... Einführung ... 310
17.2 ... Deklaration generischer Klassen und Schnittstellen ... 312
17.3 ... Deklaration generischer Methoden ... 314
17.4 ... Wildcards ... 315
17.5 ... Wiederholungsfragen ... 318
18. Lambda-Ausdrücke ... 319
18.1 ... Hello, Lambda World! ... 319
18.2 ... Lambda-Syntax ... 321
18.3 ... Generische Lambda-Schnittstellen ... 326
18.4 ... Funktionale Programmierung mit Streams ... 329
18.5 ... Beispiel: Mitarbeiter sortieren und auswählen ... 335
18.6 ... Wiederholungsaufgaben ... 337
19. Dateien und Verzeichnisse ... 339
19.1 ... Klassen- und Schnittstellenüberblick ... 339
19.2 ... Dateien und Verzeichnisse ergründen ... 341
19.3 ... Dateien und Verzeichnisse bearbeiten ... 348
19.4 ... Textdateien lesen und schreiben ... 351
19.5 ... Beispiel: Evaluierungsdaten auswerten ... 354
19.6 ... Wiederholungsaufgaben und Übungen ... 358
20. JavaFX ... 360
20.1 ... Hello, JavaFX! ... 360
20.2 ... Arbeiten mit Steuerelementen ... 366
20.3 ... Grafikprogrammierung ... 374
20.4 ... Wiederholungsaufgaben und Übungen ... 380
21. Java-Interna und -Bibliotheken ... 382
21.1 ... Java-Compiler und -Interpreter ... 383
21.2 ... Der args-Parameter ... 389
21.3 ... Die Java-Shell ... 391
21.4 ... import ... 394
21.5 ... Pakete ... 396
21.6 ... Bibliotheken ... 398
21.7 ... Module (Jigsaw) ... 403
21.8 ... Wiederholungsfragen ... 405
22. Eine REST-API anbieten und nutzen ... 406
22.1 ... Hello, Javalin! ... 407
22.2 ... REST-Server zur Aufgabenverwaltung ... 411
22.3 ... REST-Client zur Aufgabenverwaltung ... 418
A. Crashkurs IntelliJ IDEA ... 425
A.1 ... Benutzeroberfläche ... 425
A.2 ... Projekte ... 432
A.3 ... Einstellungen ... 433
B. Lösungen ... 436
B.1 ... Kapitel 2, »Java-Crashkurs« ... 436
B.2 ... Kapitel 4, »Variablenverwaltung« ... 438
B.3 ... Kapitel 5, »Operatoren« ... 440
B.4 ... Kapitel 6, »Verzweigungen und Schleifen« ... 441
B.5 ... Kapitel 7, »Arrays und Listen« ... 443
B.6 ... Kapitel 8, »Zeichenketten« ... 445
B.7 ... Kapitel 9, »Methoden« ... 446
B.8 ... Kapitel 10, »Datum und Uhrzeit« ... 449
B.9 ... Kapitel 11, »Exceptions« ... 450
B.10 ... Kapitel 12, »Klassen und Records« ... 452
B.11 ... Kapitel 13, »Listen, Sets und Maps« ... 456
B.12 ... Kapitel 14, »Vererbung« ... 459
B.13 ... Kapitel 15, »Schnittstellen« ... 461
B.14 ... Kapitel 17, »Generische Klassen und Methoden« ... 462
B.15 ... Kapitel 18, »Lambda-Ausdrücke« ... 462
B.16 ... Kapitel 19, »Dateien und Verzeichnisse« ... 465
B.17 ... Kapitel 20, »JavaFX« ... 467
B.18 ... Kapitel 21, »Java-Interna und -Bibliotheken« ... 469
Index ... 471
Vorwort ... 13
1. Hello, World! ... 17
1.1 ... Einführung ... 17
1.2 ... Java installieren ... 18
1.3 ... IntelliJ IDEA ... 21
1.4 ... Der Hello-World-Code ... 26
1.5 ... Visual Studio Code ... 30
2. Java-Crashkurs ... 32
2.1 ... Die Idee des objektorientierten Programmierens ... 32
2.2 ... Java-Syntax ... 37
2.3 ... Wiederholungsfragen ... 42
3. Java lernen mit KI-Unterstützung ... 44
3.1 ... Der richtige Einsatz von KI-Tools ... 45
3.2 ... Mein Programm funktioniert nicht! Warum? ... 46
3.3 ... Ich möchte diese Aufgabe lösen. Hilf mir! ... 49
3.4 ... Sprachkonzepte erklären ... 51
4. Variablenverwaltung ... 52
4.1 ... Variablen ... 52
4.2 ... Elementare Datentypen ... 56
4.3 ... Literale ... 63
4.4 ... Variablen einlesen und ausgeben ... 65
4.5 ... Variablen im größeren Java-Kontext ... 68
4.6 ... Konstanten und Enums ... 74
4.7 ... Wiederholungsfragen und Übungen ... 76
5. Operatoren ... 77
5.1 ... Überblick ... 77
5.2 ... Details und Sonderfälle ... 79
5.3 ... Wiederholungsfragen ... 86
6. Verzweigungen und Schleifen ... 87
6.1 ... if-Verzweigungen ... 88
6.2 ... if-Kurzschreibweise (ternärer Operator) ... 93
6.3 ... switch-Verzweigungen ... 94
6.4 ... for-Schleifen ... 97
6.5 ... for-each-Schleifen ... 104
6.6 ... while- und do-while-Schleifen ... 105
6.7 ... break und continue ... 107
6.8 ... Wiederholungsfragen und Übungen ... 109
7. Arrays und Listen ... 111
7.1 ... Syntax ... 111
7.2 ... Mit Arrays arbeiten ... 117
7.3 ... Listen ... 121
7.4 ... Wiederholungsfragen und Übungen ... 122
8. Zeichenketten ... 124
8.1 ... Der Datentyp char ... 124
8.2 ... Die String-Klasse ... 126
8.3 ... Formatierung und Konvertierung ... 134
8.4 ... Die StringBuilder-Klasse ... 140
8.5 ... Beispiele ... 141
8.6 ... Wiederholungsfragen und Übungen ... 144
9. Methoden ... 145
9.1 ... Einführung ... 146
9.2 ... Parameterliste ... 149
9.3 ... Rückgabewert und return ... 154
9.4 ... Rekursion ... 157
9.5 ... Tipps zum richtigen Einsatz von Methoden ... 158
9.6 ... Beispiele ... 159
9.7 ... Wiederholungsfragen und Übungen ... 169
10. Datum und Uhrzeit ... 172
10.1 ... Datum und Zeit seit Java 8 ... 173
10.2 ... Veraltete Datums- und Zeitklassen (Date, Calendar) ... 182
10.3 ... Wiederholungsfragen und Übungen ... 190
11. Exceptions ... 191
11.1 ... Exception-Klassen ... 192
11.2 ... try-catch ... 194
11.3 ... Fehleranfällige Methoden deklarieren (throws) ... 198
11.4 ... Selbst Exceptions auslösen (throw) ... 199
11.5 ... Beispiel ... 200
11.6 ... Wiederholungsfragen und Übungen ... 202
12. Klassen und Records ... 204
12.1 ... Eigene Klassen entwickeln ... 205
12.2 ... Der Konstruktor ... 215
12.3 ... get- und set-Methoden (Getter/Setter) ... 219
12.4 ... Records ... 222
12.5 ... UML-Diagramme ... 226
12.6 ... Beispiel: Bücher und Kapitel ... 227
12.7 ... Wiederholungsfragen und Übungen ... 231
13. Listen, Sets und Maps ... 234
13.1 ... Interna: Schnittstellen und generische Klassen ... 235
13.2 ... Listen ... 238
13.3 ... Sets ... 240
13.4 ... Maps ... 242
13.5 ... Beispiel: Polygone ... 245
13.6 ... Beispiel: Schachfigur Springer ... 249
13.7 ... Beispiel: Mitarbeiter verwalten ... 255
13.8 ... Wiederholungsfragen und Übungen ... 259
14. Vererbung ... 260
14.1 ... Grundlagen ... 260
14.2 ... Beispiel: Klassen für Fahrräder ... 265
14.3 ... Finale und abstrakte Klassen ... 269
14.4 ... Die Object-Klasse ... 276
14.5 ... Beispiel: Schachfiguren ... 281
14.6 ... Wiederholungsfragen und Übungen ... 285
15. Schnittstellen ... 288
15.1 ... interface und implements ... 288
15.2 ... Beispiel: Geometrische Figuren ... 293
15.3 ... Wiederholungsfragen und Übungen ... 297
16. Geschachtelte und versiegelte Klassen ... 298
16.1 ... Geschachtelte Klassen ... 299
16.2 ... Anonyme Klassen ... 301
16.3 ... Versiegelte Klassen und Schnittstellen ... 307
17. Generische Klassen und Methoden ... 310
17.1 ... Einführung ... 310
17.2 ... Deklaration generischer Klassen und Schnittstellen ... 312
17.3 ... Deklaration generischer Methoden ... 314
17.4 ... Wildcards ... 315
17.5 ... Wiederholungsfragen ... 318
18. Lambda-Ausdrücke ... 319
18.1 ... Hello, Lambda World! ... 319
18.2 ... Lambda-Syntax ... 321
18.3 ... Generische Lambda-Schnittstellen ... 326
18.4 ... Funktionale Programmierung mit Streams ... 329
18.5 ... Beispiel: Mitarbeiter sortieren und auswählen ... 335
18.6 ... Wiederholungsaufgaben ... 337
19. Dateien und Verzeichnisse ... 339
19.1 ... Klassen- und Schnittstellenüberblick ... 339
19.2 ... Dateien und Verzeichnisse ergründen ... 341
19.3 ... Dateien und Verzeichnisse bearbeiten ... 348
19.4 ... Textdateien lesen und schreiben ... 351
19.5 ... Beispiel: Evaluierungsdaten auswerten ... 354
19.6 ... Wiederholungsaufgaben und Übungen ... 358
20. JavaFX ... 360
20.1 ... Hello, JavaFX! ... 360
20.2 ... Arbeiten mit Steuerelementen ... 366
20.3 ... Grafikprogrammierung ... 374
20.4 ... Wiederholungsaufgaben und Übungen ... 380
21. Java-Interna und -Bibliotheken ... 382
21.1 ... Java-Compiler und -Interpreter ... 383
21.2 ... Der args-Parameter ... 389
21.3 ... Die Java-Shell ... 391
21.4 ... import ... 394
21.5 ... Pakete ... 396
21.6 ... Bibliotheken ... 398
21.7 ... Module (Jigsaw) ... 403
21.8 ... Wiederholungsfragen ... 405
22. Eine REST-API anbieten und nutzen ... 406
22.1 ... Hello, Javalin! ... 407
22.2 ... REST-Server zur Aufgabenverwaltung ... 411
22.3 ... REST-Client zur Aufgabenverwaltung ... 418
A. Crashkurs IntelliJ IDEA ... 425
A.1 ... Benutzeroberfläche ... 425
A.2 ... Projekte ... 432
A.3 ... Einstellungen ... 433
B. Lösungen ... 436
B.1 ... Kapitel 2, »Java-Crashkurs« ... 436
B.2 ... Kapitel 4, »Variablenverwaltung« ... 438
B.3 ... Kapitel 5, »Operatoren« ... 440
B.4 ... Kapitel 6, »Verzweigungen und Schleifen« ... 441
B.5 ... Kapitel 7, »Arrays und Listen« ... 443
B.6 ... Kapitel 8, »Zeichenketten« ... 445
B.7 ... Kapitel 9, »Methoden« ... 446
B.8 ... Kapitel 10, »Datum und Uhrzeit« ... 449
B.9 ... Kapitel 11, »Exceptions« ... 450
B.10 ... Kapitel 12, »Klassen und Records« ... 452
B.11 ... Kapitel 13, »Listen, Sets und Maps« ... 456
B.12 ... Kapitel 14, »Vererbung« ... 459
B.13 ... Kapitel 15, »Schnittstellen« ... 461
B.14 ... Kapitel 17, »Generische Klassen und Methoden« ... 462
B.15 ... Kapitel 18, »Lambda-Ausdrücke« ... 462
B.16 ... Kapitel 19, »Dateien und Verzeichnisse« ... 465
B.17 ... Kapitel 20, »JavaFX« ... 467
B.18 ... Kapitel 21, »Java-Interna und -Bibliotheken« ... 469
Index ... 471
1. Hello, World! ... 17
1.1 ... Einführung ... 17
1.2 ... Java installieren ... 18
1.3 ... IntelliJ IDEA ... 21
1.4 ... Der Hello-World-Code ... 26
1.5 ... Visual Studio Code ... 30
2. Java-Crashkurs ... 32
2.1 ... Die Idee des objektorientierten Programmierens ... 32
2.2 ... Java-Syntax ... 37
2.3 ... Wiederholungsfragen ... 42
3. Java lernen mit KI-Unterstützung ... 44
3.1 ... Der richtige Einsatz von KI-Tools ... 45
3.2 ... Mein Programm funktioniert nicht! Warum? ... 46
3.3 ... Ich möchte diese Aufgabe lösen. Hilf mir! ... 49
3.4 ... Sprachkonzepte erklären ... 51
4. Variablenverwaltung ... 52
4.1 ... Variablen ... 52
4.2 ... Elementare Datentypen ... 56
4.3 ... Literale ... 63
4.4 ... Variablen einlesen und ausgeben ... 65
4.5 ... Variablen im größeren Java-Kontext ... 68
4.6 ... Konstanten und Enums ... 74
4.7 ... Wiederholungsfragen und Übungen ... 76
5. Operatoren ... 77
5.1 ... Überblick ... 77
5.2 ... Details und Sonderfälle ... 79
5.3 ... Wiederholungsfragen ... 86
6. Verzweigungen und Schleifen ... 87
6.1 ... if-Verzweigungen ... 88
6.2 ... if-Kurzschreibweise (ternärer Operator) ... 93
6.3 ... switch-Verzweigungen ... 94
6.4 ... for-Schleifen ... 97
6.5 ... for-each-Schleifen ... 104
6.6 ... while- und do-while-Schleifen ... 105
6.7 ... break und continue ... 107
6.8 ... Wiederholungsfragen und Übungen ... 109
7. Arrays und Listen ... 111
7.1 ... Syntax ... 111
7.2 ... Mit Arrays arbeiten ... 117
7.3 ... Listen ... 121
7.4 ... Wiederholungsfragen und Übungen ... 122
8. Zeichenketten ... 124
8.1 ... Der Datentyp char ... 124
8.2 ... Die String-Klasse ... 126
8.3 ... Formatierung und Konvertierung ... 134
8.4 ... Die StringBuilder-Klasse ... 140
8.5 ... Beispiele ... 141
8.6 ... Wiederholungsfragen und Übungen ... 144
9. Methoden ... 145
9.1 ... Einführung ... 146
9.2 ... Parameterliste ... 149
9.3 ... Rückgabewert und return ... 154
9.4 ... Rekursion ... 157
9.5 ... Tipps zum richtigen Einsatz von Methoden ... 158
9.6 ... Beispiele ... 159
9.7 ... Wiederholungsfragen und Übungen ... 169
10. Datum und Uhrzeit ... 172
10.1 ... Datum und Zeit seit Java 8 ... 173
10.2 ... Veraltete Datums- und Zeitklassen (Date, Calendar) ... 182
10.3 ... Wiederholungsfragen und Übungen ... 190
11. Exceptions ... 191
11.1 ... Exception-Klassen ... 192
11.2 ... try-catch ... 194
11.3 ... Fehleranfällige Methoden deklarieren (throws) ... 198
11.4 ... Selbst Exceptions auslösen (throw) ... 199
11.5 ... Beispiel ... 200
11.6 ... Wiederholungsfragen und Übungen ... 202
12. Klassen und Records ... 204
12.1 ... Eigene Klassen entwickeln ... 205
12.2 ... Der Konstruktor ... 215
12.3 ... get- und set-Methoden (Getter/Setter) ... 219
12.4 ... Records ... 222
12.5 ... UML-Diagramme ... 226
12.6 ... Beispiel: Bücher und Kapitel ... 227
12.7 ... Wiederholungsfragen und Übungen ... 231
13. Listen, Sets und Maps ... 234
13.1 ... Interna: Schnittstellen und generische Klassen ... 235
13.2 ... Listen ... 238
13.3 ... Sets ... 240
13.4 ... Maps ... 242
13.5 ... Beispiel: Polygone ... 245
13.6 ... Beispiel: Schachfigur Springer ... 249
13.7 ... Beispiel: Mitarbeiter verwalten ... 255
13.8 ... Wiederholungsfragen und Übungen ... 259
14. Vererbung ... 260
14.1 ... Grundlagen ... 260
14.2 ... Beispiel: Klassen für Fahrräder ... 265
14.3 ... Finale und abstrakte Klassen ... 269
14.4 ... Die Object-Klasse ... 276
14.5 ... Beispiel: Schachfiguren ... 281
14.6 ... Wiederholungsfragen und Übungen ... 285
15. Schnittstellen ... 288
15.1 ... interface und implements ... 288
15.2 ... Beispiel: Geometrische Figuren ... 293
15.3 ... Wiederholungsfragen und Übungen ... 297
16. Geschachtelte und versiegelte Klassen ... 298
16.1 ... Geschachtelte Klassen ... 299
16.2 ... Anonyme Klassen ... 301
16.3 ... Versiegelte Klassen und Schnittstellen ... 307
17. Generische Klassen und Methoden ... 310
17.1 ... Einführung ... 310
17.2 ... Deklaration generischer Klassen und Schnittstellen ... 312
17.3 ... Deklaration generischer Methoden ... 314
17.4 ... Wildcards ... 315
17.5 ... Wiederholungsfragen ... 318
18. Lambda-Ausdrücke ... 319
18.1 ... Hello, Lambda World! ... 319
18.2 ... Lambda-Syntax ... 321
18.3 ... Generische Lambda-Schnittstellen ... 326
18.4 ... Funktionale Programmierung mit Streams ... 329
18.5 ... Beispiel: Mitarbeiter sortieren und auswählen ... 335
18.6 ... Wiederholungsaufgaben ... 337
19. Dateien und Verzeichnisse ... 339
19.1 ... Klassen- und Schnittstellenüberblick ... 339
19.2 ... Dateien und Verzeichnisse ergründen ... 341
19.3 ... Dateien und Verzeichnisse bearbeiten ... 348
19.4 ... Textdateien lesen und schreiben ... 351
19.5 ... Beispiel: Evaluierungsdaten auswerten ... 354
19.6 ... Wiederholungsaufgaben und Übungen ... 358
20. JavaFX ... 360
20.1 ... Hello, JavaFX! ... 360
20.2 ... Arbeiten mit Steuerelementen ... 366
20.3 ... Grafikprogrammierung ... 374
20.4 ... Wiederholungsaufgaben und Übungen ... 380
21. Java-Interna und -Bibliotheken ... 382
21.1 ... Java-Compiler und -Interpreter ... 383
21.2 ... Der args-Parameter ... 389
21.3 ... Die Java-Shell ... 391
21.4 ... import ... 394
21.5 ... Pakete ... 396
21.6 ... Bibliotheken ... 398
21.7 ... Module (Jigsaw) ... 403
21.8 ... Wiederholungsfragen ... 405
22. Eine REST-API anbieten und nutzen ... 406
22.1 ... Hello, Javalin! ... 407
22.2 ... REST-Server zur Aufgabenverwaltung ... 411
22.3 ... REST-Client zur Aufgabenverwaltung ... 418
A. Crashkurs IntelliJ IDEA ... 425
A.1 ... Benutzeroberfläche ... 425
A.2 ... Projekte ... 432
A.3 ... Einstellungen ... 433
B. Lösungen ... 436
B.1 ... Kapitel 2, »Java-Crashkurs« ... 436
B.2 ... Kapitel 4, »Variablenverwaltung« ... 438
B.3 ... Kapitel 5, »Operatoren« ... 440
B.4 ... Kapitel 6, »Verzweigungen und Schleifen« ... 441
B.5 ... Kapitel 7, »Arrays und Listen« ... 443
B.6 ... Kapitel 8, »Zeichenketten« ... 445
B.7 ... Kapitel 9, »Methoden« ... 446
B.8 ... Kapitel 10, »Datum und Uhrzeit« ... 449
B.9 ... Kapitel 11, »Exceptions« ... 450
B.10 ... Kapitel 12, »Klassen und Records« ... 452
B.11 ... Kapitel 13, »Listen, Sets und Maps« ... 456
B.12 ... Kapitel 14, »Vererbung« ... 459
B.13 ... Kapitel 15, »Schnittstellen« ... 461
B.14 ... Kapitel 17, »Generische Klassen und Methoden« ... 462
B.15 ... Kapitel 18, »Lambda-Ausdrücke« ... 462
B.16 ... Kapitel 19, »Dateien und Verzeichnisse« ... 465
B.17 ... Kapitel 20, »JavaFX« ... 467
B.18 ... Kapitel 21, »Java-Interna und -Bibliotheken« ... 469
Index ... 471