16,90 €
16,90 €
inkl. MwSt.
Erscheint vor. 10.10.25
0 °P sammeln
16,90 €
Als Download kaufen
16,90 €
inkl. MwSt.
Erscheint vor. 10.10.25
0 °P sammeln
Jetzt verschenken
Alle Infos zum eBook verschenken
16,90 €
inkl. MwSt.
Erscheint vor. 10.10.25
Alle Infos zum eBook verschenken
0 °P sammeln
- Format: ePub
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung

Bitte loggen Sie sich zunächst in Ihr Kundenkonto ein oder registrieren Sie sich bei
bücher.de, um das eBook-Abo tolino select nutzen zu können.
Hier können Sie sich einloggen
Hier können Sie sich einloggen
Sie sind bereits eingeloggt. Klicken Sie auf 2. tolino select Abo, um fortzufahren.

Bitte loggen Sie sich zunächst in Ihr Kundenkonto ein oder registrieren Sie sich bei bücher.de, um das eBook-Abo tolino select nutzen zu können.
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.
- Geräte: eReader
- ohne Kopierschutz
- eBook Hilfe
Andere Kunden interessierten sich auch für
- Michael KoflerJava (eBook, ePUB)11,18 €
- Andreas KühnelC# mit .NET (eBook, ePUB)49,90 €
- Christian UllenboomCaptain CiaoCiao erobert Java (eBook, ePUB)29,93 €
- Thomas TheisEinstieg in Python (eBook, ePUB)18,68 €
- Thomas TheisEinstieg in C++ (eBook, ePUB)18,68 €
- Christian UllenboomJava ist auch eine Insel (eBook, ePUB)37,43 €
- Alexander SalvanosProfessionell entwickeln mit Java EE 8 (eBook, ePUB)44,93 €
-
-
-
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.
Hinweis: Dieser Artikel kann nur an eine deutsche Lieferadresse ausgeliefert werden.
Dieser Download kann aus rechtlichen Gründen nur mit Rechnungsadresse in A, B, BG, CY, CZ, D, DK, EW, E, FIN, F, GR, HR, H, IRL, I, LT, L, LR, M, NL, PL, P, R, S, SLO, SK ausgeliefert werden.
Hinweis: Dieser Artikel kann nur an eine deutsche Lieferadresse ausgeliefert werden.
Produktdetails
- Produktdetails
- Verlag: Rheinwerk Verlag GmbH
- Seitenzahl: 465
- Erscheinungstermin: 10. Oktober 2025
- Deutsch
- ISBN-13: 9783367108985
- Artikelnr.: 74279477
- Verlag: Rheinwerk Verlag GmbH
- Seitenzahl: 465
- Erscheinungstermin: 10. Oktober 2025
- Deutsch
- ISBN-13: 9783367108985
- Artikelnr.: 74279477
- Herstellerkennzeichnung Die Herstellerinformationen sind derzeit nicht verfügbar.
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 ... 21
1. Hello World! ... 23
1.1 ... Einführung ... 23
1.2 ... Java installieren ... 24
1.3 ... IntelliJ IDEA ... 27
1.4 ... Der Hello-World-Code ... 33
1.5 ... Alternativen zu IntelliJ ... 36
2. Java-Crashkurs ... 38
2.1 ... Die Idee des objektorientierten Programmierens ... 38
2.2 ... Java-Syntax ... 43
2.3 ... Wiederholungsfragen ... 48
3. Variablenverwaltung ... 49
3.1 ... Variablen ... 49
3.2 ... Elementare Datentypen ... 53
3.3 ... Literale ... 59
3.4 ... Variablen einlesen und ausgeben ... 62
3.5 ... Variablen im größeren Java-Kontext ... 65
3.6 ... Konstanten und Enums ... 71
3.7 ... Wiederholungsfragen und Übungen ... 73
4. Operatoren ... 74
4.1 ... Überblick ... 74
4.2 ... Details und Sonderfälle ... 76
4.3 ... Wiederholungsfragen ... 83
5. Verzweigungen und Schleifen ... 84
5.1 ... »if«-Verzweigungen ... 85
5.2 ... »if«-Kurzschreibweise (ternärer Operator) ... 90
5.3 ... »switch«-Verzweigungen ... 91
5.4 ... »for«-Schleifen ... 94
5.5 ... »for-each«-Schleifen ... 101
5.6 ... »while«- und »do-while»-Schleifen ... 102
5.7 ... »break« und »continue« ... 104
5.8 ... Wiederholungsfragen und Übungen ... 106
6. Arrays ... 108
6.1 ... Syntax ... 108
6.2 ... Mit Arrays arbeiten ... 114
6.3 ... Wiederholungsfragen ... 118
7. Zeichenketten ... 119
7.1 ... Der Datentyp »char« ... 119
7.2 ... Die »String«-Klasse ... 121
7.3 ... Formatierung und Konvertierung ... 129
7.4 ... Die »StringBuilder«-Klasse ... 135
7.5 ... Beispiele ... 136
7.6 ... Wiederholungsfragen und Übungen ... 139
8. Methoden ... 140
8.1 ... Einführung ... 141
8.2 ... Parameterliste ... 144
8.3 ... Rückgabewert und »return« ... 150
8.4 ... Rekursion ... 152
8.5 ... Tipps zum richtigen Einsatz von Methoden ... 154
8.6 ... Beispiele ... 155
8.7 ... Wiederholungsfragen und Übungen ... 164
9. Datum und Uhrzeit ... 168
9.1 ... Datum und Zeit seit Java 8 ... 169
9.2 ... Veraltete Datums- und Zeitklassen (Date, Calendar) ... 178
9.3 ... Wiederholungsfragen und Übungen ... 186
10. Exceptions ... 187
10.1 ... Exception-Klassen ... 188
10.2 ... try-catch ... 190
10.3 ... Fehleranfällige Methoden deklarieren (»throws«) ... 194
10.4 ... Selbst Exceptions auslösen (»throw«) ... 195
10.5 ... Beispiel ... 196
10.6 ... Wiederholungsfragen und Übungen ... 199
11. Klassen und Records ... 201
11.1 ... Eigene Klassen entwickeln ... 202
11.2 ... Der Konstruktor ... 212
11.3 ... »get«- und »set«-Methoden (Getter/Setter) ... 217
11.4 ... Records ... 220
11.5 ... UML-Diagramme ... 224
11.6 ... Beispiel: Bücher und Kapitel ... 225
11.7 ... Wiederholungsfragen und Übungen ... 229
12. Listen, Sets und Maps ... 232
12.1 ... Generische Klassen anwenden ... 233
12.2 ... Listen ... 236
12.3 ... Sets ... 238
12.4 ... Maps ... 241
12.5 ... Beispiel: Polygone ... 243
12.6 ... Beispiel: Schachfigur Springer ... 247
12.7 ... Beispiel: Mitarbeiter verwalten ... 253
12.8 ... Wiederholungsfragen und Übungen ... 257
13. Vererbung ... 258
13.1 ... Vererbung ... 258
13.2 ... Beispiel: Klassen für Fahrräder ... 263
13.3 ... Finale und abstrakte Klassen ... 266
13.4 ... Die »Object«-Klasse ... 274
13.5 ... Beispiel: Schachfiguren ... 279
13.6 ... Wiederholungsfragen und Übungen ... 283
14. Schnittstellen ... 286
14.1 ... »interface« und »implements« ... 286
14.2 ... Beispiel: Geometrische Figuren ... 291
14.3 ... Wiederholungsfragen und Übungen ... 295
15. Geschachtelte und anonyme Klassen ... 296
15.1 ... Geschachtelte Klassen ... 297
15.2 ... Anonyme Klassen ... 299
15.3 ... Statische geschachtelte Klassen ... 305
16. Generische Klassen und Methoden ... 307
16.1 ... Einführung ... 307
16.2 ... Deklaration generischer Klassen und Schnittstellen ... 309
16.3 ... Deklaration generischer Methoden ... 311
16.4 ... Wildcards ... 312
16.5 ... Wiederholungsfragen und Übungen ... 317
17. Lambda-Ausdrücke ... 318
17.1 ... Hello Lambda World! ... 318
17.2 ... Lambda-Syntax ... 320
17.3 ... Generische Lambda-Schnittstellen ... 325
17.4 ... Funktionale Programmierung mit Streams ... 328
17.5 ... Beispiel: Mitarbeiter sortieren und auswählen ... 334
17.6 ... Wiederholungsfragen ... 336
18. Dateien und Verzeichnisse ... 338
18.1 ... Klassen- und Schnittstellenüberblick ... 338
18.2 ... Dateien und Verzeichnisse ergründen ... 340
18.3 ... Dateien und Verzeichnisse bearbeiten ... 347
18.4 ... Textdateien lesen und schreiben ... 350
18.5 ... Beispiel: Evaluierungsdaten auswerten ... 353
18.6 ... Wiederholungsaufgaben und Übungen ... 357
19. JavaFX ... 359
19.1 ... Hello JavaFX! ... 359
19.2 ... Arbeiten mit Steuerelementen ... 364
19.3 ... Grafikprogrammierung ... 372
19.4 ... Wiederholungsaufgaben und Übungen ... 379
20. Java-Interna und -Bibliotheken ... 380
20.1 ... Java-Compiler und -Interpreter ... 381
20.2 ... Der »args«-Parameter ... 386
20.3 ... Die Java-Shell ... 389
20.4 ... import ... 391
20.5 ... Pakete ... 393
20.6 ... Bibliotheken ... 395
20.7 ... Module (»Jigsaw«) ... 400
20.8 ... Wiederholungsfragen ... 403
A. Crashkurs IntelliJ IDEA ... 404
A.1 ... Benutzeroberfläche ... 404
A.2 ... Projekte ... 410
A.3 ... Einstellungen ... 411
B. Lösungen ... 415
B.1 ... Kapitel 2, »Java-Crashkurs« ... 415
B.2 ... Kapitel 3, »Variablenverwaltung« ... 417
B.3 ... Kapitel 4, »Operatoren« ... 419
B.4 ... Kapitel 5, »Verzweigungen und Schleifen« ... 420
B.5 ... Kapitel 6, »Arrays« ... 422
B.6 ... Kapitel 7, »Zeichenketten« ... 423
B.7 ... Kapitel 8, »Methoden« ... 425
B.8 ... Kapitel 9, »Datum und Uhrzeit« ... 429
B.9 ... Kapitel 10, »Exceptions« ... 429
B.10 ... Kapitel 11, »Klassen« ... 432
B.11 ... Kapitel 12, »Listen, Sets und Maps« ... 435
B.12 ... Kapitel 13, »Vererbung« ... 439
B.13 ... Kapitel 14, »Schnittstellen« ... 441
B.14 ... Kapitel 16, »Generische Klassen und Methoden« ... 442
B.15 ... Kapitel 17, »Lambda-Ausdrücke« ... 442
B.16 ... Kapitel 18, »Dateien und Verzeichnisse« ... 445
B.17 ... Kapitel 19, »JavaFX« ... 447
B.18 ... Kapitel 20, »Java-Interna und -Bibliotheken« ... 449
Index ... 453
1. Hello World! ... 23
1.1 ... Einführung ... 23
1.2 ... Java installieren ... 24
1.3 ... IntelliJ IDEA ... 27
1.4 ... Der Hello-World-Code ... 33
1.5 ... Alternativen zu IntelliJ ... 36
2. Java-Crashkurs ... 38
2.1 ... Die Idee des objektorientierten Programmierens ... 38
2.2 ... Java-Syntax ... 43
2.3 ... Wiederholungsfragen ... 48
3. Variablenverwaltung ... 49
3.1 ... Variablen ... 49
3.2 ... Elementare Datentypen ... 53
3.3 ... Literale ... 59
3.4 ... Variablen einlesen und ausgeben ... 62
3.5 ... Variablen im größeren Java-Kontext ... 65
3.6 ... Konstanten und Enums ... 71
3.7 ... Wiederholungsfragen und Übungen ... 73
4. Operatoren ... 74
4.1 ... Überblick ... 74
4.2 ... Details und Sonderfälle ... 76
4.3 ... Wiederholungsfragen ... 83
5. Verzweigungen und Schleifen ... 84
5.1 ... »if«-Verzweigungen ... 85
5.2 ... »if«-Kurzschreibweise (ternärer Operator) ... 90
5.3 ... »switch«-Verzweigungen ... 91
5.4 ... »for«-Schleifen ... 94
5.5 ... »for-each«-Schleifen ... 101
5.6 ... »while«- und »do-while»-Schleifen ... 102
5.7 ... »break« und »continue« ... 104
5.8 ... Wiederholungsfragen und Übungen ... 106
6. Arrays ... 108
6.1 ... Syntax ... 108
6.2 ... Mit Arrays arbeiten ... 114
6.3 ... Wiederholungsfragen ... 118
7. Zeichenketten ... 119
7.1 ... Der Datentyp »char« ... 119
7.2 ... Die »String«-Klasse ... 121
7.3 ... Formatierung und Konvertierung ... 129
7.4 ... Die »StringBuilder«-Klasse ... 135
7.5 ... Beispiele ... 136
7.6 ... Wiederholungsfragen und Übungen ... 139
8. Methoden ... 140
8.1 ... Einführung ... 141
8.2 ... Parameterliste ... 144
8.3 ... Rückgabewert und »return« ... 150
8.4 ... Rekursion ... 152
8.5 ... Tipps zum richtigen Einsatz von Methoden ... 154
8.6 ... Beispiele ... 155
8.7 ... Wiederholungsfragen und Übungen ... 164
9. Datum und Uhrzeit ... 168
9.1 ... Datum und Zeit seit Java 8 ... 169
9.2 ... Veraltete Datums- und Zeitklassen (Date, Calendar) ... 178
9.3 ... Wiederholungsfragen und Übungen ... 186
10. Exceptions ... 187
10.1 ... Exception-Klassen ... 188
10.2 ... try-catch ... 190
10.3 ... Fehleranfällige Methoden deklarieren (»throws«) ... 194
10.4 ... Selbst Exceptions auslösen (»throw«) ... 195
10.5 ... Beispiel ... 196
10.6 ... Wiederholungsfragen und Übungen ... 199
11. Klassen und Records ... 201
11.1 ... Eigene Klassen entwickeln ... 202
11.2 ... Der Konstruktor ... 212
11.3 ... »get«- und »set«-Methoden (Getter/Setter) ... 217
11.4 ... Records ... 220
11.5 ... UML-Diagramme ... 224
11.6 ... Beispiel: Bücher und Kapitel ... 225
11.7 ... Wiederholungsfragen und Übungen ... 229
12. Listen, Sets und Maps ... 232
12.1 ... Generische Klassen anwenden ... 233
12.2 ... Listen ... 236
12.3 ... Sets ... 238
12.4 ... Maps ... 241
12.5 ... Beispiel: Polygone ... 243
12.6 ... Beispiel: Schachfigur Springer ... 247
12.7 ... Beispiel: Mitarbeiter verwalten ... 253
12.8 ... Wiederholungsfragen und Übungen ... 257
13. Vererbung ... 258
13.1 ... Vererbung ... 258
13.2 ... Beispiel: Klassen für Fahrräder ... 263
13.3 ... Finale und abstrakte Klassen ... 266
13.4 ... Die »Object«-Klasse ... 274
13.5 ... Beispiel: Schachfiguren ... 279
13.6 ... Wiederholungsfragen und Übungen ... 283
14. Schnittstellen ... 286
14.1 ... »interface« und »implements« ... 286
14.2 ... Beispiel: Geometrische Figuren ... 291
14.3 ... Wiederholungsfragen und Übungen ... 295
15. Geschachtelte und anonyme Klassen ... 296
15.1 ... Geschachtelte Klassen ... 297
15.2 ... Anonyme Klassen ... 299
15.3 ... Statische geschachtelte Klassen ... 305
16. Generische Klassen und Methoden ... 307
16.1 ... Einführung ... 307
16.2 ... Deklaration generischer Klassen und Schnittstellen ... 309
16.3 ... Deklaration generischer Methoden ... 311
16.4 ... Wildcards ... 312
16.5 ... Wiederholungsfragen und Übungen ... 317
17. Lambda-Ausdrücke ... 318
17.1 ... Hello Lambda World! ... 318
17.2 ... Lambda-Syntax ... 320
17.3 ... Generische Lambda-Schnittstellen ... 325
17.4 ... Funktionale Programmierung mit Streams ... 328
17.5 ... Beispiel: Mitarbeiter sortieren und auswählen ... 334
17.6 ... Wiederholungsfragen ... 336
18. Dateien und Verzeichnisse ... 338
18.1 ... Klassen- und Schnittstellenüberblick ... 338
18.2 ... Dateien und Verzeichnisse ergründen ... 340
18.3 ... Dateien und Verzeichnisse bearbeiten ... 347
18.4 ... Textdateien lesen und schreiben ... 350
18.5 ... Beispiel: Evaluierungsdaten auswerten ... 353
18.6 ... Wiederholungsaufgaben und Übungen ... 357
19. JavaFX ... 359
19.1 ... Hello JavaFX! ... 359
19.2 ... Arbeiten mit Steuerelementen ... 364
19.3 ... Grafikprogrammierung ... 372
19.4 ... Wiederholungsaufgaben und Übungen ... 379
20. Java-Interna und -Bibliotheken ... 380
20.1 ... Java-Compiler und -Interpreter ... 381
20.2 ... Der »args«-Parameter ... 386
20.3 ... Die Java-Shell ... 389
20.4 ... import ... 391
20.5 ... Pakete ... 393
20.6 ... Bibliotheken ... 395
20.7 ... Module (»Jigsaw«) ... 400
20.8 ... Wiederholungsfragen ... 403
A. Crashkurs IntelliJ IDEA ... 404
A.1 ... Benutzeroberfläche ... 404
A.2 ... Projekte ... 410
A.3 ... Einstellungen ... 411
B. Lösungen ... 415
B.1 ... Kapitel 2, »Java-Crashkurs« ... 415
B.2 ... Kapitel 3, »Variablenverwaltung« ... 417
B.3 ... Kapitel 4, »Operatoren« ... 419
B.4 ... Kapitel 5, »Verzweigungen und Schleifen« ... 420
B.5 ... Kapitel 6, »Arrays« ... 422
B.6 ... Kapitel 7, »Zeichenketten« ... 423
B.7 ... Kapitel 8, »Methoden« ... 425
B.8 ... Kapitel 9, »Datum und Uhrzeit« ... 429
B.9 ... Kapitel 10, »Exceptions« ... 429
B.10 ... Kapitel 11, »Klassen« ... 432
B.11 ... Kapitel 12, »Listen, Sets und Maps« ... 435
B.12 ... Kapitel 13, »Vererbung« ... 439
B.13 ... Kapitel 14, »Schnittstellen« ... 441
B.14 ... Kapitel 16, »Generische Klassen und Methoden« ... 442
B.15 ... Kapitel 17, »Lambda-Ausdrücke« ... 442
B.16 ... Kapitel 18, »Dateien und Verzeichnisse« ... 445
B.17 ... Kapitel 19, »JavaFX« ... 447
B.18 ... Kapitel 20, »Java-Interna und -Bibliotheken« ... 449
Index ... 453
Vorwort ... 21
1. Hello World! ... 23
1.1 ... Einführung ... 23
1.2 ... Java installieren ... 24
1.3 ... IntelliJ IDEA ... 27
1.4 ... Der Hello-World-Code ... 33
1.5 ... Alternativen zu IntelliJ ... 36
2. Java-Crashkurs ... 38
2.1 ... Die Idee des objektorientierten Programmierens ... 38
2.2 ... Java-Syntax ... 43
2.3 ... Wiederholungsfragen ... 48
3. Variablenverwaltung ... 49
3.1 ... Variablen ... 49
3.2 ... Elementare Datentypen ... 53
3.3 ... Literale ... 59
3.4 ... Variablen einlesen und ausgeben ... 62
3.5 ... Variablen im größeren Java-Kontext ... 65
3.6 ... Konstanten und Enums ... 71
3.7 ... Wiederholungsfragen und Übungen ... 73
4. Operatoren ... 74
4.1 ... Überblick ... 74
4.2 ... Details und Sonderfälle ... 76
4.3 ... Wiederholungsfragen ... 83
5. Verzweigungen und Schleifen ... 84
5.1 ... »if«-Verzweigungen ... 85
5.2 ... »if«-Kurzschreibweise (ternärer Operator) ... 90
5.3 ... »switch«-Verzweigungen ... 91
5.4 ... »for«-Schleifen ... 94
5.5 ... »for-each«-Schleifen ... 101
5.6 ... »while«- und »do-while»-Schleifen ... 102
5.7 ... »break« und »continue« ... 104
5.8 ... Wiederholungsfragen und Übungen ... 106
6. Arrays ... 108
6.1 ... Syntax ... 108
6.2 ... Mit Arrays arbeiten ... 114
6.3 ... Wiederholungsfragen ... 118
7. Zeichenketten ... 119
7.1 ... Der Datentyp »char« ... 119
7.2 ... Die »String«-Klasse ... 121
7.3 ... Formatierung und Konvertierung ... 129
7.4 ... Die »StringBuilder«-Klasse ... 135
7.5 ... Beispiele ... 136
7.6 ... Wiederholungsfragen und Übungen ... 139
8. Methoden ... 140
8.1 ... Einführung ... 141
8.2 ... Parameterliste ... 144
8.3 ... Rückgabewert und »return« ... 150
8.4 ... Rekursion ... 152
8.5 ... Tipps zum richtigen Einsatz von Methoden ... 154
8.6 ... Beispiele ... 155
8.7 ... Wiederholungsfragen und Übungen ... 164
9. Datum und Uhrzeit ... 168
9.1 ... Datum und Zeit seit Java 8 ... 169
9.2 ... Veraltete Datums- und Zeitklassen (Date, Calendar) ... 178
9.3 ... Wiederholungsfragen und Übungen ... 186
10. Exceptions ... 187
10.1 ... Exception-Klassen ... 188
10.2 ... try-catch ... 190
10.3 ... Fehleranfällige Methoden deklarieren (»throws«) ... 194
10.4 ... Selbst Exceptions auslösen (»throw«) ... 195
10.5 ... Beispiel ... 196
10.6 ... Wiederholungsfragen und Übungen ... 199
11. Klassen und Records ... 201
11.1 ... Eigene Klassen entwickeln ... 202
11.2 ... Der Konstruktor ... 212
11.3 ... »get«- und »set«-Methoden (Getter/Setter) ... 217
11.4 ... Records ... 220
11.5 ... UML-Diagramme ... 224
11.6 ... Beispiel: Bücher und Kapitel ... 225
11.7 ... Wiederholungsfragen und Übungen ... 229
12. Listen, Sets und Maps ... 232
12.1 ... Generische Klassen anwenden ... 233
12.2 ... Listen ... 236
12.3 ... Sets ... 238
12.4 ... Maps ... 241
12.5 ... Beispiel: Polygone ... 243
12.6 ... Beispiel: Schachfigur Springer ... 247
12.7 ... Beispiel: Mitarbeiter verwalten ... 253
12.8 ... Wiederholungsfragen und Übungen ... 257
13. Vererbung ... 258
13.1 ... Vererbung ... 258
13.2 ... Beispiel: Klassen für Fahrräder ... 263
13.3 ... Finale und abstrakte Klassen ... 266
13.4 ... Die »Object«-Klasse ... 274
13.5 ... Beispiel: Schachfiguren ... 279
13.6 ... Wiederholungsfragen und Übungen ... 283
14. Schnittstellen ... 286
14.1 ... »interface« und »implements« ... 286
14.2 ... Beispiel: Geometrische Figuren ... 291
14.3 ... Wiederholungsfragen und Übungen ... 295
15. Geschachtelte und anonyme Klassen ... 296
15.1 ... Geschachtelte Klassen ... 297
15.2 ... Anonyme Klassen ... 299
15.3 ... Statische geschachtelte Klassen ... 305
16. Generische Klassen und Methoden ... 307
16.1 ... Einführung ... 307
16.2 ... Deklaration generischer Klassen und Schnittstellen ... 309
16.3 ... Deklaration generischer Methoden ... 311
16.4 ... Wildcards ... 312
16.5 ... Wiederholungsfragen und Übungen ... 317
17. Lambda-Ausdrücke ... 318
17.1 ... Hello Lambda World! ... 318
17.2 ... Lambda-Syntax ... 320
17.3 ... Generische Lambda-Schnittstellen ... 325
17.4 ... Funktionale Programmierung mit Streams ... 328
17.5 ... Beispiel: Mitarbeiter sortieren und auswählen ... 334
17.6 ... Wiederholungsfragen ... 336
18. Dateien und Verzeichnisse ... 338
18.1 ... Klassen- und Schnittstellenüberblick ... 338
18.2 ... Dateien und Verzeichnisse ergründen ... 340
18.3 ... Dateien und Verzeichnisse bearbeiten ... 347
18.4 ... Textdateien lesen und schreiben ... 350
18.5 ... Beispiel: Evaluierungsdaten auswerten ... 353
18.6 ... Wiederholungsaufgaben und Übungen ... 357
19. JavaFX ... 359
19.1 ... Hello JavaFX! ... 359
19.2 ... Arbeiten mit Steuerelementen ... 364
19.3 ... Grafikprogrammierung ... 372
19.4 ... Wiederholungsaufgaben und Übungen ... 379
20. Java-Interna und -Bibliotheken ... 380
20.1 ... Java-Compiler und -Interpreter ... 381
20.2 ... Der »args«-Parameter ... 386
20.3 ... Die Java-Shell ... 389
20.4 ... import ... 391
20.5 ... Pakete ... 393
20.6 ... Bibliotheken ... 395
20.7 ... Module (»Jigsaw«) ... 400
20.8 ... Wiederholungsfragen ... 403
A. Crashkurs IntelliJ IDEA ... 404
A.1 ... Benutzeroberfläche ... 404
A.2 ... Projekte ... 410
A.3 ... Einstellungen ... 411
B. Lösungen ... 415
B.1 ... Kapitel 2, »Java-Crashkurs« ... 415
B.2 ... Kapitel 3, »Variablenverwaltung« ... 417
B.3 ... Kapitel 4, »Operatoren« ... 419
B.4 ... Kapitel 5, »Verzweigungen und Schleifen« ... 420
B.5 ... Kapitel 6, »Arrays« ... 422
B.6 ... Kapitel 7, »Zeichenketten« ... 423
B.7 ... Kapitel 8, »Methoden« ... 425
B.8 ... Kapitel 9, »Datum und Uhrzeit« ... 429
B.9 ... Kapitel 10, »Exceptions« ... 429
B.10 ... Kapitel 11, »Klassen« ... 432
B.11 ... Kapitel 12, »Listen, Sets und Maps« ... 435
B.12 ... Kapitel 13, »Vererbung« ... 439
B.13 ... Kapitel 14, »Schnittstellen« ... 441
B.14 ... Kapitel 16, »Generische Klassen und Methoden« ... 442
B.15 ... Kapitel 17, »Lambda-Ausdrücke« ... 442
B.16 ... Kapitel 18, »Dateien und Verzeichnisse« ... 445
B.17 ... Kapitel 19, »JavaFX« ... 447
B.18 ... Kapitel 20, »Java-Interna und -Bibliotheken« ... 449
Index ... 453
1. Hello World! ... 23
1.1 ... Einführung ... 23
1.2 ... Java installieren ... 24
1.3 ... IntelliJ IDEA ... 27
1.4 ... Der Hello-World-Code ... 33
1.5 ... Alternativen zu IntelliJ ... 36
2. Java-Crashkurs ... 38
2.1 ... Die Idee des objektorientierten Programmierens ... 38
2.2 ... Java-Syntax ... 43
2.3 ... Wiederholungsfragen ... 48
3. Variablenverwaltung ... 49
3.1 ... Variablen ... 49
3.2 ... Elementare Datentypen ... 53
3.3 ... Literale ... 59
3.4 ... Variablen einlesen und ausgeben ... 62
3.5 ... Variablen im größeren Java-Kontext ... 65
3.6 ... Konstanten und Enums ... 71
3.7 ... Wiederholungsfragen und Übungen ... 73
4. Operatoren ... 74
4.1 ... Überblick ... 74
4.2 ... Details und Sonderfälle ... 76
4.3 ... Wiederholungsfragen ... 83
5. Verzweigungen und Schleifen ... 84
5.1 ... »if«-Verzweigungen ... 85
5.2 ... »if«-Kurzschreibweise (ternärer Operator) ... 90
5.3 ... »switch«-Verzweigungen ... 91
5.4 ... »for«-Schleifen ... 94
5.5 ... »for-each«-Schleifen ... 101
5.6 ... »while«- und »do-while»-Schleifen ... 102
5.7 ... »break« und »continue« ... 104
5.8 ... Wiederholungsfragen und Übungen ... 106
6. Arrays ... 108
6.1 ... Syntax ... 108
6.2 ... Mit Arrays arbeiten ... 114
6.3 ... Wiederholungsfragen ... 118
7. Zeichenketten ... 119
7.1 ... Der Datentyp »char« ... 119
7.2 ... Die »String«-Klasse ... 121
7.3 ... Formatierung und Konvertierung ... 129
7.4 ... Die »StringBuilder«-Klasse ... 135
7.5 ... Beispiele ... 136
7.6 ... Wiederholungsfragen und Übungen ... 139
8. Methoden ... 140
8.1 ... Einführung ... 141
8.2 ... Parameterliste ... 144
8.3 ... Rückgabewert und »return« ... 150
8.4 ... Rekursion ... 152
8.5 ... Tipps zum richtigen Einsatz von Methoden ... 154
8.6 ... Beispiele ... 155
8.7 ... Wiederholungsfragen und Übungen ... 164
9. Datum und Uhrzeit ... 168
9.1 ... Datum und Zeit seit Java 8 ... 169
9.2 ... Veraltete Datums- und Zeitklassen (Date, Calendar) ... 178
9.3 ... Wiederholungsfragen und Übungen ... 186
10. Exceptions ... 187
10.1 ... Exception-Klassen ... 188
10.2 ... try-catch ... 190
10.3 ... Fehleranfällige Methoden deklarieren (»throws«) ... 194
10.4 ... Selbst Exceptions auslösen (»throw«) ... 195
10.5 ... Beispiel ... 196
10.6 ... Wiederholungsfragen und Übungen ... 199
11. Klassen und Records ... 201
11.1 ... Eigene Klassen entwickeln ... 202
11.2 ... Der Konstruktor ... 212
11.3 ... »get«- und »set«-Methoden (Getter/Setter) ... 217
11.4 ... Records ... 220
11.5 ... UML-Diagramme ... 224
11.6 ... Beispiel: Bücher und Kapitel ... 225
11.7 ... Wiederholungsfragen und Übungen ... 229
12. Listen, Sets und Maps ... 232
12.1 ... Generische Klassen anwenden ... 233
12.2 ... Listen ... 236
12.3 ... Sets ... 238
12.4 ... Maps ... 241
12.5 ... Beispiel: Polygone ... 243
12.6 ... Beispiel: Schachfigur Springer ... 247
12.7 ... Beispiel: Mitarbeiter verwalten ... 253
12.8 ... Wiederholungsfragen und Übungen ... 257
13. Vererbung ... 258
13.1 ... Vererbung ... 258
13.2 ... Beispiel: Klassen für Fahrräder ... 263
13.3 ... Finale und abstrakte Klassen ... 266
13.4 ... Die »Object«-Klasse ... 274
13.5 ... Beispiel: Schachfiguren ... 279
13.6 ... Wiederholungsfragen und Übungen ... 283
14. Schnittstellen ... 286
14.1 ... »interface« und »implements« ... 286
14.2 ... Beispiel: Geometrische Figuren ... 291
14.3 ... Wiederholungsfragen und Übungen ... 295
15. Geschachtelte und anonyme Klassen ... 296
15.1 ... Geschachtelte Klassen ... 297
15.2 ... Anonyme Klassen ... 299
15.3 ... Statische geschachtelte Klassen ... 305
16. Generische Klassen und Methoden ... 307
16.1 ... Einführung ... 307
16.2 ... Deklaration generischer Klassen und Schnittstellen ... 309
16.3 ... Deklaration generischer Methoden ... 311
16.4 ... Wildcards ... 312
16.5 ... Wiederholungsfragen und Übungen ... 317
17. Lambda-Ausdrücke ... 318
17.1 ... Hello Lambda World! ... 318
17.2 ... Lambda-Syntax ... 320
17.3 ... Generische Lambda-Schnittstellen ... 325
17.4 ... Funktionale Programmierung mit Streams ... 328
17.5 ... Beispiel: Mitarbeiter sortieren und auswählen ... 334
17.6 ... Wiederholungsfragen ... 336
18. Dateien und Verzeichnisse ... 338
18.1 ... Klassen- und Schnittstellenüberblick ... 338
18.2 ... Dateien und Verzeichnisse ergründen ... 340
18.3 ... Dateien und Verzeichnisse bearbeiten ... 347
18.4 ... Textdateien lesen und schreiben ... 350
18.5 ... Beispiel: Evaluierungsdaten auswerten ... 353
18.6 ... Wiederholungsaufgaben und Übungen ... 357
19. JavaFX ... 359
19.1 ... Hello JavaFX! ... 359
19.2 ... Arbeiten mit Steuerelementen ... 364
19.3 ... Grafikprogrammierung ... 372
19.4 ... Wiederholungsaufgaben und Übungen ... 379
20. Java-Interna und -Bibliotheken ... 380
20.1 ... Java-Compiler und -Interpreter ... 381
20.2 ... Der »args«-Parameter ... 386
20.3 ... Die Java-Shell ... 389
20.4 ... import ... 391
20.5 ... Pakete ... 393
20.6 ... Bibliotheken ... 395
20.7 ... Module (»Jigsaw«) ... 400
20.8 ... Wiederholungsfragen ... 403
A. Crashkurs IntelliJ IDEA ... 404
A.1 ... Benutzeroberfläche ... 404
A.2 ... Projekte ... 410
A.3 ... Einstellungen ... 411
B. Lösungen ... 415
B.1 ... Kapitel 2, »Java-Crashkurs« ... 415
B.2 ... Kapitel 3, »Variablenverwaltung« ... 417
B.3 ... Kapitel 4, »Operatoren« ... 419
B.4 ... Kapitel 5, »Verzweigungen und Schleifen« ... 420
B.5 ... Kapitel 6, »Arrays« ... 422
B.6 ... Kapitel 7, »Zeichenketten« ... 423
B.7 ... Kapitel 8, »Methoden« ... 425
B.8 ... Kapitel 9, »Datum und Uhrzeit« ... 429
B.9 ... Kapitel 10, »Exceptions« ... 429
B.10 ... Kapitel 11, »Klassen« ... 432
B.11 ... Kapitel 12, »Listen, Sets und Maps« ... 435
B.12 ... Kapitel 13, »Vererbung« ... 439
B.13 ... Kapitel 14, »Schnittstellen« ... 441
B.14 ... Kapitel 16, »Generische Klassen und Methoden« ... 442
B.15 ... Kapitel 17, »Lambda-Ausdrücke« ... 442
B.16 ... Kapitel 18, »Dateien und Verzeichnisse« ... 445
B.17 ... Kapitel 19, »JavaFX« ... 447
B.18 ... Kapitel 20, »Java-Interna und -Bibliotheken« ... 449
Index ... 453