Programmieren lernen: eine grundlegende Einführung mit Java
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Elektronisch E-Book |
Sprache: | German |
Veröffentlicht: |
Berlin
Springer
2007
|
Ausgabe: | 3. Aufl. |
Schriftenreihe: | eXamen.press
|
Schlagworte: | |
Online-Zugang: | BFB01 BHS01 BTU01 BTW01 FAB01 FAN01 FAW01 FCO01 FHA01 FHD01 FHI01 FHM01 FHN01 FHO01 FHR01 FKE01 FLA01 FRO01 FWS01 FWS02 HTW01 TUM01 UBG01 UBM01 UBT01 UBW01 UBY01 UER01 UPA01 Volltext Inhaltsverzeichnis |
Beschreibung: | 1 Online-Ressource |
ISBN: | 3540723633 9783540723639 9783540725527 |
DOI: | 10.1007/978-3-540-72552-7 |
Internformat
MARC
LEADER | 00000nmm a2200000 c 4500 | ||
---|---|---|---|
001 | BV022958881 | ||
003 | DE-604 | ||
005 | 20130626 | ||
007 | cr|uuu---uuuuu | ||
008 | 071112s2007 gw |||| o||u| ||||||ger d | ||
020 | |a 3540723633 |9 3-540-72363-3 | ||
020 | |a 9783540723639 |9 978-3-540-72363-9 | ||
020 | |a 9783540725527 |c Online |9 978-3-540-72552-7 | ||
024 | 7 | |a 10.1007/978-3-540-72552-7 |2 doi | |
035 | |a (OCoLC)315620334 | ||
035 | |a (DE-599)BVBBV022958881 | ||
040 | |a DE-604 |b ger |e rakddb | ||
041 | 0 | |a ger | |
044 | |a gw |c XA-DE-BE | ||
049 | |a DE-473 |a DE-703 |a DE-739 |a DE-706 |a DE-1046 |a DE-1102 |a DE-M347 |a DE-92 |a DE-29 |a DE-20 |a DE-1050 |a DE-573 |a DE-898 |a DE-863 |a DE-862 |a DE-Aug4 |a DE-860 |a DE-861 |a DE-19 |a DE-1043 |a DE-859 |a DE-858 |a DE-522 |a DE-523 |a DE-634 |a DE-1051 |a DE-526 |a DE-83 |a DE-B768 |a DE-91 |a DE-188 |a DE-11 | ||
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
084 | |a TEC 000 |2 stub | ||
084 | |a DAT 000 |2 stub | ||
084 | |a 004 |2 sdnb | ||
100 | 1 | |a Pepper, Peter |e Verfasser |0 (DE-588)11024012X |4 aut | |
245 | 1 | 0 | |a Programmieren lernen |b eine grundlegende Einführung mit Java |c Peter Pepper |
250 | |a 3. Aufl. | ||
264 | 1 | |a Berlin |b Springer |c 2007 | |
300 | |a 1 Online-Ressource | ||
336 | |b txt |2 rdacontent | ||
337 | |b c |2 rdamedia | ||
338 | |b cr |2 rdacarrier | ||
490 | 0 | |a eXamen.press | |
650 | 0 | 7 | |a Java 1.5 |0 (DE-588)4788594-4 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Java Standard Edition 6 |0 (DE-588)7554591-3 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Objektorientierte Programmierung |0 (DE-588)4233947-9 |2 gnd |9 rswk-swf |
655 | 7 | |8 1\p |0 (DE-588)4151278-9 |a Einführung |2 gnd-content | |
689 | 0 | 0 | |a Objektorientierte Programmierung |0 (DE-588)4233947-9 |D s |
689 | 0 | 1 | |a Java Standard Edition 6 |0 (DE-588)7554591-3 |D s |
689 | 0 | |5 DE-604 | |
689 | 1 | 0 | |a Objektorientierte Programmierung |0 (DE-588)4233947-9 |D s |
689 | 1 | 1 | |a Java 1.5 |0 (DE-588)4788594-4 |D s |
689 | 1 | |8 2\p |5 DE-604 | |
856 | 4 | 0 | |u https://doi.org/10.1007/978-3-540-72552-7 |x Verlag |3 Volltext |
856 | 4 | 2 | |m HBZ Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016163274&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
912 | |a ZDB-2-STI | ||
999 | |a oai:aleph.bib-bvb.de:BVB01-016163274 | ||
883 | 1 | |8 1\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk | |
883 | 1 | |8 2\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk | |
966 | e | |u https://doi.org/10.1007/978-3-540-72552-7 |l BFB01 |p ZDB-2-STI |x Verlag |3 Volltext | |
966 | e | |u https://doi.org/10.1007/978-3-540-72552-7 |l BHS01 |p ZDB-2-STI |x Verlag |3 Volltext | |
966 | e | |u https://doi.org/10.1007/978-3-540-72552-7 |l BTU01 |p ZDB-2-STI |x Verlag |3 Volltext | |
966 | e | |u https://doi.org/10.1007/978-3-540-72552-7 |l BTW01 |p ZDB-2-STI |x Verlag |3 Volltext | |
966 | e | |u https://doi.org/10.1007/978-3-540-72552-7 |l FAB01 |p ZDB-2-STI |x Verlag |3 Volltext | |
966 | e | |u https://doi.org/10.1007/978-3-540-72552-7 |l FAN01 |p ZDB-2-STI |x Verlag |3 Volltext | |
966 | e | |u https://doi.org/10.1007/978-3-540-72552-7 |l FAW01 |p ZDB-2-STI |x Verlag |3 Volltext | |
966 | e | |u https://doi.org/10.1007/978-3-540-72552-7 |l FCO01 |p ZDB-2-STI |x Verlag |3 Volltext | |
966 | e | |u https://doi.org/10.1007/978-3-540-72552-7 |l FHA01 |p ZDB-2-STI |x Verlag |3 Volltext | |
966 | e | |u https://doi.org/10.1007/978-3-540-72552-7 |l FHD01 |p ZDB-2-STI |x Verlag |3 Volltext | |
966 | e | |u https://doi.org/10.1007/978-3-540-72552-7 |l FHI01 |p ZDB-2-STI |x Verlag |3 Volltext | |
966 | e | |u https://doi.org/10.1007/978-3-540-72552-7 |l FHM01 |p ZDB-2-STI |x Verlag |3 Volltext | |
966 | e | |u https://doi.org/10.1007/978-3-540-72552-7 |l FHN01 |p ZDB-2-STI |x Verlag |3 Volltext | |
966 | e | |u https://doi.org/10.1007/978-3-540-72552-7 |l FHO01 |p ZDB-2-STI |x Verlag |3 Volltext | |
966 | e | |u https://doi.org/10.1007/978-3-540-72552-7 |l FHR01 |p ZDB-2-STI |x Verlag |3 Volltext | |
966 | e | |u https://doi.org/10.1007/978-3-540-72552-7 |l FKE01 |p ZDB-2-STI |x Verlag |3 Volltext | |
966 | e | |u https://doi.org/10.1007/978-3-540-72552-7 |l FLA01 |p ZDB-2-STI |x Verlag |3 Volltext | |
966 | e | |u https://doi.org/10.1007/978-3-540-72552-7 |l FRO01 |p ZDB-2-STI |x Verlag |3 Volltext | |
966 | e | |u https://doi.org/10.1007/978-3-540-72552-7 |l FWS01 |p ZDB-2-STI |x Verlag |3 Volltext | |
966 | e | |u https://doi.org/10.1007/978-3-540-72552-7 |l FWS02 |p ZDB-2-STI |x Verlag |3 Volltext | |
966 | e | |u https://doi.org/10.1007/978-3-540-72552-7 |l HTW01 |p ZDB-2-STI |x Verlag |3 Volltext | |
966 | e | |u https://doi.org/10.1007/978-3-540-72552-7 |l TUM01 |p ZDB-2-STI |x Verlag |3 Volltext | |
966 | e | |u https://doi.org/10.1007/978-3-540-72552-7 |l UBG01 |p ZDB-2-STI |x Verlag |3 Volltext | |
966 | e | |u https://doi.org/10.1007/978-3-540-72552-7 |l UBM01 |p ZDB-2-STI |x Verlag |3 Volltext | |
966 | e | |u https://doi.org/10.1007/978-3-540-72552-7 |l UBT01 |p ZDB-2-STI |x Verlag |3 Volltext | |
966 | e | |u https://doi.org/10.1007/978-3-540-72552-7 |l UBW01 |p ZDB-2-STI |x Verlag |3 Volltext | |
966 | e | |u https://doi.org/10.1007/978-3-540-72552-7 |l UBY01 |p ZDB-2-STI |x Verlag |3 Volltext | |
966 | e | |u https://doi.org/10.1007/978-3-540-72552-7 |l UER01 |p ZDB-2-STI |x Verlag |3 Volltext | |
966 | e | |u https://doi.org/10.1007/978-3-540-72552-7 |l UPA01 |p ZDB-2-STI |x Verlag |3 Volltext |
Datensatz im Suchindex
DE-BY-FWS_katkey | 297451 |
---|---|
_version_ | 1806177288896643072 |
adam_text | Inhaltsverzeichnis
Teil I Objektorientiertes Programmieren
1 Objekte und Klassen 3
1.1 Objekte 3
1.2 Beschreibung von Objekten: Klassen 6
1.3 Klassen und Konstruktormethoden 8
1.3.1 Beispiel: Punkte im R2 8
1.3.2 Klassen in JAVA 9
1.3.3 Konstruktor Methoden 10
1.4 Objekte als Attribute von Objekten 14
1.4.1 Beispiel: Linien im R2 14
1.4.2 Anonyme Objekte 16
1.5 Objekte in Reih und Glied: Arrays 16
1.5.1 Beispiel: Polygone im R2 17
1.5.2 Arrays: Eine erste Einführung 18
1.6 Zusammenfassung: Objekte und Klassen 21
2 Typen, Werte und Variablen 23
2.1 Die elementaren Datentypen von JAVA 24
2.1.1 Die Wahrheitswerte 25
2.1.2 Die ganzen Zahlen Z 26
2.1.3 Die Gleitpunktzahlen R 27
2.1.4 Ascii und Unicode 29
2.1.5 Strings 31
2.2 Typen und Klassen, Werte und Objekte 33
2.3 Die Benennung von Werten: Variablen 34
2.4 Konstanten: Das hohe Gut der Beständigkeit 36
2.5 Metamorphosen 37
2.5.1 Casting 37
2.5.2 Von Typen zu Klassen (und zurück) 39
2.6 Zusammenfassung 40
XII Inhaltsverzeichnis
3 Methoden 41
3.1 Methoden sind Prozeduren oder Funktionen 41
3.1.1 Funktionen 41
3.1.2 Prozeduren 43
3.1.3 Methoden und Klassen 44
3.1.4 Overloading (Überlagerung) 46
3.2 Lokale Variablen und Konstanten 47
3.2.1 Lokale Variablen 47
3.2.2 Lokale Konstanten 48
3.2.3 Parameter als verkappte lokale Variablen* 49
3.3 Beispiele: Punkte und Linien 50
3.3.1 Die Klasse Point 50
3.3.2 Die Klasse Line 54
3.3.3 Private Hilfsmethoden 55
3.3.4 Methoden mit variabler Parameterzahl* 56
3.3.5 Fazit: Methoden sind Funktionen oder Prozeduren 56
4 Programmieren in Java — Eine erste Einführung 59
4.1 Programme schreiben und ausführen 59
4.1.1 Der Programmierprozess 60
4.1.2 Die Hauptklasse und die Methode main 62
4.2 Ein Beispiel mit Physik 63
4.3 Bibliotheken (Packages) 66
4.3.1 Packages: Eine erste Einführung 67
4.3.2 Öffentlich, halböffentlich und privat 67
4.3.3 Standardpackages von JAVA 68
4.3.4 Die Java Klasse Math 68
4.3.5 Die Java Klasse System 70
4.3.6 Die Klassen Terminal und Console: Einfache
Ein /Ausgabe 71
4.3.7 Kleine Beispiele mit Grafik 73
4.3.8 Zeichnen in JAVA: Elementare Grundbegriffe 75
Teil II Ablaufkontrolle
5 Kontrollstrukturen 81
5.1 Ausdrücke 81
5.2 Elementare Anweisungen und Blöcke 82
5.3 Man muss sich auch entscheiden können 83
5.3.1 Die if Anweisung 84
5.3.2 Die switch Anweisung 85
5.4 Immer und immer wieder: Iteration 87
5.4.1 Die while Schleife 87
5.4.2 Die f or Schleife 90
Inhaltsverzeichnis XIII
5.4.3 Die break und continue Anweisung (und return) .... 91
5.5 Beispiele: Schleifen und Arrays 93
5.6 Die assert Anweisung 98
5.7 Zusammenfassung: Kontrollstrukturen 99
6 Rekursion 101
6.1 Rekursive Methoden 102
6.2 Funktioniert das wirklich? 104
Teil III Eine Sammlung von Algorithmen
7 Aspekte der Programmiermethodik 109
7.1 Man muss sein Tun auch erläutern: Dokumentation 109
7.1.1 Kommentare im Programm 110
7.1.2 Allgemeine Dokumentation 111
7.2 Zusicherungen (Assertions) 112
7.2.1 Die wichtigsten Regeln des Hoare Kalküls 115
7.2.2 Terminierung 117
7.3 Aufwand 120
7.4 Testen 124
7.5 Beispiel: Mittelwert und Standardabweichung 126
7.6 Beispiel: Fläche eines Polygons 127
7.7 Beispiel: Sieb des Eratosthenes 130
7.8 Beispiel Primzahltest: Zeuge der Verteidigung 132
7.8.1 Zur Motivation: Kryptographie mittels Primzahlen .... 132
7.8.2 Ein probabilistischer Primzahltest 134
7.9 Beispiel: Zinsrechnung 138
8 Suchen und Sortieren 143
8.1 Ordnung ist die halbe Suche 143
8.2 Wer sucht, der findet (oder auch nicht) 144
8.2.1 Lineares Suchen: Die British Museum Method 144
8.2.2 Suchen mit Bisektion 146
8.3 Wer sortiert, findet schneller 148
8.3.1 Selectionsort 151
8.3.2 Insertionsort 152
8.3.3 Quicksort 154
8.3.4 Mergesort 158
8.3.5 Heapsort 160
8.3.6 Mit Mogeln gehts schneller: Bucketsort 166
8.3.7 Verwandte Probleme 166
XIV Inhaltsverzeichnis
9 Numerische Algorithmen 169
9.1 Vektoren und Matrizen 169
9.2 Gleichungssysteme: Gauß Elimination 172
9.2.1 Lösung von Dreieckssystemen 175
9.2.2 LC/ Zerlegung 176
9.2.3 Pivot Elemente 178
9.2.4 Nachiteration 179
9.2.5 Testen mit Probe 180
9.3 Wurzelberechnung und Nullstellen von Funktionen 180
9.4 Differenzieren 183
9.5 Integrieren 186
9.6 Polynom Interpolation 189
9.6.1 Für Geizhälse: Speicherplatz sparen 194
9.6.2 Extrapolation 195
9.7 Spline Interpolation 198
9.8 Interpolation für Grafik (Spline, B Spline, Bezier) 205
9.8.1 Parametrische Splines 205
9.8.2 Bezier Splines 206
9.8.3 B Splines 207
9.9 Lösung einfacher Differenzialgleichungen 213
9.9.1 Einfache Einschrittverfahren 215
9.9.2 Runge Kutta Verfahren 216
9.9.3 Mehrschrittverfahren 217
9.9.4 Extrapolation 218
9.9.5 Schrittweitensteuerung 218
Teil IV Weitere Konzepte objektorientierter Programmierung
10 Vererbung 223
10.1 Vererbung = Subtyp? 223
10.2 Sub und Superklassen in JAVA 226
10.2.1 „Mutierte Vererbung und dynamische Bindung 227
10.2.2 Was bist du? 229
10.2.3 Ende der Vererbung: Object und final 230
10.2.4 Mit super zur Superklasse 232
10.2.5 Casting: Zurück zur Sub oder Superklasse 233
10.3 Abstrakte Klassen 234
11 Interfaces 237
11.1 Mehrfachvererbung und Interfaces 237
11.2 Anwendung: Suchen und Sortieren richtig gelöst 241
11.2.1 Das Interface Sortable 242
11.2.2 Die JAVA Interfaces Comparable und Comparator 244
11.3 Anwendung: Methoden höherer Ordnung 244
Inhaltsverzeichnis XV
11.3.1 Fun als Interface 245
11.3.2 Interpolation als Implementierung von Fun 246
11.3.3 Ein bisschen Eleganz: Methoden als Resultate 247
12 Generizität (Polymorphie) 251
12.1 Des einen Vergangenheit ist des anderen Zukunft 251
12.2 Die Idee der Polymorphie (Generizität) 252
12.3 Generische Klassen und Interfaces in JAVA 252
12.3.1 Beschränkte Typparameter 255
12.3.2 Vererbung und Generizität 256
12.4 Generische Methoden in JAVA 259
13 Und dann war da noch 261
13.1 Einer für alle: static 261
13.1.1 Statischer Import 264
13.1.2 Initialisierung 264
13.2 Innere und lokale Klassen 265
13.3 Anonyme Klassen 267
13.4 Enumerationstypen in JAVA 5 268
14 Namen, Scopes und Packages 269
14.1 Das Prinzip der (Un )Sichtbarkeit 269
14.2 Gültigkeitsbereich (Scope) 270
14.2.1 Klassen als Gültigkeitsbereich 271
14.2.2 Methoden als Gültigkeitsbereich 272
14.2.3 Blöcke als Gültigkeitsbereich 272
14.2.4 Verschattung (holes in the scope) 273
14.2.5 Überlagerung 274
14.3 Packages: Scopes „im Großen 274
14.3.1 Volle Klassennamen 276
14.3.2 Import 276
14.4 Geheimniskrämerei 277
14.4.1 Geschlossene Gesellschaft: Package 277
14.4.2 Herstellen von Öffentlichkeit: public 277
14.4.3 Maximale Verschlossenheit: private 278
14.4.4 Vertrauen zu Subklassen: protected 279
14.4.5 Zusammenfassung 279
Teil V Datenstrukturen
15 Hashtabeilen 283
15.1 Von Arrays zu Hashtabellen 283
XVI Inhaltsverzeichnis
15.2 Zum Design von Hashfunktionen 285
15.2.1 Hashfunktionen 286
15.2.2 Kollisionsauflösung 287
15.2.3 Aufwand 289
15.3 Hashing in JAVA 291
15.3.1 Die Klassen Hashtable, HashMap und HashSet 291
15.3.2 Die Methode hashCode der Klasse Object 292
15.4 Weitere Anwendungen von Hashverfahren 293
16 Referenzen 295
16.1 Nichts währt ewig: Lebensdauern 295
16.2 Referenzen: „Ich weiß, wo mans findet 297
16.3 Referenzen in JAVA 298
16.3.1 Zur Funktionsweise von Referenzen 298
16.3.2 Referenzen und Methodenaufrufe 301
16.3.3 Wer bin ich?: this 303
16.4 Gleichheit und Kopien 303
16.5 Die Wahrheit über Arrays 305
16.6 Abfallbeseitigung (Garbage collection) 306
17 Listen 309
17.1 Listen als verkettete Objekte 309
17.1.1 Listenzellen 310
17.1.2 Elementares Arbeiten mit Listen 312
17.1.3 Traversieren von Listen 313
17.1.4 Generische Listen 315
17.1.5 Zirkuläre Listen 316
17.1.6 Doppelt verkettete Listen 317
17.1.7 Eine methodische Schwäche und ihre Gefahren 318
17.2 Listen als Abstrakter Datentyp (LinkedList) 319
17.3 Listenartige Strukturen in JAVA 322
17.3.1 Collection 324
17.3.2 List 325
17.3.3 Set 326
17.3.4 LinkedList, ArrayList und Vector 326
17.3.5 Stack 327
17.3.6 Queue („Warteschlange ) 328
17.3.7 Priority Queues: Vordrängeln ist erlaubt 329
17.4 Einer nach dem andern: Iteratoren 329
17.4.1 Implementierung 331
17.4.2 Neue f or Schleife in JAVA 5 und das Interface Iterable 332
Inhaltsverzeichnis XVII
18 Bäume 333
18.1 Bäume: Grundbegriffe 333
18.2 Implementierung durch Verkettung 335
18.2.1 Binärbäume 335
18.2.2 Allgemeine Bäume 337
18.2.3 Binärbäume als Abstrakter Datentyp 338
18.3 Traversieren von Bäumen: Baum Iteratoren 340
18.4 Suchbäume (geordnete Bäume) 344
18.4.1 Suchbäume als Abstrakter Datentyp: SearchTree 346
18.4.2 Implementierung von Suchbäumen 348
18.5 Balancierte Suchbäume 353
18.5.1 2 3 Bäume und 2 3 4 Bäume 354
18.5.2 Rot Schwarz Bäume 356
18.6 Baumdarstellung von Sprachen (Syntaxbäume) 363
19 Graphen 369
19.1 Beispiele für Graphen 369
19.2 Grundbegriffe 371
19.3 Eine abstrakte Sicht auf Graphen 372
19.4 Adjazenzlisten und Adjazenzmatrizen 376
19.5 Traversierung von Graphen 379
19.5.1 Entwurfsmuster für Graphtraversierung 379
19.5.2 Tiefen und Breitensuche 382
19.5.3 Eine genuin objektorientierte Sicht von
Graphtraversierung 383
19.6 Anwendungen der Graphtraversierung 385
19.6.1 Erreichbarkeit (von einem Knoten aus) 385
19.6.2 Variation: Aufspannender Baum 386
19.6.3 Variation: Kürzeste Wege (von einem Knoten aus) 387
19.6.4 Transitive Hülle 392
19.7 Relationen Probleme als Graphprobleme 395
19.7.1 Topologisches Sortieren 395
19.7.2 Strenge Zusammenhangskomponenten 398
19.8 Weitere Graphalgorithmen 402
Teil VI Programmierung von Software Systemen
20 Keine Regel ohne Ausnahmen: Exceptions 407
20.1 Manchmal gehts eben schief 407
20.2 Exceptions 409
20.3 Man versuchts halt mal: try und catch 411
20.4 Exceptions verkünden: throw 413
20.5 Methoden mit Exceptions: throws 414
XVIII Inhaltsverzeichnis
21 Ein und Ausgabe 417
21.1 Ohne Verwaltung geht gar nichts 418
21.1.1 Pfade und Dateinamen in Windows und Unix 419
21.1.2 File: Die Klasse zur Dateiverwaltung 420
21.1.3 Programmieren der Dateiverwaltung 422
21.2 Was man Lesen und Schreiben kann 423
21.3 Dateien mit Direktzugriff („Externe Arrays ) 426
21.4 Sequenzielle Dateien („Externe Listen , Ströme) 428
21.4.1 Die abstrakte Superklasse InputStream 429
21.4.2 Die konkreten Klassen für Eingabeströme 429
21.4.3 Ausgabeströme 431
21.4.4 Das Ganze nochmals mit Unicode: Reader und Writer. . 432
21.5 Programmieren mit Dateien und Strömen 433
21.6 Terminal Ein /Ausgabe 435
21.7 ... und noch ganz viel Spezielles 438
21.7.1 Serialisierung 438
21.7.2 Interne Kommunikation über Pipes 439
21.7.3 Konkatenation von Strömen: SequencelnputStream . . . 440
21.7.4 Simulierte Ein /Ausgabe 440
22 Konkurrenz belebt das Geschäft: Threads 441
22.1 Threads: Leichtgewichtige Prozesse 441
22.2 Die Klasse Thread 445
22.2.1 Entstehen Arbeiten Sterben 446
22.2.2 Schlafe nur ein Weilchen ... (sleep) 447
22.2.3 Jetzt ist mal ein anderer dran ... (yield) 448
22.2.4 Ich warte auf dein Ende ... (join) 448
22.2.5 Unterbrich mich nicht! (interrupt) 450
22.2.6 Ich bin wichtiger als du! (Prioritäten) 451
22.3 Synchronisation und Kommunikation 452
22.3.1 Vorsicht, es klemmt! 454
22.3.2 Warten Sie, bis Sie aufgerufen werden! (wait, notif y) . 455
22.4 Das Interface Runnable 458
22.5 Ist das genug? 459
22.5.1 Gemeinsam sind wir stark (Thread Gruppen) 459
22.5.2 Dämonen sterben heimlich 460
22.5.3 Zu langsam für die reale Zeit? 460
22.5.4 Vorsicht, veraltet! 461
22.5.5 Neues in Java 5 461
23 Das ist alles so schön bunt hier: Grafik in JAVA 463
23.1 Historische Vorbemerkung 463
23.1.1 Awt und Swing (und andere) 464
23.1.2 Entwicklungsumgebungen 465
23.2 Grundlegende Konzepte von GUIs 466
Inhaltsverzeichnis XIX
24 GUI: Layout 469
24.1 Die Superklassen: Component und JComponent 471
24.2 Elementare GUI Elemente 472
24.2.1 Beschriftungen: Label/JLabel 473
24.2.2 Zum Anklicken: Button/JButton 473
24.2.3 Editierbarer Text: TextField/JTextField 475
24.3 Behälter: Container 478
24.3.1 Das Hauptfenster: Frame/JFrame 479
24.3.2 Lokale Container: Panel/JPanel 483
24.3.3 GUIs entwerfen 483
24.3.4 Layout Manager 484
24.3.5 Verwendung des statischen Imports von Java 5 490
24.3.6 Mehr über Farben: Color 491
24.3.7 Fenster Geometrie: Point und Dimension 492
24.3.8 Größenbestimmung von Fenstern 493
24.4 Selbst Zeichnen 495
24.4.1 Die Methode paint 497
24.4.2 Die Methode paintComponent 498
24.4.3 Wenn man nur zeichnen will 498
24.4.4 Zeichnen mit Graphics und Graphics2D 499
25 Hallo Programm! Hallo GUI! 501
25.1 Auf GUIs ein und ausgeben 501
25.2 Von Ereignissen getrieben 502
25.3 Immerzu lauschen 504
25.3.1 Beispiel: Eingabe im Displayfeld 504
25.3.2 Arbeiten mit Buttons 506
25.3.3 Listener Arten 508
26 Beispiel: Taschenrechner 511
26.1 Taschenrechner: Die globale Struktur 512
26.2 Taschenrechner: Model 513
26.3 Taschenrechner: View 516
26.4 Taschenrechner: Control 523
26.5 Fazit 526
Teil VII Ausblick
27 Es gäbe noch viel zu tun 529
27.1 Java und Netzwerke: Von Sockets bis Jini 529
27.1.1 Die OSI Hierarchie 530
27.1.2 Sockets 533
27.1.3 Wenn die Methoden weit weg sind: RMI 533
27.1.4 Wie komme ich ins Netz? (Jini) 535
XX Inhaltsverzeichnis
27.2 Java und das Web 535
27.2.1 Applets 535
27.2.2 Servlets (Server Applets) 539
27.2.3 JSP: JavaServer Pages 540
27.2.4 Java und XML 540
27.2.5 Java und Email 541
27.3 Sicher ist sicher: Java Security 541
27.3.1 Sandbox und Security Manager 542
27.3.2 Verschlüsselung und Signaturen 543
27.4 Reflection und Introspection 543
27.5 Java Komponenten Technologie: Beans 544
27.6 Java und Datenbanken: JDBC 547
27.7 Direktzugang zum Rechner: Von JNI bis Realzeit 547
27.7.1 Die Java Virtual Machine (JVM) 547
27.7.2 Das Java Native Interface (JNI) 548
27.7.3 Externe Prozesse starten 549
27.7.4 Java und Realzeit 549
A Anhang: Praktische Hinweise 551
A.l Java beschaffen 551
A.2 Java installieren 552
A.3 Java Programme übersetzen (javac) 553
A.3.1 Verwendung von zusätzlichen Directorys 554
A.3.2 Verwendung des Classpath 555
A.3.3 Konflikte zwischen Java 1.4 und Java 5/Java 6 556
A.4 Java Programme ausführen (java und javaw) 556
A.5 Directorys, Classpath und Packages 558
A.6 Java Archive verwenden (jar) 559
A.7 Dokumentation generieren mit javadoc 561
A.8 Weitere Werkzeuge 563
A.9 Die Klassen Terminal und Pad dieses Buches 563
A.10 Materialien zu diesem Buch 564
Literaturverzeichnis 565
Sachverzeichnis 569
Hinweis: Eine Errata Liste und weitere Hinweise zu diesem Buch sind über die
Web Adresse http: //www. uebb. es . tu berlin. de/books/j avazu erreichen.
Näheres findet sich im Anhang.
|
adam_txt |
Inhaltsverzeichnis
Teil I Objektorientiertes Programmieren
1 Objekte und Klassen 3
1.1 Objekte 3
1.2 Beschreibung von Objekten: Klassen 6
1.3 Klassen und Konstruktormethoden 8
1.3.1 Beispiel: Punkte im R2 8
1.3.2 Klassen in JAVA 9
1.3.3 Konstruktor Methoden 10
1.4 Objekte als Attribute von Objekten 14
1.4.1 Beispiel: Linien im R2 14
1.4.2 Anonyme Objekte 16
1.5 Objekte in Reih und Glied: Arrays 16
1.5.1 Beispiel: Polygone im R2 17
1.5.2 Arrays: Eine erste Einführung 18
1.6 Zusammenfassung: Objekte und Klassen 21
2 Typen, Werte und Variablen 23
2.1 Die elementaren Datentypen von JAVA 24
2.1.1 Die Wahrheitswerte 25
2.1.2 Die ganzen Zahlen Z 26
2.1.3 Die Gleitpunktzahlen R 27
2.1.4 Ascii und Unicode 29
2.1.5 Strings 31
2.2 Typen und Klassen, Werte und Objekte 33
2.3 Die Benennung von Werten: Variablen 34
2.4 Konstanten: Das hohe Gut der Beständigkeit 36
2.5 Metamorphosen 37
2.5.1 Casting 37
2.5.2 Von Typen zu Klassen (und zurück) 39
2.6 Zusammenfassung 40
XII Inhaltsverzeichnis
3 Methoden 41
3.1 Methoden sind Prozeduren oder Funktionen 41
3.1.1 Funktionen 41
3.1.2 Prozeduren 43
3.1.3 Methoden und Klassen 44
3.1.4 Overloading (Überlagerung) 46
3.2 Lokale Variablen und Konstanten 47
3.2.1 Lokale Variablen 47
3.2.2 Lokale Konstanten 48
3.2.3 Parameter als verkappte lokale Variablen* 49
3.3 Beispiele: Punkte und Linien 50
3.3.1 Die Klasse Point 50
3.3.2 Die Klasse Line 54
3.3.3 Private Hilfsmethoden 55
3.3.4 Methoden mit variabler Parameterzahl* 56
3.3.5 Fazit: Methoden sind Funktionen oder Prozeduren 56
4 Programmieren in Java — Eine erste Einführung 59
4.1 Programme schreiben und ausführen 59
4.1.1 Der Programmierprozess 60
4.1.2 Die Hauptklasse und die Methode main 62
4.2 Ein Beispiel mit Physik 63
4.3 Bibliotheken (Packages) 66
4.3.1 Packages: Eine erste Einführung 67
4.3.2 Öffentlich, halböffentlich und privat 67
4.3.3 Standardpackages von JAVA 68
4.3.4 Die Java Klasse Math 68
4.3.5 Die Java Klasse System 70
4.3.6 Die Klassen Terminal und Console: Einfache
Ein /Ausgabe 71
4.3.7 Kleine Beispiele mit Grafik 73
4.3.8 Zeichnen in JAVA: Elementare Grundbegriffe 75
Teil II Ablaufkontrolle
5 Kontrollstrukturen 81
5.1 Ausdrücke 81
5.2 Elementare Anweisungen und Blöcke 82
5.3 Man muss sich auch entscheiden können 83
5.3.1 Die if Anweisung 84
5.3.2 Die switch Anweisung 85
5.4 Immer und immer wieder: Iteration 87
5.4.1 Die while Schleife 87
5.4.2 Die f or Schleife 90
Inhaltsverzeichnis XIII
5.4.3 Die break und continue Anweisung (und return) . 91
5.5 Beispiele: Schleifen und Arrays 93
5.6 Die assert Anweisung 98
5.7 Zusammenfassung: Kontrollstrukturen 99
6 Rekursion 101
6.1 Rekursive Methoden 102
6.2 Funktioniert das wirklich? 104
Teil III Eine Sammlung von Algorithmen
7 Aspekte der Programmiermethodik 109
7.1 Man muss sein Tun auch erläutern: Dokumentation 109
7.1.1 Kommentare im Programm 110
7.1.2 Allgemeine Dokumentation 111
7.2 Zusicherungen (Assertions) 112
7.2.1 Die wichtigsten Regeln des Hoare Kalküls 115
7.2.2 Terminierung 117
7.3 Aufwand 120
7.4 Testen 124
7.5 Beispiel: Mittelwert und Standardabweichung 126
7.6 Beispiel: Fläche eines Polygons 127
7.7 Beispiel: Sieb des Eratosthenes 130
7.8 Beispiel Primzahltest: Zeuge der Verteidigung 132
7.8.1 Zur Motivation: Kryptographie mittels Primzahlen . 132
7.8.2 Ein probabilistischer Primzahltest 134
7.9 Beispiel: Zinsrechnung 138
8 Suchen und Sortieren 143
8.1 Ordnung ist die halbe Suche 143
8.2 Wer sucht, der findet (oder auch nicht) 144
8.2.1 Lineares Suchen: Die British Museum Method 144
8.2.2 Suchen mit Bisektion 146
8.3 Wer sortiert, findet schneller 148
8.3.1 Selectionsort 151
8.3.2 Insertionsort 152
8.3.3 Quicksort 154
8.3.4 Mergesort 158
8.3.5 Heapsort 160
8.3.6 Mit Mogeln gehts schneller: Bucketsort 166
8.3.7 Verwandte Probleme 166
XIV Inhaltsverzeichnis
9 Numerische Algorithmen 169
9.1 Vektoren und Matrizen 169
9.2 Gleichungssysteme: Gauß Elimination 172
9.2.1 Lösung von Dreieckssystemen 175
9.2.2 LC/ Zerlegung 176
9.2.3 Pivot Elemente 178
9.2.4 Nachiteration 179
9.2.5 Testen mit Probe 180
9.3 Wurzelberechnung und Nullstellen von Funktionen 180
9.4 Differenzieren 183
9.5 Integrieren 186
9.6 Polynom Interpolation 189
9.6.1 Für Geizhälse: Speicherplatz sparen 194
9.6.2 Extrapolation 195
9.7 Spline Interpolation 198
9.8 Interpolation für Grafik (Spline, B Spline, Bezier) 205
9.8.1 Parametrische Splines 205
9.8.2 Bezier Splines 206
9.8.3 B Splines 207
9.9 Lösung einfacher Differenzialgleichungen 213
9.9.1 Einfache Einschrittverfahren 215
9.9.2 Runge Kutta Verfahren 216
9.9.3 Mehrschrittverfahren 217
9.9.4 Extrapolation 218
9.9.5 Schrittweitensteuerung 218
Teil IV Weitere Konzepte objektorientierter Programmierung
10 Vererbung 223
10.1 Vererbung = Subtyp? 223
10.2 Sub und Superklassen in JAVA 226
10.2.1 „Mutierte" Vererbung und dynamische Bindung 227
10.2.2 Was bist du? 229
10.2.3 Ende der Vererbung: Object und final 230
10.2.4 Mit super zur Superklasse 232
10.2.5 Casting: Zurück zur Sub oder Superklasse 233
10.3 Abstrakte Klassen 234
11 Interfaces 237
11.1 Mehrfachvererbung und Interfaces 237
11.2 Anwendung: Suchen und Sortieren richtig gelöst 241
11.2.1 Das Interface Sortable 242
11.2.2 Die JAVA Interfaces Comparable und Comparator 244
11.3 Anwendung: Methoden höherer Ordnung 244
Inhaltsverzeichnis XV
11.3.1 Fun als Interface 245
11.3.2 Interpolation als Implementierung von Fun 246
11.3.3 Ein bisschen Eleganz: Methoden als Resultate 247
12 Generizität (Polymorphie) 251
12.1 Des einen Vergangenheit ist des anderen Zukunft 251
12.2 Die Idee der Polymorphie (Generizität) 252
12.3 Generische Klassen und Interfaces in JAVA 252
12.3.1 Beschränkte Typparameter 255
12.3.2 Vererbung und Generizität 256
12.4 Generische Methoden in JAVA 259
13 Und dann war da noch 261
13.1 Einer für alle: static 261
13.1.1 Statischer Import 264
13.1.2 Initialisierung 264
13.2 Innere und lokale Klassen 265
13.3 Anonyme Klassen 267
13.4 Enumerationstypen in JAVA 5 268
14 Namen, Scopes und Packages 269
14.1 Das Prinzip der (Un )Sichtbarkeit 269
14.2 Gültigkeitsbereich (Scope) 270
14.2.1 Klassen als Gültigkeitsbereich 271
14.2.2 Methoden als Gültigkeitsbereich 272
14.2.3 Blöcke als Gültigkeitsbereich 272
14.2.4 Verschattung (holes in the scope) 273
14.2.5 Überlagerung 274
14.3 Packages: Scopes „im Großen" 274
14.3.1 Volle Klassennamen 276
14.3.2 Import 276
14.4 Geheimniskrämerei 277
14.4.1 Geschlossene Gesellschaft: Package 277
14.4.2 Herstellen von Öffentlichkeit: public 277
14.4.3 Maximale Verschlossenheit: private 278
14.4.4 Vertrauen zu Subklassen: protected 279
14.4.5 Zusammenfassung 279
Teil V Datenstrukturen
15 Hashtabeilen 283
15.1 Von Arrays zu Hashtabellen 283
XVI Inhaltsverzeichnis
15.2 Zum Design von Hashfunktionen 285
15.2.1 Hashfunktionen 286
15.2.2 Kollisionsauflösung 287
15.2.3 Aufwand 289
15.3 Hashing in JAVA 291
15.3.1 Die Klassen Hashtable, HashMap und HashSet 291
15.3.2 Die Methode hashCode der Klasse Object 292
15.4 Weitere Anwendungen von Hashverfahren 293
16 Referenzen 295
16.1 Nichts währt ewig: Lebensdauern 295
16.2 Referenzen: „Ich weiß, wo mans findet" 297
16.3 Referenzen in JAVA 298
16.3.1 Zur Funktionsweise von Referenzen 298
16.3.2 Referenzen und Methodenaufrufe 301
16.3.3 Wer bin ich?: this 303
16.4 Gleichheit und Kopien 303
16.5 Die Wahrheit über Arrays 305
16.6 Abfallbeseitigung (Garbage collection) 306
17 Listen 309
17.1 Listen als verkettete Objekte 309
17.1.1 Listenzellen 310
17.1.2 Elementares Arbeiten mit Listen 312
17.1.3 Traversieren von Listen 313
17.1.4 Generische Listen 315
17.1.5 Zirkuläre Listen 316
17.1.6 Doppelt verkettete Listen 317
17.1.7 Eine methodische Schwäche und ihre Gefahren 318
17.2 Listen als Abstrakter Datentyp (LinkedList) 319
17.3 Listenartige Strukturen in JAVA 322
17.3.1 Collection 324
17.3.2 List 325
17.3.3 Set 326
17.3.4 LinkedList, ArrayList und Vector 326
17.3.5 Stack 327
17.3.6 Queue („Warteschlange") 328
17.3.7 Priority Queues: Vordrängeln ist erlaubt 329
17.4 Einer nach dem andern: Iteratoren 329
17.4.1 Implementierung 331
17.4.2 Neue f or Schleife in JAVA 5 und das Interface Iterable 332
Inhaltsverzeichnis XVII
18 Bäume 333
18.1 Bäume: Grundbegriffe 333
18.2 Implementierung durch Verkettung 335
18.2.1 Binärbäume 335
18.2.2 Allgemeine Bäume 337
18.2.3 Binärbäume als Abstrakter Datentyp 338
18.3 Traversieren von Bäumen: Baum Iteratoren 340
18.4 Suchbäume (geordnete Bäume) 344
18.4.1 Suchbäume als Abstrakter Datentyp: SearchTree 346
18.4.2 Implementierung von Suchbäumen 348
18.5 Balancierte Suchbäume 353
18.5.1 2 3 Bäume und 2 3 4 Bäume 354
18.5.2 Rot Schwarz Bäume 356
18.6 Baumdarstellung von Sprachen (Syntaxbäume) 363
19 Graphen 369
19.1 Beispiele für Graphen 369
19.2 Grundbegriffe 371
19.3 Eine abstrakte Sicht auf Graphen 372
19.4 Adjazenzlisten und Adjazenzmatrizen 376
19.5 Traversierung von Graphen 379
19.5.1 Entwurfsmuster für Graphtraversierung 379
19.5.2 Tiefen und Breitensuche 382
19.5.3 Eine genuin objektorientierte Sicht von
Graphtraversierung 383
19.6 Anwendungen der Graphtraversierung 385
19.6.1 Erreichbarkeit (von einem Knoten aus) 385
19.6.2 Variation: Aufspannender Baum 386
19.6.3 Variation: Kürzeste Wege (von einem Knoten aus) 387
19.6.4 Transitive Hülle 392
19.7 Relationen Probleme als Graphprobleme 395
19.7.1 Topologisches Sortieren 395
19.7.2 Strenge Zusammenhangskomponenten 398
19.8 Weitere Graphalgorithmen 402
Teil VI Programmierung von Software Systemen
20 Keine Regel ohne Ausnahmen: Exceptions 407
20.1 Manchmal gehts eben schief 407
20.2 Exceptions 409
20.3 Man versuchts halt mal: try und catch 411
20.4 Exceptions verkünden: throw 413
20.5 Methoden mit Exceptions: throws 414
XVIII Inhaltsverzeichnis
21 Ein und Ausgabe 417
21.1 Ohne Verwaltung geht gar nichts 418
21.1.1 Pfade und Dateinamen in Windows und Unix 419
21.1.2 File: Die Klasse zur Dateiverwaltung 420
21.1.3 Programmieren der Dateiverwaltung 422
21.2 Was man Lesen und Schreiben kann 423
21.3 Dateien mit Direktzugriff („Externe Arrays") 426
21.4 Sequenzielle Dateien („Externe Listen", Ströme) 428
21.4.1 Die abstrakte Superklasse InputStream 429
21.4.2 Die konkreten Klassen für Eingabeströme 429
21.4.3 Ausgabeströme 431
21.4.4 Das Ganze nochmals mit Unicode: Reader und Writer. . 432
21.5 Programmieren mit Dateien und Strömen 433
21.6 Terminal Ein /Ausgabe 435
21.7 . und noch ganz viel Spezielles 438
21.7.1 Serialisierung 438
21.7.2 Interne Kommunikation über Pipes 439
21.7.3 Konkatenation von Strömen: SequencelnputStream . . . 440
21.7.4 Simulierte Ein /Ausgabe 440
22 Konkurrenz belebt das Geschäft: Threads 441
22.1 Threads: Leichtgewichtige Prozesse 441
22.2 Die Klasse Thread 445
22.2.1 Entstehen Arbeiten Sterben 446
22.2.2 Schlafe nur ein Weilchen . (sleep) 447
22.2.3 Jetzt ist mal ein anderer dran . (yield) 448
22.2.4 Ich warte auf dein Ende . (join) 448
22.2.5 Unterbrich mich nicht! (interrupt) 450
22.2.6 Ich bin wichtiger als du! (Prioritäten) 451
22.3 Synchronisation und Kommunikation 452
22.3.1 Vorsicht, es klemmt! 454
22.3.2 Warten Sie, bis Sie aufgerufen werden! (wait, notif y) . 455
22.4 Das Interface Runnable 458
22.5 Ist das genug? 459
22.5.1 Gemeinsam sind wir stark (Thread Gruppen) 459
22.5.2 Dämonen sterben heimlich 460
22.5.3 Zu langsam für die reale Zeit? 460
22.5.4 Vorsicht, veraltet! 461
22.5.5 Neues in Java 5 461
23 Das ist alles so schön bunt hier: Grafik in JAVA 463
23.1 Historische Vorbemerkung 463
23.1.1 Awt und Swing (und andere) 464
23.1.2 Entwicklungsumgebungen 465
23.2 Grundlegende Konzepte von GUIs 466
Inhaltsverzeichnis XIX
24 GUI: Layout 469
24.1 Die Superklassen: Component und JComponent 471
24.2 Elementare GUI Elemente 472
24.2.1 Beschriftungen: Label/JLabel 473
24.2.2 Zum Anklicken: Button/JButton 473
24.2.3 Editierbarer Text: TextField/JTextField 475
24.3 Behälter: Container 478
24.3.1 Das Hauptfenster: Frame/JFrame 479
24.3.2 Lokale Container: Panel/JPanel 483
24.3.3 GUIs entwerfen 483
24.3.4 Layout Manager 484
24.3.5 Verwendung des statischen Imports von Java 5 490
24.3.6 Mehr über Farben: Color 491
24.3.7 Fenster Geometrie: Point und Dimension 492
24.3.8 Größenbestimmung von Fenstern 493
24.4 Selbst Zeichnen 495
24.4.1 Die Methode paint 497
24.4.2 Die Methode paintComponent 498
24.4.3 Wenn man nur zeichnen will 498
24.4.4 Zeichnen mit Graphics und Graphics2D 499
25 Hallo Programm! Hallo GUI! 501
25.1 Auf GUIs ein und ausgeben 501
25.2 Von Ereignissen getrieben 502
25.3 Immerzu lauschen 504
25.3.1 Beispiel: Eingabe im Displayfeld 504
25.3.2 Arbeiten mit Buttons 506
25.3.3 Listener Arten 508
26 Beispiel: Taschenrechner 511
26.1 Taschenrechner: Die globale Struktur 512
26.2 Taschenrechner: Model 513
26.3 Taschenrechner: View 516
26.4 Taschenrechner: Control 523
26.5 Fazit 526
Teil VII Ausblick
27 Es gäbe noch viel zu tun 529
27.1 Java und Netzwerke: Von Sockets bis Jini 529
27.1.1 Die OSI Hierarchie 530
27.1.2 Sockets 533
27.1.3 Wenn die Methoden weit weg sind: RMI 533
27.1.4 Wie komme ich ins Netz? (Jini) 535
XX Inhaltsverzeichnis
27.2 Java und das Web 535
27.2.1 Applets 535
27.2.2 Servlets (Server Applets) 539
27.2.3 JSP: JavaServer Pages 540
27.2.4 Java und XML 540
27.2.5 Java und Email 541
27.3 Sicher ist sicher: Java Security 541
27.3.1 Sandbox und Security Manager 542
27.3.2 Verschlüsselung und Signaturen 543
27.4 Reflection und Introspection 543
27.5 Java Komponenten Technologie: Beans 544
27.6 Java und Datenbanken: JDBC 547
27.7 Direktzugang zum Rechner: Von JNI bis Realzeit 547
27.7.1 Die Java Virtual Machine (JVM) 547
27.7.2 Das Java Native Interface (JNI) 548
27.7.3 Externe Prozesse starten 549
27.7.4 Java und Realzeit 549
A Anhang: Praktische Hinweise 551
A.l Java beschaffen 551
A.2 Java installieren 552
A.3 Java Programme übersetzen (javac) 553
A.3.1 Verwendung von zusätzlichen Directorys 554
A.3.2 Verwendung des Classpath 555
A.3.3 Konflikte zwischen Java 1.4 und Java 5/Java 6 556
A.4 Java Programme ausführen (java und javaw) 556
A.5 Directorys, Classpath und Packages 558
A.6 Java Archive verwenden (jar) 559
A.7 Dokumentation generieren mit javadoc 561
A.8 Weitere Werkzeuge 563
A.9 Die Klassen Terminal und Pad dieses Buches 563
A.10 Materialien zu diesem Buch 564
Literaturverzeichnis 565
Sachverzeichnis 569
Hinweis: Eine Errata Liste und weitere Hinweise zu diesem Buch sind über die
Web Adresse http: //www. uebb. es . tu berlin. de/books/j avazu erreichen.
Näheres findet sich im Anhang. |
any_adam_object | 1 |
any_adam_object_boolean | 1 |
author | Pepper, Peter |
author_GND | (DE-588)11024012X |
author_facet | Pepper, Peter |
author_role | aut |
author_sort | Pepper, Peter |
author_variant | p p pp |
building | Verbundindex |
bvnumber | BV022958881 |
classification_rvk | ST 250 |
classification_tum | TEC 000 DAT 000 |
collection | ZDB-2-STI |
ctrlnum | (OCoLC)315620334 (DE-599)BVBBV022958881 |
discipline | Technik Technik Informatik |
discipline_str_mv | Technik Technik Informatik |
doi_str_mv | 10.1007/978-3-540-72552-7 |
edition | 3. Aufl. |
format | Electronic eBook |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>05189nmm a2200901 c 4500</leader><controlfield tag="001">BV022958881</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20130626 </controlfield><controlfield tag="007">cr|uuu---uuuuu</controlfield><controlfield tag="008">071112s2007 gw |||| o||u| ||||||ger d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">3540723633</subfield><subfield code="9">3-540-72363-3</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783540723639</subfield><subfield code="9">978-3-540-72363-9</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783540725527</subfield><subfield code="c">Online</subfield><subfield code="9">978-3-540-72552-7</subfield></datafield><datafield tag="024" ind1="7" ind2=" "><subfield code="a">10.1007/978-3-540-72552-7</subfield><subfield code="2">doi</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)315620334</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV022958881</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakddb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">ger</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">gw</subfield><subfield code="c">XA-DE-BE</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-473</subfield><subfield code="a">DE-703</subfield><subfield code="a">DE-739</subfield><subfield code="a">DE-706</subfield><subfield code="a">DE-1046</subfield><subfield code="a">DE-1102</subfield><subfield code="a">DE-M347</subfield><subfield code="a">DE-92</subfield><subfield code="a">DE-29</subfield><subfield code="a">DE-20</subfield><subfield code="a">DE-1050</subfield><subfield code="a">DE-573</subfield><subfield code="a">DE-898</subfield><subfield code="a">DE-863</subfield><subfield code="a">DE-862</subfield><subfield code="a">DE-Aug4</subfield><subfield code="a">DE-860</subfield><subfield code="a">DE-861</subfield><subfield code="a">DE-19</subfield><subfield code="a">DE-1043</subfield><subfield code="a">DE-859</subfield><subfield code="a">DE-858</subfield><subfield code="a">DE-522</subfield><subfield code="a">DE-523</subfield><subfield code="a">DE-634</subfield><subfield code="a">DE-1051</subfield><subfield code="a">DE-526</subfield><subfield code="a">DE-83</subfield><subfield code="a">DE-B768</subfield><subfield code="a">DE-91</subfield><subfield code="a">DE-188</subfield><subfield code="a">DE-11</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 250</subfield><subfield code="0">(DE-625)143626:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">TEC 000</subfield><subfield code="2">stub</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 000</subfield><subfield code="2">stub</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">004</subfield><subfield code="2">sdnb</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Pepper, Peter</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)11024012X</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Programmieren lernen</subfield><subfield code="b">eine grundlegende Einführung mit Java</subfield><subfield code="c">Peter Pepper</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">3. Aufl.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Berlin</subfield><subfield code="b">Springer</subfield><subfield code="c">2007</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1 Online-Ressource</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">c</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">cr</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">eXamen.press</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Java 1.5</subfield><subfield code="0">(DE-588)4788594-4</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Java Standard Edition 6</subfield><subfield code="0">(DE-588)7554591-3</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Objektorientierte Programmierung</subfield><subfield code="0">(DE-588)4233947-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="655" ind1=" " ind2="7"><subfield code="8">1\p</subfield><subfield code="0">(DE-588)4151278-9</subfield><subfield code="a">Einführung</subfield><subfield code="2">gnd-content</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Objektorientierte Programmierung</subfield><subfield code="0">(DE-588)4233947-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Java Standard Edition 6</subfield><subfield code="0">(DE-588)7554591-3</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="1" ind2="0"><subfield code="a">Objektorientierte Programmierung</subfield><subfield code="0">(DE-588)4233947-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2="1"><subfield code="a">Java 1.5</subfield><subfield code="0">(DE-588)4788594-4</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2=" "><subfield code="8">2\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="856" ind1="4" ind2="0"><subfield code="u">https://doi.org/10.1007/978-3-540-72552-7</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HBZ Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016163274&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ZDB-2-STI</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-016163274</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">2\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield><datafield tag="966" ind1="e" ind2=" "><subfield code="u">https://doi.org/10.1007/978-3-540-72552-7</subfield><subfield code="l">BFB01</subfield><subfield code="p">ZDB-2-STI</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="966" ind1="e" ind2=" "><subfield code="u">https://doi.org/10.1007/978-3-540-72552-7</subfield><subfield code="l">BHS01</subfield><subfield code="p">ZDB-2-STI</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="966" ind1="e" ind2=" "><subfield code="u">https://doi.org/10.1007/978-3-540-72552-7</subfield><subfield code="l">BTU01</subfield><subfield code="p">ZDB-2-STI</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="966" ind1="e" ind2=" "><subfield code="u">https://doi.org/10.1007/978-3-540-72552-7</subfield><subfield code="l">BTW01</subfield><subfield code="p">ZDB-2-STI</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="966" ind1="e" ind2=" "><subfield code="u">https://doi.org/10.1007/978-3-540-72552-7</subfield><subfield code="l">FAB01</subfield><subfield code="p">ZDB-2-STI</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="966" ind1="e" ind2=" "><subfield code="u">https://doi.org/10.1007/978-3-540-72552-7</subfield><subfield code="l">FAN01</subfield><subfield code="p">ZDB-2-STI</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="966" ind1="e" ind2=" "><subfield code="u">https://doi.org/10.1007/978-3-540-72552-7</subfield><subfield code="l">FAW01</subfield><subfield code="p">ZDB-2-STI</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="966" ind1="e" ind2=" "><subfield code="u">https://doi.org/10.1007/978-3-540-72552-7</subfield><subfield code="l">FCO01</subfield><subfield code="p">ZDB-2-STI</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="966" ind1="e" ind2=" "><subfield code="u">https://doi.org/10.1007/978-3-540-72552-7</subfield><subfield code="l">FHA01</subfield><subfield code="p">ZDB-2-STI</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="966" ind1="e" ind2=" "><subfield code="u">https://doi.org/10.1007/978-3-540-72552-7</subfield><subfield code="l">FHD01</subfield><subfield code="p">ZDB-2-STI</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="966" ind1="e" ind2=" "><subfield code="u">https://doi.org/10.1007/978-3-540-72552-7</subfield><subfield code="l">FHI01</subfield><subfield code="p">ZDB-2-STI</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="966" ind1="e" ind2=" "><subfield code="u">https://doi.org/10.1007/978-3-540-72552-7</subfield><subfield code="l">FHM01</subfield><subfield code="p">ZDB-2-STI</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="966" ind1="e" ind2=" "><subfield code="u">https://doi.org/10.1007/978-3-540-72552-7</subfield><subfield code="l">FHN01</subfield><subfield code="p">ZDB-2-STI</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="966" ind1="e" ind2=" "><subfield code="u">https://doi.org/10.1007/978-3-540-72552-7</subfield><subfield code="l">FHO01</subfield><subfield code="p">ZDB-2-STI</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="966" ind1="e" ind2=" "><subfield code="u">https://doi.org/10.1007/978-3-540-72552-7</subfield><subfield code="l">FHR01</subfield><subfield code="p">ZDB-2-STI</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="966" ind1="e" ind2=" "><subfield code="u">https://doi.org/10.1007/978-3-540-72552-7</subfield><subfield code="l">FKE01</subfield><subfield code="p">ZDB-2-STI</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="966" ind1="e" ind2=" "><subfield code="u">https://doi.org/10.1007/978-3-540-72552-7</subfield><subfield code="l">FLA01</subfield><subfield code="p">ZDB-2-STI</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="966" ind1="e" ind2=" "><subfield code="u">https://doi.org/10.1007/978-3-540-72552-7</subfield><subfield code="l">FRO01</subfield><subfield code="p">ZDB-2-STI</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="966" ind1="e" ind2=" "><subfield code="u">https://doi.org/10.1007/978-3-540-72552-7</subfield><subfield code="l">FWS01</subfield><subfield code="p">ZDB-2-STI</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="966" ind1="e" ind2=" "><subfield code="u">https://doi.org/10.1007/978-3-540-72552-7</subfield><subfield code="l">FWS02</subfield><subfield code="p">ZDB-2-STI</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="966" ind1="e" ind2=" "><subfield code="u">https://doi.org/10.1007/978-3-540-72552-7</subfield><subfield code="l">HTW01</subfield><subfield code="p">ZDB-2-STI</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="966" ind1="e" ind2=" "><subfield code="u">https://doi.org/10.1007/978-3-540-72552-7</subfield><subfield code="l">TUM01</subfield><subfield code="p">ZDB-2-STI</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="966" ind1="e" ind2=" "><subfield code="u">https://doi.org/10.1007/978-3-540-72552-7</subfield><subfield code="l">UBG01</subfield><subfield code="p">ZDB-2-STI</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="966" ind1="e" ind2=" "><subfield code="u">https://doi.org/10.1007/978-3-540-72552-7</subfield><subfield code="l">UBM01</subfield><subfield code="p">ZDB-2-STI</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="966" ind1="e" ind2=" "><subfield code="u">https://doi.org/10.1007/978-3-540-72552-7</subfield><subfield code="l">UBT01</subfield><subfield code="p">ZDB-2-STI</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="966" ind1="e" ind2=" "><subfield code="u">https://doi.org/10.1007/978-3-540-72552-7</subfield><subfield code="l">UBW01</subfield><subfield code="p">ZDB-2-STI</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="966" ind1="e" ind2=" "><subfield code="u">https://doi.org/10.1007/978-3-540-72552-7</subfield><subfield code="l">UBY01</subfield><subfield code="p">ZDB-2-STI</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="966" ind1="e" ind2=" "><subfield code="u">https://doi.org/10.1007/978-3-540-72552-7</subfield><subfield code="l">UER01</subfield><subfield code="p">ZDB-2-STI</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="966" ind1="e" ind2=" "><subfield code="u">https://doi.org/10.1007/978-3-540-72552-7</subfield><subfield code="l">UPA01</subfield><subfield code="p">ZDB-2-STI</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield></record></collection> |
genre | 1\p (DE-588)4151278-9 Einführung gnd-content |
genre_facet | Einführung |
id | DE-604.BV022958881 |
illustrated | Not Illustrated |
index_date | 2024-07-02T19:03:53Z |
indexdate | 2024-08-01T11:34:50Z |
institution | BVB |
isbn | 3540723633 9783540723639 9783540725527 |
language | German |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-016163274 |
oclc_num | 315620334 |
open_access_boolean | |
owner | DE-473 DE-BY-UBG DE-703 DE-739 DE-706 DE-1046 DE-1102 DE-M347 DE-92 DE-29 DE-20 DE-1050 DE-573 DE-898 DE-BY-UBR DE-863 DE-BY-FWS DE-862 DE-BY-FWS DE-Aug4 DE-860 DE-861 DE-19 DE-BY-UBM DE-1043 DE-859 DE-858 DE-522 DE-523 DE-634 DE-1051 DE-526 DE-83 DE-B768 DE-91 DE-BY-TUM DE-188 DE-11 |
owner_facet | DE-473 DE-BY-UBG DE-703 DE-739 DE-706 DE-1046 DE-1102 DE-M347 DE-92 DE-29 DE-20 DE-1050 DE-573 DE-898 DE-BY-UBR DE-863 DE-BY-FWS DE-862 DE-BY-FWS DE-Aug4 DE-860 DE-861 DE-19 DE-BY-UBM DE-1043 DE-859 DE-858 DE-522 DE-523 DE-634 DE-1051 DE-526 DE-83 DE-B768 DE-91 DE-BY-TUM DE-188 DE-11 |
physical | 1 Online-Ressource |
psigel | ZDB-2-STI |
publishDate | 2007 |
publishDateSearch | 2007 |
publishDateSort | 2007 |
publisher | Springer |
record_format | marc |
series2 | eXamen.press |
spellingShingle | Pepper, Peter Programmieren lernen eine grundlegende Einführung mit Java Java 1.5 (DE-588)4788594-4 gnd Java Standard Edition 6 (DE-588)7554591-3 gnd Objektorientierte Programmierung (DE-588)4233947-9 gnd |
subject_GND | (DE-588)4788594-4 (DE-588)7554591-3 (DE-588)4233947-9 (DE-588)4151278-9 |
title | Programmieren lernen eine grundlegende Einführung mit Java |
title_auth | Programmieren lernen eine grundlegende Einführung mit Java |
title_exact_search | Programmieren lernen eine grundlegende Einführung mit Java |
title_exact_search_txtP | Programmieren lernen eine grundlegende Einführung mit Java |
title_full | Programmieren lernen eine grundlegende Einführung mit Java Peter Pepper |
title_fullStr | Programmieren lernen eine grundlegende Einführung mit Java Peter Pepper |
title_full_unstemmed | Programmieren lernen eine grundlegende Einführung mit Java Peter Pepper |
title_short | Programmieren lernen |
title_sort | programmieren lernen eine grundlegende einfuhrung mit java |
title_sub | eine grundlegende Einführung mit Java |
topic | Java 1.5 (DE-588)4788594-4 gnd Java Standard Edition 6 (DE-588)7554591-3 gnd Objektorientierte Programmierung (DE-588)4233947-9 gnd |
topic_facet | Java 1.5 Java Standard Edition 6 Objektorientierte Programmierung Einführung |
url | https://doi.org/10.1007/978-3-540-72552-7 http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016163274&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT pepperpeter programmierenlerneneinegrundlegendeeinfuhrungmitjava |