• Keine Ergebnisse gefunden

Von den Grundlagen bis zu Threads und Netzen von Prof. Dr. Ernst-Wolfgang Dieterich Fachhochschule Ulm 2., überarbeitete Auflage

N/A
N/A
Protected

Academic year: 2022

Aktie "Von den Grundlagen bis zu Threads und Netzen von Prof. Dr. Ernst-Wolfgang Dieterich Fachhochschule Ulm 2., überarbeitete Auflage"

Copied!
6
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Von den Grundlagen bis zu Threads und Netzen von

Prof. Dr. Ernst-Wolfgang Dieterich Fachhochschule Ulm

2., überarbeitete Auflage

Oldenbourg Verlag München Wien

(2)

1 E i n l e i t u n g . • . . . . . 1 2 J a v a - E n t w i c k l u n g s u m g e b u n g . . . . . . . . . . . . 5 2 . 1 J D K v o n S u n M i c r o s y s t e m s . . . . 5 2 . 2 D a s W e r k z e u g j a v a d b c . . ; . . 6 3 . E r s t e E i n d r ü c k e v o n J a v a 1 1 3.1 E i n e J a v a - A n w e n d u n g 1 1 3.2 E i n G r a f i k p r o g r a m m . . . . . . . . . • , . . . . . 1 3 3.3 E i n J a v a - A p p l e t 1 4 Teil I. Grundlagen 17 4 Primitive Datentypen und Variablen 19 4.1 GanzeZahlen 19 , 4 . 2 ReelleZahlen . . . \. 22

; . 4.3 Wahrheitswerte . . . . - , . ' 2 4 4.4 Zeichen und Zeichenreihen 24 4.5 Eine einfache Klasse. - 27 4.6 Variablen und Variablendeklarationen. . 27 4.7 Benannte Konstanten . . 31 5 Ausdrücke . 3 3 5.1 Die Priorität von Operatoren . . . . . . 33 5.2 Interne Typkonvertierung , . . . 35 5.3 Arithmetische Operatoren . . . . . . . , . . . 36 5.4 Bitoperatoren 38 5.4.1 Die Schiebeoperatoren. 38 5.4.2 Die logischen und bitweisen Operatoren . . 40 5.5 Vergleiche 45 5.6 Der bedingte Ausdruck . . 46 5.7 Explizite Typkonvertierung , . . . 46 5.8 Die Zuweisung 49 5.9 Konstantenausdrücke ., . . . . . . 52 5.10 Zusammenfassung . . . . -. 53 6 Anweisungen 59 6.1 Ausdrucksanweisung und Block . , .., . . . 60 6.2 Die bedingte Anweisung 62

(3)

Inhaltsverzeichnis

6.3 Die Fallunterscheidung 64 6.4 Schleifen 68 6.4.1 Die while-Schleife 68 6.4.2 Die do-while-Schleife '.. . . . . . 69 6.4.3 Die f or-Schleife 70 6.5 Strukturierte Sprunganweisungen . 73

Teil I I . O b j e k t o r i e n t i e r t e s P r o g r a m m i e r e n i n J a v a . 7 7 7 K l a s s e n u n d O b j e k t e 7 9 7.1 D i e B e g r i f f e K l a s s e u n d O b j e k t . . . 79 7.2 D e f i n i t i o n v o n K l a s s e n . . . . ; . . . 8 0 7.2.1 A t t r i b u t e 8 1 7.2.2 M e t h o d e n . 82 7.3 O b j e k t v a r i a b l e n u n d O b j e k t e 8 5 7.3.1 E r z e u g u n g e i n e s O b j e k t s 8 5 7.3.2 Z u g r i f f a u f A t t r i b u t e u n d M e t h o d e n 8 7 7.4 K o n s t r u k t o r ' . . . 9 2 ' 7 . 5 E i n e e i n f a c h e J a v a - K l a s s e , d i e K l a s s e P u n k t . . . . . " . . . 9 4 7 . 6 Ü b e r l a d e n v o n M e t h o d e n . . . . . : . . . 9 5 -7.7 P a r a m e t e r ü b e r g a b e - M e c h a n i s m e n . 101 7.8 D a s S c h l ü s s e l w o r t t h i s 105 7.9 K l a s s e n - u n d I n s t a n z e n a t t r i b u t e . 108 7.1 K l a s s e n m e t h o d e n '- ;-• 110 7.11 S t a t i s c h e I n i t i a l i s i e r e r . . . : . . . . . •; . . . 112 7 . 1 2 F i n a n z i e r u n g e i n e s O b j e k t s . . . ' . ' . ' . ' . . 1 1 3 8 P a c k a g e s . . • . . . • . . . . 1 1 5 8.1 D e f i n i t i o n v o n P a c k a g e s . . . '. . : . . . . ;. .' .1 . . 115 8.2 I m p o r t i e r e n v o n P a c k a g e s . . . . -:' . . . • • 1 1 6 8.3 D i e w i c h t i g s t e n S t a n d a r d - P a c k a g e s v o n J a v a . . . / 1 1 9 9 V e r e r b u n g . 121 9.1 K o m p o s i t i o n v o n K l a s s e n ("hat e i n " ) . . . . 121 9.2 E r w e i t e r n e i n e r K l a s s e ("ist e i n " ) . . . . i . . . 1 2 3 9.3 D a s S c h l ü s s e l w o r t s u p e r . . . . . . . . . . 1 2 5 9.4 Z u w e i s u n g s k o m p a t i b i l i t ä t . . . 1 2 6 9.5 A b s t r a k t e K l a s s e n . . . . . . . . . . . . . 128 9.6 Z u g r i f f s r e c h t e . . . . : . . . ' . . . ' 1 3 0 9.6.1 D e r M o d i f i z i e r e r p u b l i c .. . . '. ! . . . 130 9.6.2 D e r M o d i f i z i e r e r p r i v a t e . . . '. . . . .; ; . . : . . . . 1 3 1 9 . 6 . 3 K e i n M o d i f i z i e r e r . . . . : . . 1 3 2 9 . 6 . 4 D e r M o d i f i z i e r e r p r o t e c t e d . .'. . . . . . 1 3 2 9.6.5 Z u s a m m e n f a s s u n g . . . ' . 1 3 2

VI

(4)

9.7 Der Modifizierer f i n a l ..:•. •'..:. . . . . 133 ' 9.8 Interface . . . ' 133 10 Strings und Felder . 139 10.1 Die Klassen St r i n g 139 10.2 Die Klasse S t r i n g B u f f e r . . . 146 10.3. Felder . 151 10.3.1 Eindimensionale Felder 152 10.3.2 Kommandozeilen-Parameter 156 10.3.3 Rechteckige mehrdimensionale Felder 157 10.3.4 Nichtrrechteckige mehrdimensionale Felder 158 10.4 Die Klasse V e c t o r 160 11 Wichtige Java-Klassen 171 11.1 Wrapper-Klassen 171 11.2 Klassen für große Zahlen 181 11.3 Die Java-Klasse C l a s s 190 12 Ausnahmebehandlung 197 12.1 Einfache Ausnahmebehandlung 197 12.2! Hierarchie von Ausnahmeklassen . . . 200 12.2.1 Beispiel einer eigenen Ausnahmeklasse . . 200

"12.2.2 Die Hierarchie der Ausnahmeklassen in Java 202 '. 12.3 Der f i n a l l y - B l o c k 206 12.4 Das Prinzip der Ausnahmebehandlung .. . . 210 Teil III. A n w e n d u n g s p r o g r a m m e in J a v a 213 13 Grundlagen der Grafikprogrammierung 215 13.1 Aufbau eines Grafikprogrammes 215 13.2 Eigenschaften eines Rahmens 220 13.3 Figuren und Farben , . . . 221 13.4 Texte und Schriften 230 14 Applets ... 237 14.1 Ein einfaches Applet und seine Umgebung . . . . 237 14.2 Initialisierung und Finalisierung. . . x. . . . 239 14.3 Parameterübergabe a n Applets . . . . . . 241 15 Grafische Benutzeroberflächen und Ereignisbehandlung . . . .... 245 15.1 Das Prinzip der GUI-Programmierung •• • • -; 245 . 1 5 . 2 Die Komponenten der GUI und ihre Ereignisse. . . . . 249 15.2.1 Schaltfläche ( J B u t t o n ) . . . ... - . . . ' . . 251 15.2.2 Markierungsfeld ( J C h e c k B o x und J R a d i o B u t t o n ) . 254 15.2.3 Combobox ( J C p m b o B o x ) . . . ; . . . . . . : • . . ... 258 15.2.4 Auswahllisten ( J L i s t ) . ,••;••:• •-• • • • 259

vu

(5)

Inhaltsverzeichnis

15.2.5 Texte (JLabel, J T e x t F i e l d , JTextArea.,

J S c r o l l P a n e ) 262 15.3 Layouts 267 15.3.1 BorderLayout 268 15.3.2 FlowLayout 269 15.3.3 GridLayout . 271 15.3.4 GridBagLayout 273 15.3.5 CardLayout 278 15.4 Menüs 282 15.5 Dialogfenster 288 15.5.1 Dialogfenster ( J D i a l o g ) . 2£8 15.5.2 Dateifenster ( F i l e D i a l o g und J F i l e C h o o s e r ) . . 291 15.6 Die Maus-Behandlung 298 16 Threads 303 16.1 Bedienung eines laufenden Programms 303 16.2 Das Interface R u n n a b l e 308 16.3 Ein Programm mit mehreren Threads . . . . . . . . 310 16.4 Kommunikation von Threads 314 16.5 Eigenschaften von Threads. . :. . . 318 16.5. l D i e wichtigsten Methoden für Threads 318 16.5.2 Die Zustandsübergänge von Threads . 320 16.6 Prioritäten von Threads : . . . 323 16.7 Thread-Gruppen 325 16.8 Dämonen i" 329 16.9 Deadlock 331 17 Ein-/Ausgabe 333 17.1 Ströme 333 17.2 Die Klassen von j a v a . i o 335 17.2.1 R e a d e r und W r i t e r .; .••> 335 17.2.2 I n p u t S t r e a m u n d O u t p u t s t r e a m . . . ' . ' : . • 3 3 6 17.3 K o p i e r e n v o n D a t e i e n . . . 3 3 8 17.4 D a t e i e n - d i e K l a s s e F i l e • . . . . . . ' . . ; • : . 3 4 2 17.5 E i n e L i s t e v o n D a t e i e n e i n l e s e n . . . . • . 3 5 4 17.6 A n a l y s e d e s D a t e i - I n h a l t s : . . *. . 3 5 6 1 7 . 7 F i l t e r . . . : . . . 3 5 9 17.7.1 F i l t e r für R e a d e r u n d W r i t e r . . . ! . . . ; 3 5 9 1 7 . 7 . 2 Filter für I n p u t S t r e a m und O u t p u t s t r e a m . . . . 364 17.8 Beliebiger Zugriff auf Dateien (Random-Access-Dateien) . . 368 17.9 Ein-/Ausgabe beliebiger Objekte . . . .' . . . 373 17.10 Datenaustausch zwischen Programmen: Pipes . . . . 381 18 Netzwerk 387

vin

(6)

18.1 Grundlagen der Netzwerk-Programmierung 387 18.2 Die Klasse URL 388 18.2.1 Aufbau einer URL 388 18.2.2 Verbindung mit einer URL 392 18.3 Sockets 393 18.4 Client und Server: Die Kommunikation über das Netz . . . . 395 18.5 Datagramme 402 18.6 Sicherheitskonzepte in Java 405 Teil IV. Anhänge 409 A Die Syntax von Java 411 A.l Erklärung zu den Syntaxdiagrammen 411 A.2 Die Syntaxdiagramme von Java 411 B Beispiele 415 C Das Package J a v a P a c k 421 C.l Die Klasse E i n l e s e n 421 C.2 Die Klasse A u s g e b e n 423 D Qüellenverzeichnis . . . 425 E Sachwortverzeichnis 427

ix

Referenzen

ÄHNLICHE DOKUMENTE

Rich- tig ist auch: Wenn ein Staat so wenig wie in Griechenland (aber nicht nur dort) fähig oder be- reit ist, seinen Steuergesetzen auch gegenüber den Vermögenden Geltung

Controlling als (Fundament für ein) integriertes Konzept ertrags- und.. Organisation und Implementierung

Durch Diagnostik und Beratung zu Hilfsmitteln der Unterstützten Kommunikation sowie adaptierten Spielen und Spielzeugen, Hilfsmitteln zur PC- und Tabletansteuerung, Lernsoftware

- Welche Management-by-Techniken werden sich ihrer Ansicht nach am besten für das Management sozialer Einrichtungen (z.B. Kindergarten) eignen. -

Da eine komplexe Zahl durch die Angabe zweier reeller Zahlen eindeutig festgelegt wird, lassen sich den komplexen Zahlen die Punkte der Ebene, d.h... nennt man

Sie bestätigten, was die Frauen selbst der Hormon-Propaganda immer wie- der entgegengehalten hatten: Es gibt einige Frauen, die wirklich stark leiden; es gibt viele Frauen,

Arbeitsunfällen 327 b) Voraussetzungen der Haftungsbeschränkung 327 c) Rechtsfolgen der Haftungsbeschränkung 329 3. Haftung des Arbeitnehmers 332 1. Haftung für Personenschäden 338

1.) c ist eine ganze Zahl n. Zwei komplexe Zahlen in Exponentialform sind genau dann gleich, wenn ihr Betrag gleich ist und ihre Phasen bis auf Vielfache von 2 π gleich sind.