Bernhard Steppan hat einen ausführlichen Einstieg in Java geschrieben, der vor allem für Leser ohne Programmierkenntnisse geeignet ist. Grundbegriffe, Sprachelemente und der objektorientierte Ansatz werden ausführlich erklärt, bevor es zum praxisorientierten Teil des Buches geht. Hier werden Java-Anwendungen geschrieben und kommentiert. Das nötige technische Rüstzeug findet sich auf der beiliegenden Buch-CD. Ein Buch für alle, die Java-Programmierung verstehen und beherrschen wollen.
Inhaltsverzeichnis:
1 Digitale Informationsverarbeitung ... 25
1.1 Einleitung ... 27
1.2 Zahlensysteme ... 27
1.3 Informationseinheiten ... 32
1.4 Kodierung von Zeichen ... 33
1.5 Kodierung logischer Informationen ... 36
1.6 Zusammenfassung ... 39
1.7 Aufgaben ... 40
2 Programmiersprachen ... 41
2.1 Einleitung ... 43
2.2 Programmiersprachen der ersten Generation ... 46
2.3 Programmiersprachen der zweiten Generation ... 48
2.4 Programmiersprachen der dritten Generation ... 50
2.5 Programmiersprachen der vierten Generation ... 53
2.6 Programmiersprachen der fünften Generation ... 54
2.7 Programmiersprachen der sechsten Generation ... 55
2.8 Zusammenfassung ... 58
2.9 Aufgaben ... 58
3 Objektorientierte Programmierung ... 59
3.1 Einleitung ... 61
3.2 Objekte ... 62
3.3 Klassen ... 63
3.4 Abstraktion ... 67
3.5 Vererbung ... 68
3.6 Kapselung ... 71
3.7 Beziehungen ... 73
3.8 Designfehler ... 75
3.9 Umstrukturierung ... 76
3.10 Modellierung ... 76
3.11 Persistenz ... 77
3.12 Polymorphie ... 77
3.13 Designregeln ... 79
3.14 Zusammenfassung ... 79
3.15 Aufgaben ... 79
4 Sprache ... 85
4.1 Einleitung ... 87
4.2 Schlüsselwörter ... 90
4.3 Einfache Datentypen ... 91
4.4 Erweiterte Datentypen ... 101
4.5 Benutzerdefinierte Datentypen ... 105
4.6 Variablen ... 112
4.7 Konstanten ... 112
4.8 Methoden ... 112
4.9 Operatoren ... 117
4.10 Ausdrücke ... 132
4.11 Module ... 140
4.12 Dokumentation ... 142
4.13 Zusammenfassung ... 144
4.14 Aufgaben ... 144
5 Entwicklungsprozesse ... 147
5.1 Einleitung ... 149
5.2 Planungsphase ... 152
5.3 Konstruktionsphase ... 153
5.4 Betriebsphase ... 174
5.5 Zusammenfassung ... 174
5.6 Aufgaben ... 175
6 Plattform ... 177
6.1 Einleitung ... 179
6.2 Bytecode ... 179
6.3 Java Runtime Environment ... 182
6.4 Native Java-Programme ... 187
6.5 Portabilität eines Java-Programms ... 189
6.6 Starten eines Java-Programms ... 193
6.7 Zusammenfassung ... 196
6.8 Aufgaben ... 196
7 Gesetzmäßigkeiten ... 199
7.1 Einleitung ... 201
7.2 Sichtbarkeit ... 201
7.3 Auswertungsreihenfolge ... 212
7.4 Typkonvertierung ... 216
7.5 Polymorphie ... 221
7.6 Programmierkonventionen ... 227
7.7 Zusammenfassung ... 230
7.8 Aufgaben ... 231
8 Klassenbibliotheken ... 233
8.1 Einleitung ... 235
8.2 Java 2 Standard Edition ... 238
8.3 Java 2 Enterprise Edition ... 281
8.4 Java 2 Micro Edition ... 286
8.5 Zusammenfassung ... 287
8.6 Aufgaben ... 287
9 Algorithmen ... 289
9.1 Einleitung ... 291
9.2 Algorithmen entwickeln ... 291
9.3 Algorithmenarten ... 292
9.4 Algorithmen anwenden ... 299
9.5 Aufgaben ... 302
10 Konsolenprogramme ... 305
10.1 Einleitung ... 307
10.2 Projekt "Transfer" 307
10.3 Aufgaben ... 320
11 Einfache graphische Oberflächen ... 321
11.1 Einleitung ... 323
11.2 Projekt "Memory" 323
11.3 Zusammenfassung ... 357
11.4 Aufgaben ... 357
12 Komplexe Oberflächen mit Swing ... 359
12.1 Einleitung ... 361
12.2 Projekt "Nestor" - die Oberfläche ... 361
12.3 Zusammenfassung ... 383
12.4 Aufgaben ... 384
13 Weboberflächen mit Servlets ... 387
13.1 Einleitung ... 389
13.2 Projekt "Xenia" - die Oberfläche ... 395
13.3 Zusammenfassung ... 413
13.4 Aufgaben ... 413
14 Datenbankprogrammierung ... 415
14.1 Einleitung ... 417
14.2 Projekt "Hades" 418
14.3 Das Projekt "Charon" 421
14.4 Zusammenfassung ... 435
14.5 Aufgaben ... 436
15 Datenbankanwendungen ... 437
15.1 Einleitung ... 439
15.2 Projekt "Perseus" 439
15.3 Projekt "Charon" 451
15.4 Projekt "Nestor" 453
15.5 Zusammenfassung ... 457
15.6 Aufgaben ... 457
16 Dynamische Websites ... 459
16.1 Einleitung ... 461
16.2 Projekt "Charon" 461
16.3 Projekt "Xenia" 466
16.4 Zusammenfassung ... 472
16.5 Aufgaben ... 473
17 Entwurfsmuster ... 475
17.1 Einleitung ... 477
17.2 Projekt "Polygraph" 481
17.3 Zusammenfassung ... 496
17.4 Aufgaben ... 497
18 Lösungen Teil I ... 501
18.1 Digitale Informationsverarbeitung ... 503
18.2 Programmiersprachen ... 504
18.3 Objektorientierte Programmierung ... 505
19 Lösungen Teil II ... 509
19.1 Sprache ... 511
19.2 Entwicklungsprozesse ... 515
19.3 Plattform ... 517
19.4 Gesetzmäßigkeiten ... 518
19.5 Klassenbibliotheken ... 520
19.6 Algorithmen ... 523
20 Lösungen Teil III ... 525
20.1 Konsolenprogramme ... 527
20.2 Einfache graphische Oberflächen ... 529
20.3 Swing-Oberflächen ... 530
20.4 Servlets ... 531
20.5 Datenbankprogrammierung ... 532
20.6 Datenbankanwendungen ... 533
20.7 Dynamische Websites ... 534
20.8 Entwurfsmuster ... 537
21 Werkzeuge ... 541
21.1 Einleitung ... 543
21.2 Kriterien zur Werkzeugauswahl ... 545
21.3 Einzelwerkzeuge ... 558
21.4 Werkzeugsuiten ... 563
22 Computerhardware ... 577
22.1 Einleitung ... 579
22.2 Aufbau eines Computers ... 579
22.3 Bussystem ... 579
22.4 Prozessoren ... 580
22.5 Speichermedien ... 581
22.6 Ein- und Ausgabesteuerung ... 582
22.7 Taktgeber ... 583
22.8 Zusammenfassung ... 583
23 Glossar ... 585
24 Literatur ... 597
24.1 Basiswissen ... 599
24.2 Java, Java, Java ... 599
24.3 Beispiele, Beispiele, Beispiele ... 600
24.4 Anhang ... 601
Inhaltsverzeichnis:
1 Digitale Informationsverarbeitung ... 25
1.1 Einleitung ... 27
1.2 Zahlensysteme ... 27
1.3 Informationseinheiten ... 32
1.4 Kodierung von Zeichen ... 33
1.5 Kodierung logischer Informationen ... 36
1.6 Zusammenfassung ... 39
1.7 Aufgaben ... 40
2 Programmiersprachen ... 41
2.1 Einleitung ... 43
2.2 Programmiersprachen der ersten Generation ... 46
2.3 Programmiersprachen der zweiten Generation ... 48
2.4 Programmiersprachen der dritten Generation ... 50
2.5 Programmiersprachen der vierten Generation ... 53
2.6 Programmiersprachen der fünften Generation ... 54
2.7 Programmiersprachen der sechsten Generation ... 55
2.8 Zusammenfassung ... 58
2.9 Aufgaben ... 58
3 Objektorientierte Programmierung ... 59
3.1 Einleitung ... 61
3.2 Objekte ... 62
3.3 Klassen ... 63
3.4 Abstraktion ... 67
3.5 Vererbung ... 68
3.6 Kapselung ... 71
3.7 Beziehungen ... 73
3.8 Designfehler ... 75
3.9 Umstrukturierung ... 76
3.10 Modellierung ... 76
3.11 Persistenz ... 77
3.12 Polymorphie ... 77
3.13 Designregeln ... 79
3.14 Zusammenfassung ... 79
3.15 Aufgaben ... 79
4 Sprache ... 85
4.1 Einleitung ... 87
4.2 Schlüsselwörter ... 90
4.3 Einfache Datentypen ... 91
4.4 Erweiterte Datentypen ... 101
4.5 Benutzerdefinierte Datentypen ... 105
4.6 Variablen ... 112
4.7 Konstanten ... 112
4.8 Methoden ... 112
4.9 Operatoren ... 117
4.10 Ausdrücke ... 132
4.11 Module ... 140
4.12 Dokumentation ... 142
4.13 Zusammenfassung ... 144
4.14 Aufgaben ... 144
5 Entwicklungsprozesse ... 147
5.1 Einleitung ... 149
5.2 Planungsphase ... 152
5.3 Konstruktionsphase ... 153
5.4 Betriebsphase ... 174
5.5 Zusammenfassung ... 174
5.6 Aufgaben ... 175
6 Plattform ... 177
6.1 Einleitung ... 179
6.2 Bytecode ... 179
6.3 Java Runtime Environment ... 182
6.4 Native Java-Programme ... 187
6.5 Portabilität eines Java-Programms ... 189
6.6 Starten eines Java-Programms ... 193
6.7 Zusammenfassung ... 196
6.8 Aufgaben ... 196
7 Gesetzmäßigkeiten ... 199
7.1 Einleitung ... 201
7.2 Sichtbarkeit ... 201
7.3 Auswertungsreihenfolge ... 212
7.4 Typkonvertierung ... 216
7.5 Polymorphie ... 221
7.6 Programmierkonventionen ... 227
7.7 Zusammenfassung ... 230
7.8 Aufgaben ... 231
8 Klassenbibliotheken ... 233
8.1 Einleitung ... 235
8.2 Java 2 Standard Edition ... 238
8.3 Java 2 Enterprise Edition ... 281
8.4 Java 2 Micro Edition ... 286
8.5 Zusammenfassung ... 287
8.6 Aufgaben ... 287
9 Algorithmen ... 289
9.1 Einleitung ... 291
9.2 Algorithmen entwickeln ... 291
9.3 Algorithmenarten ... 292
9.4 Algorithmen anwenden ... 299
9.5 Aufgaben ... 302
10 Konsolenprogramme ... 305
10.1 Einleitung ... 307
10.2 Projekt "Transfer" 307
10.3 Aufgaben ... 320
11 Einfache graphische Oberflächen ... 321
11.1 Einleitung ... 323
11.2 Projekt "Memory" 323
11.3 Zusammenfassung ... 357
11.4 Aufgaben ... 357
12 Komplexe Oberflächen mit Swing ... 359
12.1 Einleitung ... 361
12.2 Projekt "Nestor" - die Oberfläche ... 361
12.3 Zusammenfassung ... 383
12.4 Aufgaben ... 384
13 Weboberflächen mit Servlets ... 387
13.1 Einleitung ... 389
13.2 Projekt "Xenia" - die Oberfläche ... 395
13.3 Zusammenfassung ... 413
13.4 Aufgaben ... 413
14 Datenbankprogrammierung ... 415
14.1 Einleitung ... 417
14.2 Projekt "Hades" 418
14.3 Das Projekt "Charon" 421
14.4 Zusammenfassung ... 435
14.5 Aufgaben ... 436
15 Datenbankanwendungen ... 437
15.1 Einleitung ... 439
15.2 Projekt "Perseus" 439
15.3 Projekt "Charon" 451
15.4 Projekt "Nestor" 453
15.5 Zusammenfassung ... 457
15.6 Aufgaben ... 457
16 Dynamische Websites ... 459
16.1 Einleitung ... 461
16.2 Projekt "Charon" 461
16.3 Projekt "Xenia" 466
16.4 Zusammenfassung ... 472
16.5 Aufgaben ... 473
17 Entwurfsmuster ... 475
17.1 Einleitung ... 477
17.2 Projekt "Polygraph" 481
17.3 Zusammenfassung ... 496
17.4 Aufgaben ... 497
18 Lösungen Teil I ... 501
18.1 Digitale Informationsverarbeitung ... 503
18.2 Programmiersprachen ... 504
18.3 Objektorientierte Programmierung ... 505
19 Lösungen Teil II ... 509
19.1 Sprache ... 511
19.2 Entwicklungsprozesse ... 515
19.3 Plattform ... 517
19.4 Gesetzmäßigkeiten ... 518
19.5 Klassenbibliotheken ... 520
19.6 Algorithmen ... 523
20 Lösungen Teil III ... 525
20.1 Konsolenprogramme ... 527
20.2 Einfache graphische Oberflächen ... 529
20.3 Swing-Oberflächen ... 530
20.4 Servlets ... 531
20.5 Datenbankprogrammierung ... 532
20.6 Datenbankanwendungen ... 533
20.7 Dynamische Websites ... 534
20.8 Entwurfsmuster ... 537
21 Werkzeuge ... 541
21.1 Einleitung ... 543
21.2 Kriterien zur Werkzeugauswahl ... 545
21.3 Einzelwerkzeuge ... 558
21.4 Werkzeugsuiten ... 563
22 Computerhardware ... 577
22.1 Einleitung ... 579
22.2 Aufbau eines Computers ... 579
22.3 Bussystem ... 579
22.4 Prozessoren ... 580
22.5 Speichermedien ... 581
22.6 Ein- und Ausgabesteuerung ... 582
22.7 Taktgeber ... 583
22.8 Zusammenfassung ... 583
23 Glossar ... 585
24 Literatur ... 597
24.1 Basiswissen ... 599
24.2 Java, Java, Java ... 599
24.3 Beispiele, Beispiele, Beispiele ... 600
24.4 Anhang ... 601