|
Einstieg in Java 7 |
2 |
|
|
Liebe Leserin, lieber Leser, |
3 |
|
|
Auf einen Blick |
4 |
|
|
Inhalt |
6 |
|
|
Vorwort |
22 |
|
|
TEIL I Basiswissen |
26 |
|
|
1 Digitale Informationsverarbeitung |
28 |
|
|
1.1 Einleitung |
28 |
|
|
1.2 Zahlensysteme |
28 |
|
|
1.2.1 Dezimalsystem |
28 |
|
|
1.2.2 Binärsystem |
29 |
|
|
1.2.3 Hexadezimalsystem |
31 |
|
|
1.3 Informationseinheiten |
33 |
|
|
1.3.1 Bit |
33 |
|
|
1.3.2 Byte |
34 |
|
|
1.3.3 Wort |
34 |
|
|
1.4 Kodierung von Zeichen |
34 |
|
|
1.4.1 ASCII-Code |
34 |
|
|
1.4.2 ANSI-Code |
36 |
|
|
1.4.3 Unicode |
37 |
|
|
1.5 Kodierung logischer Informationen |
38 |
|
|
1.5.1 Und-Funktion |
38 |
|
|
1.5.2 Oder-Funktion |
39 |
|
|
1.5.3 Nicht-Funktion |
40 |
|
|
1.6 Zusammenfassung |
41 |
|
|
1.7 Aufgaben |
41 |
|
|
1.7.1 Zahlensysteme |
41 |
|
|
1.7.2 Informationseinheiten |
41 |
|
|
1.7.3 Zeichenkodierung |
42 |
|
|
1.7.4 Kodierung logischer Informationen |
42 |
|
|
2 Programmiersprachen |
44 |
|
|
2.1 Einleitung |
44 |
|
|
2.1.1 Verständigungsschwierigkeiten |
44 |
|
|
2.1.2 Definition |
44 |
|
|
2.1.3 Klassifizierung |
45 |
|
|
2.1.4 Geschichte |
46 |
|
|
2.2 Programmiersprachen der ersten Generation |
47 |
|
|
2.2.1 Programmaufbau |
48 |
|
|
2.2.2 Portabilität |
48 |
|
|
2.2.3 Ausführungsgeschwindigkeit |
49 |
|
|
2.2.4 Einsatzbereich |
49 |
|
|
2.3 Programmiersprachen der zweiten Generation |
49 |
|
|
2.3.1 Programmaufbau |
50 |
|
|
2.3.2 Portabilität |
51 |
|
|
2.3.3 Ausführungsgeschwindigkeit |
52 |
|
|
2.3.4 Einsatzbereich |
52 |
|
|
2.4 Programmiersprachen der dritten Generation |
52 |
|
|
2.4.1 Programmaufbau |
53 |
|
|
2.4.2 Portabilität |
54 |
|
|
2.4.3 Ausführungsgeschwindigkeit |
54 |
|
|
2.4.4 Einsatzbereich |
55 |
|
|
2.5 Programmiersprachen der vierten Generation |
55 |
|
|
2.5.1 Programmaufbau |
55 |
|
|
2.5.2 Portabilität |
56 |
|
|
2.5.3 Ausführungsgeschwindigkeit |
56 |
|
|
2.5.4 Einsatzbereich |
56 |
|
|
2.6 Programmiersprachen der fünften Generation |
56 |
|
|
2.6.1 Programmaufbau |
57 |
|
|
2.6.2 Portabilität |
58 |
|
|
2.6.3 Ausführungsgeschwindigkeit |
58 |
|
|
2.6.4 Einsatzbereich |
58 |
|
|
2.7 Programmiersprachen der sechsten Generation |
58 |
|
|
2.7.1 Programmaufbau |
58 |
|
|
2.7.2 Portabilität |
60 |
|
|
2.7.3 Ausführungsgeschwindigkeit |
60 |
|
|
2.7.4 Einsatzbereich |
60 |
|
|
2.8 Zusammenfassung |
60 |
|
|
2.9 Aufgaben |
61 |
|
|
2.9.1 Programmiersprachen der ersten Generation |
61 |
|
|
2.9.2 Programmiersprachen der zweiten Generation |
61 |
|
|
2.9.3 Programmiersprachen der dritten Generation |
61 |
|
|
3 Objektorientierte Programmierung |
62 |
|
|
3.1 Einleitung |
62 |
|
|
3.1.1 Grundbegriffe |
62 |
|
|
3.1.2 Prinzipien |
63 |
|
|
3.2 Objekte |
63 |
|
|
3.3 Klassen |
64 |
|
|
3.3.1 Attribute |
64 |
|
|
3.3.2 Methoden |
66 |
|
|
3.4 Abstraktion |
68 |
|
|
3.5 Vererbung |
69 |
|
|
3.5.1 Basisklassen |
71 |
|
|
3.5.2 Abgeleitete Klassen |
71 |
|
|
3.5.3 Mehrfachvererbung |
72 |
|
|
3.6 Kapselung |
72 |
|
|
3.7 Beziehungen |
73 |
|
|
3.7.1 Beziehungen, die nicht auf Vererbung beruhen |
74 |
|
|
3.7.2 Vererbungsbeziehungen |
75 |
|
|
3.8 Designfehler |
77 |
|
|
3.9 Umstrukturierung |
77 |
|
|
3.10 Modellierung |
78 |
|
|
3.11 Persistenz |
78 |
|
|
3.12 Polymorphie |
78 |
|
|
3.12.1 Statische Polymorphie |
79 |
|
|
3.12.2 Dynamische Polymorphie |
79 |
|
|
3.13 Designregeln |
80 |
|
|
3.14 Zusammenfassung |
80 |
|
|
3.15 Aufgaben |
81 |
|
|
3.15.1 Fragen |
81 |
|
|
3.15.2 Übungen |
81 |
|
|
TEIL II Java im Detail |
84 |
|
|
4 Sprache Java |
86 |
|
|
4.1 Einleitung |
86 |
|
|
4.1.1 Geschichte |
86 |
|
|
4.1.2 Beschreibung mittels Text |
87 |
|
|
4.1.3 Überblick über die Sprachelemente |
88 |
|
|
4.2 Schlüsselwörter |
89 |
|
|
4.3 Einfache Datentypen |
91 |
|
|
4.3.1 Grundlagen |
91 |
|
|
4.3.2 Festkommazahlen |
95 |
|
|
4.3.3 Gleitkommazahlen |
98 |
|
|
4.3.4 Wahrheitswerte |
100 |
|
|
4.3.5 Zeichen |
101 |
|
|
4.4 Erweiterte Datentypen |
102 |
|
|
4.4.1 Arrays |
102 |
|
|
4.4.2 Aufzählungstyp |
106 |
|
|
4.5 Benutzerdefinierte Datentypen |
107 |
|
|
4.5.1 Konkrete Klassen |
107 |
|
|
4.5.2 Abstrakte Klassen |
111 |
|
|
4.5.3 Interfaces |
112 |
|
|
4.5.4 Generische Klassen |
113 |
|
|
4.6 Variablen |
117 |
|
|
4.7 Konstanten |
118 |
|
|
4.8 Methoden |
118 |
|
|
4.8.1 Methodenarten |
118 |
|
|
4.8.2 Konstruktoren |
121 |
|
|
4.8.3 Destruktoren |
122 |
|
|
4.8.4 Zugriffsmethoden |
122 |
|
|
4.8.5 Änderungsmethoden |
123 |
|
|
4.8.6 Funktionen |
124 |
|
|
4.9 Operatoren |
125 |
|
|
4.9.1 Arithmetische Operatoren |
125 |
|
|
4.9.2 Vergleichende Operatoren |
133 |
|
|
4.9.3 Logische Operatoren |
137 |
|
|
4.9.4 Bitweise Operatoren |
139 |
|
|
4.9.5 Zuweisungsoperatoren |
140 |
|
|
4.9.6 Fragezeichenoperator |
141 |
|
|
4.9.7 New-Operator |
142 |
|
|
4.9.8 Cast-Operator |
143 |
|
|
4.10 Ausdrücke |
144 |
|
|
4.10.1 Zuweisungen |
144 |
|
|
4.10.2 Elementare Anweisungen |
147 |
|
|
4.10.3 Verzweigungen |
147 |
|
|
4.10.4 Schleifen |
150 |
|
|
4.11 Module |
155 |
|
|
4.11.1 Klassenimport |
155 |
|
|
4.11.2 Namensräume |
158 |
|
|
4.12 Fehlerbehandlung |
158 |
|
|
4.13 Dokumentation |
161 |
|
|
4.13.1 Zeilenbezogene Kommentare |
162 |
|
|
4.13.2 Abschnittsbezogene Kommentare |
162 |
|
|
4.13.3 Dokumentationskommentare |
162 |
|
|
4.14 Zusammenfassung |
163 |
|
|
4.15 Aufgaben |
164 |
|
|
4.15.1 Fragen |
164 |
|
|
4.15.2 Übungen |
164 |
|
|
5 Entwicklungsprozesse |
166 |
|
|
5.1 Einleitung |
166 |
|
|
5.1.1 Phasen |
166 |
|
|
5.1.2 Aktivitäten |
167 |
|
|
5.1.3 Werkzeuge |
168 |
|
|
5.2 Planungsphase |
169 |
|
|
5.2.1 Missverständnisse |
169 |
|
|
5.2.2 Anforderungen aufnehmen |
169 |
|
|
5.3 Konstruktionsphase |
170 |
|
|
5.3.1 Objektorientierte Analyse |
170 |
|
|
5.3.2 Objektorientiertes Design |
170 |
|
|
5.3.3 Implementierung in Java |
171 |
|
|
5.3.4 Test |
180 |
|
|
5.4 Betriebsphase |
190 |
|
|
5.4.1 Verteilung |
190 |
|
|
5.4.2 Pflege |
191 |
|
|
5.5 Zusammenfassung |
191 |
|
|
5.6 Aufgaben |
191 |
|
|
5.6.1 Fragen |
191 |
|
|
5.6.2 Übungen |
192 |
|
|
6 Plattform Java |
194 |
|
|
6.1 Einleitung |
194 |
|
|
6.2 Bytecode |
194 |
|
|
6.3 Java Runtime Environment |
196 |
|
|
6.3.1 Virtuelle Maschine |
197 |
|
|
6.3.2 Garbage Collector |
201 |
|
|
6.3.3 Bibliotheken |
202 |
|
|
6.3.4 Ressourcen und Property-Dateien |
202 |
|
|
6.4 Native Java-Programme |
202 |
|
|
6.5 Portabilität eines Java-Programms |
204 |
|
|
6.5.1 Binärkompatibler Bytecode |
204 |
|
|
6.5.2 Voraussetzungen |
206 |
|
|
6.6 Programmstart |
207 |
|
|
6.6.1 Application |
207 |
|
|
6.6.2 Applet |
209 |
|
|
6.6.3 Servlets und JavaServer Pages |
210 |
|
|
6.7 Zusammenfassung |
210 |
|
|
6.8 Aufgaben |
211 |
|
|
6.8.1 Fragen |
211 |
|
|
6.8.2 Übungen |
211 |
|
|
7 Gesetzmäßigkeiten |
212 |
|
|
7.1 Einleitung |
212 |
|
|
7.2 Sichtbarkeit |
212 |
|
|
7.2.1 Klassenkapselung |
212 |
|
|
7.2.2 Gültigkeitsbereich von Variablen |
221 |
|
|
7.3 Auswertungsreihenfolge |
226 |
|
|
7.3.1 Punkt vor Strich |
226 |
|
|
7.3.2 Punkt vor Punkt |
227 |
|
|
7.4 Typkonvertierung |
229 |
|
|
7.4.1 Implizite Konvertierung |
230 |
|
|
7.4.2 Explizite Konvertierung |
232 |
|
|
7.5 Polymorphie |
235 |
|
|
7.5.1 Überladen von Methoden |
235 |
|
|
7.5.2 Überschreiben von Methoden |
238 |
|
|
7.6 Programmierkonventionen |
242 |
|
|
7.6.1 Vorschriften zur Schreibweise |
242 |
|
|
7.6.2 Empfehlungen zur Schreibweise |
243 |
|
|
7.7 Zusammenfassung |
245 |
|
|
7.7.1 Sichtbarkeit |
245 |
|
|
7.7.2 Auswertungsreihenfolge |
246 |
|
|
7.7.3 Typkonvertierung |
246 |
|
|
7.7.4 Polymorphie |
246 |
|
|
7.7.5 Programmierkonventionen |
246 |
|
|
7.8 Aufgaben |
247 |
|
|
7.8.1 Fragen |
247 |
|
|
7.8.2 Übungen |
247 |
|
|
8 Java-Klassenbibliotheken |
248 |
|
|
8.1 Einleitung |
248 |
|
|
8.1.1 Von der Klasse zur Bibliothek |
248 |
|
|
8.1.2 Von der Bibliothek zum Universum |
249 |
|
|
8.1.3 Vom Universum zum eigenen Programm |
249 |
|
|
8.1.4 Bibliotheken und Bücher |
249 |
|
|
8.1.5 Bibliotheken erweitern die Sprache |
250 |
|
|
8.1.6 Bibliotheken steigern die Produktivität |
250 |
|
|
8.1.7 Kommerzielle Klassenbibliotheken |
251 |
|
|
8.1.8 Open-Source-Bibliotheken |
251 |
|
|
8.1.9 Bibliotheken von Sun Microsystems |
251 |
|
|
8.2 Java Standard Edition |
251 |
|
|
8.2.1 Java-Language-Bibliothek |
252 |
|
|
8.2.2 Klasse »System« |
260 |
|
|
8.2.3 Stream-Bibliotheken |
270 |
|
|
8.2.4 Hilfsklassen |
273 |
|
|
8.2.5 Abstract Windowing Toolkit |
275 |
|
|
8.2.6 Swing |
286 |
|
|
8.2.7 JavaBeans |
290 |
|
|
8.2.8 Applets |
290 |
|
|
8.2.9 Applications |
292 |
|
|
8.2.10 Java Database Connectivity (JDBC) |
292 |
|
|
8.2.11 Java Native Interface |
295 |
|
|
8.2.12 Remote Method Invocation |
295 |
|
|
8.3 Java Enterprise Edition |
296 |
|
|
8.3.1 Servlets |
297 |
|
|
8.3.2 JavaServer Pages |
298 |
|
|
8.3.3 CORBA |
299 |
|
|
8.3.4 Enterprise JavaBeans |
300 |
|
|
8.4 Java Micro Edition |
302 |
|
|
8.5 Zusammenfassung |
303 |
|
|
8.6 Aufgaben |
304 |
|
|
8.6.1 Fragen |
304 |
|
|
8.6.2 Übungen |
304 |
|
|
9 Algorithmen |
306 |
|
|
9.1 Einleitung |
306 |
|
|
9.2 Algorithmen entwickeln |
306 |
|
|
9.3 Algorithmenarten |
307 |
|
|
9.3.1 Sortieren |
308 |
|
|
9.3.2 Diagramme |
309 |
|
|
9.4 Algorithmen anwenden |
317 |
|
|
9.4.1 Sortieren |
317 |
|
|
9.4.2 Suchen |
319 |
|
|
9.5 Aufgaben |
320 |
|
|
9.5.1 Fragen |
320 |
|
|
9.5.2 Übungen |
320 |
|
|
TEIL III Größere Java-Projekte |
322 |
|
|
10 Konsolenprogramme |
324 |
|
|
10.1 Einleitung |
324 |
|
|
10.2 Projekt »Transfer« |
325 |
|
|
10.2.1 Anforderungen |
325 |
|
|
10.2.2 Analyse und Design |
325 |
|
|
10.2.3 Implementierung der Klasse »TransferApp« |
327 |
|
|
10.2.4 Implementierung der Klasse »CopyThread« |
331 |
|
|
10.2.5 Implementierung der Properties-Datei |
335 |
|
|
10.2.6 Test |
335 |
|
|
10.2.7 Verteilung |
336 |
|
|
10.3 Aufgaben |
336 |
|
|
10.3.1 Fragen |
336 |
|
|
10.3.2 Übungen |
337 |
|
|
11 Einfache Oberflächen mit Swing |
338 |
|
|
11.1 Einleitung |
338 |
|
|
11.2 Projekt »Abakus« |
338 |
|
|
11.2.1 Anforderungen |
338 |
|
|
11.2.2 Analyse und Design |
340 |
|
|
11.2.3 Implementierung der Applikationsklasse |
344 |
|
|
11.2.4 Implementierung des Hauptfensters |
345 |
|
|
11.2.5 Implementierung der Klasse »AboutDlg« |
362 |
|
|
11.2.6 Zeichen als Unicode kodieren |
362 |
|
|
11.2.7 Dialog zentriert sich selbst |
362 |
|
|
11.3 Zusammenfassung |
364 |
|
|
11.4 Aufgaben |
365 |
|
|
11.4.1 Fragen |
365 |
|
|
11.4.2 Übungen |
365 |
|
|
12 Computerspiele mit Swing |
366 |
|
|
12.1 Einleitung |
366 |
|
|
12.2 Projekt »Memory« |
366 |
|
|
12.2.1 Anforderungen |
366 |
|
|
12.2.2 Analyse und Design |
368 |
|
|
12.2.3 Implementierung der Klasse »Card« |
371 |
|
|
12.2.4 Implementierung der Klasse »CardEvent« |
379 |
|
|
12.2.5 Implementierung des Interfaces »CardListener« |
379 |
|
|
12.2.6 Implementierung der Klasse »CardBeanInfo« |
380 |
|
|
12.2.7 Implementierung des Testtreibers |
382 |
|
|
12.2.8 Implementierung der Klasse »GameBoard« |
385 |
|
|
12.2.9 Implementierung des Hauptfensters |
389 |
|
|
12.2.10 Implementierung der Klasse »AboutDlg« |
392 |
|
|
12.2.11 Test |
396 |
|
|
12.2.12 Verteilung |
397 |
|
|
12.3 Zusammenfassung |
398 |
|
|
12.4 Aufgaben |
398 |
|
|
12.4.1 Fragen |
398 |
|
|
12.4.2 Übungen |
398 |
|
|
13 Komplexe Oberflächen mit Swing |
400 |
|
|
13.1 Einleitung |
400 |
|
|
13.2 Projekt »Nestor« – die Oberfläche |
400 |
|
|
13.2.1 Anforderungen |
400 |
|
|
13.2.2 Analyse und Design |
402 |
|
|
13.2.3 Implementierung der Datenbankfassade |
406 |
|
|
13.2.4 Implementierung der Applikationsklasse |
407 |
|
|
13.2.5 Aufbau des Hauptfensters |
409 |
|
|
13.2.6 Implementierung der Adresskomponente |
409 |
|
|
13.2.7 Implementierung des Hauptfensters |
413 |
|
|
13.2.8 Implementierung des Dialogs »Einstellungen« |
419 |
|
|
13.2.9 Test |
419 |
|
|
13.2.10 Verteilung |
420 |
|
|
13.3 Zusammenfassung |
421 |
|
|
13.4 Aufgaben |
421 |
|
|
13.4.1 Fragen |
421 |
|
|
13.4.2 Übungen |
422 |
|
|
14 Weboberflächen mit Servlets |
424 |
|
|
14.1 Einleitung |
424 |
|
|
14.1.1 Hypertext Markup Language |
424 |
|
|
14.1.2 Hypertext-Transfer-Protokoll |
427 |
|
|
14.1.3 Common Gateway Interface |
429 |
|
|
14.1.4 Servlets |
429 |
|
|
14.2 Projekt »Xenia« – die Oberfläche |
430 |
|
|
14.2.1 Anforderungen |
430 |
|
|
14.2.2 Analyse und Design |
432 |
|
|
14.2.3 Implementierung der HTML-Vorlagen |
433 |
|
|
14.2.4 Implementierung der Klasse »GuestList« |
435 |
|
|
14.2.5 Implementierung der Klasse »NewGuest« |
440 |
|
|
14.2.6 Verteilung |
446 |
|
|
14.3 Zusammenfassung |
446 |
|
|
14.4 Aufgaben |
447 |
|
|
14.4.1 Fragen |
447 |
|
|
14.4.2 Übungen |
447 |
|
|
15 Datenbankprogrammierung |
448 |
|
|
15.1 Einleitung |
448 |
|
|
15.1.1 Vom Modell zum Datenmodell |
448 |
|
|
15.1.2 Vom Datenmodell zur Datenbank |
448 |
|
|
15.1.3 Von der Datenbank zu den Daten |
449 |
|
|
15.1.4 Von den Daten zum Programm |
449 |
|
|
15.2 Projekt »Hades« |
450 |
|
|
15.2.1 Anforderungen |
450 |
|
|
15.2.2 Analyse & Design |
450 |
|
|
15.2.3 Implementierung |
451 |
|
|
15.2.4 Test |
452 |
|
|
15.3 Projekt »Charon« |
453 |
|
|
15.3.1 Anforderungen |
453 |
|
|
15.3.2 Implementierung der Klasse »HadesDb« |
454 |
|
|
15.3.3 Implementierung der Klasse »Charon« |
458 |
|
|
15.3.4 Implementierung der Klasse »HadesTest« |
460 |
|
|
15.3.5 Implementierung der Klasse »CharonTest« |
463 |
|
|
15.3.6 Implementierung der Datei »Db.properties« |
464 |
|
|
15.3.7 Test |
465 |
|
|
15.3.8 Verteilung |
466 |
|
|
15.4 Zusammenfassung |
466 |
|
|
15.5 Aufgaben |
466 |
|
|
15.5.1 Fragen |
466 |
|
|
15.5.2 Übungen |
466 |
|
|
16 Datenbankanwendungen |
468 |
|
|
16.1 Einleitung |
468 |
|
|
16.2 Projekt »Perseus« |
468 |
|
|
16.2.1 Anforderungen |
468 |
|
|
16.2.2 Analyse und Design |
469 |
|
|
16.2.3 Implementierung der Klasse »BasisWnd« |
472 |
|
|
16.2.4 Implementierung der Klasse »Alignment« |
473 |
|
|
16.2.5 Implementierung der Klasse »SplashWnd« |
474 |
|
|
16.2.6 Implementierung der Klasse »BasicDlg« |
476 |
|
|
16.3 Projekt »Charon« |
479 |
|
|
16.3.1 Anforderungen |
479 |
|
|
16.3.2 Analyse und Design |
480 |
|
|
16.3.3 Implementierung von »HadesDb« |
480 |
|
|
16.3.4 Implementierung von »Charon« |
481 |
|
|
16.3.5 Test |
481 |
|
|
16.3.6 Verteilung |
481 |
|
|
16.4 Projekt »Nestor« |
481 |
|
|
16.4.1 Integration der Klasse »SplashWnd« |
482 |
|
|
16.4.2 Integration der Klasse »SplashWnd« |
482 |
|
|
16.4.3 Implementierung der Methode »showSplashScreen« |
483 |
|
|
16.4.4 Integration der Klasse »BasicDlg« |
484 |
|
|
16.4.5 Integration der Klasse »Charon« |
485 |
|
|
16.4.6 Verteilung |
485 |
|
|
16.5 Zusammenfassung |
486 |
|
|
16.6 Aufgaben |
486 |
|
|
16.6.1 Fragen |
486 |
|
|
16.6.2 Übungen |
486 |
|
|
17 Dynamische Websites |
488 |
|
|
17.1 Einleitung |
488 |
|
|
17.2 Projekt »Charon« |
488 |
|
|
17.2.1 Anforderungen |
488 |
|
|
17.2.2 Analyse und Design |
489 |
|
|
17.2.3 Implementierung der Klasse »HadesDb« |
490 |
|
|
17.2.4 Implementierung der Klasse »Charon« |
491 |
|
|
17.3 Projekt »Xenia« |
493 |
|
|
17.3.1 Anforderungen |
493 |
|
|
17.3.2 Analyse und Design |
493 |
|
|
17.3.3 Implementierung der Klasse »NewGuest« |
493 |
|
|
17.3.4 Implementierung der Klasse »GuestList« |
494 |
|
|
17.3.5 Änderungen am Projektverzeichnis |
496 |
|
|
17.3.6 Test |
497 |
|
|
17.3.7 Verteilung |
499 |
|
|
17.4 Zusammenfassung |
500 |
|
|
17.5 Aufgaben |
500 |
|
|
17.5.1 Fragen |
500 |
|
|
17.5.2 Übungen |
500 |
|
|
TEIL IV Lösungen |
502 |
|
|
18 Lösungen zu Teil I |
504 |
|
|
18.1 Digitale Informationsverarbeitung |
504 |
|
|
18.1.1 Zahlensysteme |
504 |
|
|
18.1.2 Informationseinheiten |
504 |
|
|
18.1.3 Zeichenkodierung |
505 |
|
|
18.1.4 Kodierung logischer Informationen |
505 |
|
|
18.2 Programmiersprachen |
506 |
|
|
18.2.1 Programmiersprachen der ersten Generation |
506 |
|
|
18.2.2 Programmiersprachen der zweiten Generation |
506 |
|
|
18.2.3 Programmiersprachen der dritten Generation |
507 |
|
|
18.3 Objektorientierte Programmierung |
507 |
|
|
18.3.1 Fragen |
507 |
|
|
18.3.2 Übungen |
508 |
|
|
19 Lösungen zu Teil II |
512 |
|
|
19.1 Sprache Java |
512 |
|
|
19.1.1 Fragen |
512 |
|
|
19.1.2 Übungen |
514 |
|
|
19.2 Entwicklungsprozesse |
517 |
|
|
19.2.1 Fragen |
517 |
|
|
19.2.2 Übungen |
517 |
|
|
19.3 Plattform Java |
519 |
|
|
19.3.1 Fragen |
519 |
|
|
19.3.2 Übungen |
519 |
|
|
19.4 Gesetzmäßigkeiten |
520 |
|
|
19.4.1 Fragen |
520 |
|
|
19.4.2 Übungen |
521 |
|
|
19.5 Java-Klassenbibliotheken |
522 |
|
|
19.5.1 Fragen |
522 |
|
|
19.5.2 Übungen |
523 |
|
|
19.6 Algorithmen |
524 |
|
|
19.6.1 Fragen |
524 |
|
|
19.6.2 Übungen |
525 |
|
|
20 Lösungen zu Teil III |
528 |
|
|
20.1 Konsolenprogramme |
528 |
|
|
20.1.1 Fragen |
528 |
|
|
20.1.2 Übungen |
529 |
|
|
20.2 Einfache Oberflächen mit Swing |
530 |
|
|
20.2.1 Fragen |
530 |
|
|
20.2.2 Übungen |
531 |
|
|
20.3 Computerspiele mit Swing |
532 |
|
|
20.3.1 Fragen |
532 |
|
|
20.3.2 Übungen |
532 |
|
|
20.4 Komplexe Oberflächen mit Swing |
533 |
|
|
20.4.1 Fragen |
533 |
|
|
20.4.2 Übungen |
534 |
|
|
20.5 Weboberflächen mit Servlets |
534 |
|
|
20.5.1 Fragen |
534 |
|
|
20.5.2 Übungen |
535 |
|
|
20.6 Datenbankprogrammierung |
536 |
|
|
20.6.1 Fragen |
536 |
|
|
20.6.2 Übungen |
536 |
|
|
20.7 Datenbankanwendungen |
537 |
|
|
20.7.1 Fragen |
537 |
|
|
20.7.2 Übungen |
537 |
|
|
20.8 DynamischeWebsites |
538 |
|
|
20.8.1 Fragen |
538 |
|
|
20.8.2 Übungen |
538 |
|
|
TEIL V Anhang |
542 |
|
|
21 Import der Beispielprogramme |
544 |
|
|
21.1 Einleitung |
544 |
|
|
21.2 Import in Eclipse |
544 |
|
|
21.3 Import in NetBeans |
547 |
|
|
22 Werkzeuge |
550 |
|
|
22.1 Einleitung |
550 |
|
|
22.1.1 Einzelwerkzeuge versus Werkzeugsuiten |
550 |
|
|
22.1.2 Zielgruppen |
551 |
|
|
22.2 Kriterien zur Werkzeugauswahl |
552 |
|
|
22.2.1 Allgemeine Kriterien |
553 |
|
|
22.2.2 Projektverwaltung |
556 |
|
|
22.2.3 Modellierungswerkzeuge |
557 |
|
|
22.2.4 Texteditor |
558 |
|
|
22.2.5 Java-Compiler |
559 |
|
|
22.2.6 Java-Decompiler |
560 |
|
|
22.2.7 GUI-Builder |
560 |
|
|
22.2.8 Laufzeitumgebung |
561 |
|
|
22.2.9 Java-Debugger |
562 |
|
|
22.2.10 Werkzeuge zur Verteilung |
563 |
|
|
22.2.11 Wizards |
564 |
|
|
22.3 Einzelwerkzeuge |
564 |
|
|
22.3.1 Modellierungswerkzeuge |
564 |
|
|
22.3.2 Texteditor |
565 |
|
|
22.3.3 Java-Compiler |
566 |
|
|
22.3.4 Java-Decompiler |
567 |
|
|
22.3.5 GUI-Builder |
567 |
|
|
22.3.6 Laufzeitumgebungen |
568 |
|
|
22.3.7 Java-Debugger |
569 |
|
|
22.3.8 Versionskontrollwerkzeuge |
569 |
|
|
22.3.9 Werkzeuge zur Verteilung |
570 |
|
|
22.4 Werkzeugsuiten |
570 |
|
|
22.4.1 Eclipse |
571 |
|
|
22.4.2 JBuilder |
572 |
|
|
22.4.3 Java Development Kit |
573 |
|
|
22.4.4 NetBeans |
579 |
|
|
22.4.5 Sun One Studio |
580 |
|
|
22.4.6 Together |
580 |
|
|
22.4.7 VisualAge Java |
581 |
|
|
23 Computerhardware |
582 |
|
|
23.1 Einleitung |
582 |
|
|
23.2 Aufbau eines Computers |
582 |
|
|
23.3 Bussystem |
583 |
|
|
23.4 Prozessoren |
583 |
|
|
23.4.1 Central Processing Unit |
583 |
|
|
23.4.2 Grafikprozessor |
584 |
|
|
23.5 Speichermedien |
584 |
|
|
23.5.1 Hauptspeicher |
584 |
|
|
23.5.2 Festplattenspeicher |
585 |
|
|
23.6 Ein- und Ausgabesteuerung |
586 |
|
|
23.7 Taktgeber |
586 |
|
|
23.8 Zusammenfassung |
586 |
|
|
24 Glossar |
588 |
|
|
25 Literatur |
596 |
|
|
25.1 Basiswissen |
596 |
|
|
25.2 Java im Detail |
596 |
|
|
25.3 Größere Java-Projekte |
597 |
|
|
25.4 Anhang |
598 |
|
|
Index |
600 |
|