Dirk Louis, Peter Müller
Java
Eine Einführung in die Programmierung
Vorwort
15
17
17
1.1 Was ist Java? – Teil I
17
1.2 Was ist ein Programm?
20
1.3 Wie werden Programme erstellt?
21
1.4 Von Compilern und Interpretern
22
1.5 Was ist Java? – Teil II
23
1.6 Vorbereitung zum Programmieren
25
33
33
2.1 Die erste Java-Anwendung
33
2.2 Zusammenfassung
41
2.3 Fragen und Antworten
42
2.4 Übungen
42
43
43
3.1 Variablen und Anweisungen
43
3.2 Operatoren
53
3.3 Typumwandlung
56
3.4 Objekte und Klassen
60
3.5 Arrays
73
3.6 Vordefinierte Klassen und Pakete
76
3.7 Zusammenfassung
78
3.8 Fragen und Antworten
78
3.9 Übungen
80
81
81
4.1 Die Axiomatik des Programmablaufs
81
4.2
4.2
82
82
4.3 Kontrollstrukturen
95
4.4 Fehlerbehandlung durch Exceptions
108
4.5 Zusammenfassung
114
4.6 Fragen und Antworten
115
4.7 Übungen
117
119
119
5.1 Vererbung
119
5.2 Methoden (Klassenfunktionen)
130
5.3 Variablen- und Methodensichtbarkeit
136
5.4 Innere Klassen
145
5.5 Mehrfachvererbung und Schnittstellen
146
5.6 Zusammenfassung
150
5.7 Fragen und Antworten
151
5.8 Übungen
153
155
155
6.1 Streams
155
6.2 Ausgaben auf den Bildschirm
156
6.3 Ausgabe in Dateien
163
6.4 Eingaben von Tastatur
165
6.5 Aus Dateien lesen
169
6.6
6.6
172
172
6.7 Rund um Strings
174
6.8 Zusammenfassung
183
6.9 Fragen und Antworten
183
6.10 Übungen
184
187
187
7.1 Zufallszahlen erzeugen
187
7.2 Zeit- und Datumsangaben
189
7.3 Zeichenfolgen zerlegen
193
7.4 Komplexe Datenstrukturen (Collections)
194
7.5 Algorithmen
207
7.6 Zusammenfassung
209
7.7 Fragen und Antworten
209
7.8 Übungen
210
211
211
8.1 Der GUI-Reiseführer
212
8.2 Aufbau einer GUI-Anwendung
213
8.3 Das Ereignis-Modell des AWT
219
8.3.1 java.awt.event importieren
222
8.3.2 Ereignislauscher definieren
223
8.3.3 Lauscher für Quelle registrieren
225
8.3.4 Adapter
226
8.3.5 Einige abschließende Anmerkungen
227
8.4 Chamäleon sein mit UIManager und Look&Feel
230
8.5 Ein umfangreicheres Beispiel
232
8.6 Zusammenfassung
233
8.7 Fragen und Antworten
233
8.8 Übungen
235
237
237
9.1 Das Arbeitsmaterial des Künstlers
237
9.2 Erweitertes Layout mit Panel-Containern
248
9.3 Kreise, Rechtecke und Scheiben
251
9.4 Freihandlinien
256
9.5 Noch mehr Grafik mit Java2D
261
9.6 Zusammenfassung
266
9.7 Fragen und Antworten
267
9.8 Übungen
267
10
10
269
269
10.1 Der Bildbetrachter
269
10.2 Dateien öffnen und speichern: die Klasse JFileChooser
275
10.3 Laden und Anzeigen von Bildern
277
10.4 Zusammenfassung
282
10.5 Fragen und Antworten
282
10.6 Übungen
282
11
11
283
283
11.1 Ein Texteditor
283
11.2 Umgang mit Text: JTextField, JTextArea und JTextPane
284
11.3 Kombinationsfelder
292
11.4 Eigene Dialoge
295
11.5 Nach Textstellen suchen
300
11.6 Unterstützung der Zwischenablage
303
11.7 Drucken
306
11.8 Zusammenfassung
308
11.9 Fragen und Antworten
308
11.10 Übungen
309
12
12
311
311
12.1 Die Komponentenhierarchie
312
12.2 Die Basisklasse Component
312
12.3 Statische Textfelder (JLabel)
314
12.4 Schaltflächen (JButton)
316
12.5 Eingabefelder (JTextField und JTextArea)
318
12.6 Optionen (JCheckBox, JRadioButton)
321
12.7 Listen- und Kombinationsfelder (JList und JComboBox)
324
12.8 Bildlaufleisten (JScrollBar)
327
12.9 Menüleisten (JMenubar)
328
12.10 Zusammenfassung
331
12.11 Fragen und Antworten
332
12.12 Übungen
333
337
337
13.1 Multithreading mit Java
337
13.2 Eigene Threads erzeugen: die Klasse Thread
341
13.3 Eigene Threads erzeugen: die Runnable-Schnittstelle
345
13.4 Wissenswertes rund um Threads
347
13.5 Threads und Animation I
350
13.6 Threads und Animation II
355
13.6.1 SwingWorker
356
13.7 Zusammenfassung
361
13.8 Fragen und Antworten
361
13.9 Übungen
362
14
14
363
363
14.1 Was ist eine URL?
363
14.2 Sounddateien abspielen
365
14.3 Wiedergabe von MP3
366
14.4 Tonerzeugung mit MIDI
367
14.4.1 Abspielen einer MIDI-Datei
367
14.4.2 Selber Musik machen
368
14.5 Zusammenfassung
370
14.6 Fragen und Antworten
371
14.7 Übungen
371
15
15
373
373
15.1 Datenbanken-ABC
374
15.2 Die JDBC-Schnittstelle
376
15.3 Vorbereitung für JavaDB
377
15.4 Zugriff auf eine Datenbank
377
15.4.1 Verbindungsaufbau
377
15.4.2 Lese- und Schreiboperationen durchführen
379
15.4.3 Verbindung schließen
381
15.5 Zusammenfassung
385
15.6 Fragen und Antworten
385
15.7 Übungen
386
16
16
387
387
16.1 Aufzählungen (enum)
387
16.1.1 Definition
388
16.1.2 Variablen definieren
388
16.1.3 Aufzählungskonstanten vergleichen
388
16.1.4 Aufzählungen und switch
389
16.1.5 Aufzählungen und for
390
16.2 Lambda-Ausdrücke
391
16.3 Java Generics
392
16.3.1 Einleitung
392
16.3.2 Syntax
394
16.3.3 Eingeschränkte Platzhalter
395
16.3.4
16.3.4
396
396
16.4 Debuggen
397
16.4.1 Grundsätzliches Vorgehen
398
16.4.2 Der Debugger JDB
399
16.5 Anwendungen weitergeben
400
16.5.1 Ohne JRE geht es nicht
400
16.5.2 Java-Anwendungen ausführen:
16.5.2 Java-Anwendungen ausführen:
401
401
Anhang A: Lösungen
405
Anhang B: Installation des JDK
425
B.1 Installation
426
B.2 Anpassen des Systems
428
B.2.1 Erweiterung des Systempfads
428
B.2.2 Installation testen
431
B.2.3 Setzen des Klassenpfads
432
B.3 Die Java-Dokumentation
433
B.4 Wo Sie weitere Hilfe finden
434
Anhang C: Schlüsselwörter
435
Anhang D: Syntaxreferenz
437
D.1 Grundgerüste
437
D.2 Datentypen
438
D.3 Konstanten
439
D.4 Variablen
439
D.5 Operatoren
440
D.5.1 Arithmetische Operatoren
440
D.5.2 In- und Dekrement
441
D.5.3 Relationale Operatoren
442
D.5.4 Logische Operatoren
443
D.5.5 Bitweise Operatoren
443
D.5.6 Typumwandlung (Cast)
444
D.5.7 instanceof
444
D.5.8 Der Bedingungsoperator
444
D.5.9 Reihenfolge der Operatorenauswertung
445
D.6 Strings
447
D.7 Ablaufsteuerung
448
D.7.1 Einfache Verzweigung
448
D.7.2 if-else-Verzweigung
448
D.7.3 switch-Verzweigung
449
D.7.4 while-Schleifen
449
D.7.5 do-while-Schleifen
449
D.7.6 for-Schleife
449
D.7.7 Abbruchbefehle
450
D.8 Aufzählungen
450
D.9 Arrays
451
D.9.1 Einfache Arrays
451
D.9.2 Mehrdimensionale Arrays
453
D.10 Klassen
453
D.10.1 Definition
453
D.10.2 Felder
457
D.10.3 Methoden
457
D.10.4 Konstruktoren
459
D.10.5 Instanzbildung
460
D.11 Vererbung
460
D.12 Abstrakte Klassen
462
D.13 Schnittstellen
463
D.14 Lambda-Ausdrücke
464
D.15 Generika
465
D.15.1 Generische Klassen
465
D.15.2 Generische Schnittstellen
465
D.15.3 Generische Methoden
466
D.15.4 Eingeschränkte Platzhalter
466
D.15.5 Arrays von generischen Typen
467
D.15.6 Vererbung
467
D.16 Ausnahmebehandlung
468
D.16.1 Grundmodell
468
D.16.2 Fehlerbehandlung mit mehreren catch-Blöcken
468
D.16.3 Fehlerbehandlung mit finally-Block
468
D.16.4 Exceptions auslösen
469
D.17 Stilkonventionen für Bezeichner
469
Anhang E: Java-Klassenübersicht
471
E.1 java.io
471
E.2 java.lang
472
E.3 java.applet
472
E.4 java.awt
473
E.5 java.awt.event
474
E.6 java.awt.geom
475
E.7 java.net
475
E.8 java.sql
476
E.9 javax.sound.midi
476
E.10 javax.swing
477
E.11 java.util
478
Anhang F: Literatur und Adressen
479
F.1 Bücher
479
F.2 Zeitschriften
480
F.3 Ressourcen im Internet
481
Anhang G: Die DVD zum Buch
483
Index
485
© 2009-2024 ciando GmbH