Zum Hauptinhalt springen
Nicht aus der Schweiz? Besuchen Sie lehmanns.de

Schrödinger programmiert Java

Das etwas andere Fachbuch
Buch | Softcover
704 Seiten
2013
Galileo Press (Verlag)
978-3-8362-1740-8 (ISBN)

Lese- und Medienproben

Schrödinger programmiert Java - Philip Ackermann
CHF 62,85 inkl. MwSt
zur Neuauflage
  • Titel erscheint in neuer Auflage
  • Artikel merken
Zu diesem Artikel existiert eine Nachauflage
  • Von „Hallo Schrödinger“ über Multithreading zur komplexen GUI-Anwendung
  • Auf Profi-Art von Anfang an
  • Nutze die Schwerter aller Versionen: Generics, New File I/O und Java 8
  • Perfekt zum Durchblicken und Hand anlegen, fantastisch illustriert

Vom Feinsten!

Die Java-Einführung, die Dir den vollen Durchblick verschafft. Schreibe von Anfang an auf Profi-Art, objektorientiert, mit Interfaces, Generics und auf dem neuesten Stand. Von einfachen Schleifen bis zur fertigen Webanwendung.

Mit Schrödinger und seinen witzigen Fragen macht guter Code richtig Spaß. Ihr programmiert, um Probleme zu lösen: etwa die Frage, ob Schrödingers Freundin "solche Schuhe" nicht schon hat. Oder ob es wirklich schon wieder Dinkelpfannkuchen geben muss. Aber Achtung: Hier geht es um saubere Software-Entwicklung. Spitzen-Beispielcode, fantastisch illustriert. Für Einsteiger, Umsteiger und Fans.

Schrödinger garantiert:
  • Installationshilfe und gründlicher Einstieg
  • Objektorientierung aus der Profi-Praxis
  • Alle neuen Entwicklungen im Blick
  • Spaß mit Collections, Interfaces und Generics
  • XML-Parser für alle Fälle
  • Swing- und Java-FX-GUIs mit Stil
  • Dateien, Streams und Datenbanken fest im Griff
  • Mutithreading ohne Verstricken
  • Code, den ihr auch übermorgen noch versteht
  • Keine Angst vor regulären Ausdrücken
  • Unmengen an Beispielcode und Übungen
  • Fantastische Illustrationen

Philip Ackermann ist Master of Science in Computer Science. Am Fraunhofer-Institut für Angewandte Informationstechnologie FIT arbeitet er als Software-Entwickler an Tools zum teilautomatisierten Testen von Web Compliance, z. B. der Barrierefreiheit von Webseiten. Wissenschaftlich befasst er sich außerdem mit der modellbasierten Simulation und Evaluierung von mobilen und Web 2.0-Anwendungen.

.. An den Leser ... 2
... Schrödingers Büro ... 4
... Schrödingers Werkstatt ... 6
... Schrödingers Wohnzimmer ... 8
... Impressum ... 10
... Inhaltsverzeichnis ... 12
... Vorwort ... 21
1 ... Hallo Schrödinger – Einführung und erstes Programm ... 23
... Java überall ... 24
... JRE, JDK, SE, EE, ME ... 24
... Java installieren ... 25
... Hallo Schrödinger ... 28
... Kompilieren von Hand ... 29
... Programm starten ... 32
... Compiler und JVM unter der Lupe ... 33
... Rätselstunde ... 34
... Hexenstunde ... 35
... Entwicklungsumgebungen ... 37
... Eclipse herunterladen ... 37
... Der Workspace ... 38
... Die Workbench ... 38
... Erstes Projekt ... 40
... Pakete packen, aber ordentlich ... 43
... Pakete anlegen leicht gemacht ... 45
... Neue Klasse mit Eclipse ... 46
... Miteinander reden ... 48
... Streams ... 50
... Let the game begin – das »World of Warcraft Textadventure« ... 52
... Historie von Java ... 57
2 ... Alles eine Typfrage – Variablen und grundlegende Datentypen ... 61
... Variablen und Datentypen ... 62
... Arten von Datentypen ... 63
... Können wir Zahlen, bitte? ... 64
... Lesbarkeit von langen Zahlen ... 67
... Zahlensuppe ... 68
... Binär, oktal, dezimal und hexadezimal ... 69
... Variablennamen ... 71
... Gute Namenswahl – Java Code Conventions ... 73
... Operationen ... 75
... Dividieren und komplizieren ... 76
... Genau rechnen mit BigDecimal ... 77
... Ein bisschen mehr, nein, eher ein bisschen weniger ... 78
... Rechenaufgaben ... 79
... Konvertierung von Zahlen ... 80
... Zeichen und Wunder ... 82
... Ein Charakter namens Cäsar ... 84
... Nichts als die Wahrheit ... 86
... Vergleichsoperatoren ... 88
... Sprich die Wahrheit ... 89
... Wrapperklassen ... 91
... Alles eine Typfrage ... 94
... Es kommt auf den Charakter an ... 95
... Wrap-up ... 96
3 ... Hier war ich doch schon mal! – Kontrollfluss ... 99
... Kontrolle übernehmen ... 100
... Wenn das Wörtchen »if« nicht wär ... 100
... Halb voll oder halb leer ... 101
... Entweder oder ... 102
... Aberglauben ... 103
... Boolesche Operatoren ... 105
... Hör auf, so zu klammern ... 105
... Kurzschreibweise ... 106
... Bedingungsoperator ... 107
... Mehrere Fälle behandeln ... 107
... Leere Lehre ... 109
... Switch the String ... 110
... Realitätsfern ... 111
... Schleifen drehen ... 114
... Schachtelung ... 117
... Schleifen binden lernen ... 118
... Primzahlen ... 118
... King Schrödinger ... 122
... Nochmal gaaanz langsam, bitte ... 125
... Schleifen abbrechen ... 128
... Labels ... 129
... Kalender ... 130
... Zusammenfassung – alles unter Kontrolle ... 134
4 ... Von Dinkelpfannekuchen und Buchstabensalat – Arbeiten mit Strings ... 135
... Strings definieren ... 136
... Auf einzelne Zeichen zugreifen ... 138
... Strings zerlegen ... 139
... Zeichen für Zeichen ... 142
... Vergleichen von Strings ... 145
... Teile vergleichen ... 145
... Gleich oder nicht gleich, oder doch teilweise gleich ... 147
... Suchen und ersetzen in Strings ... 149
... Speiseplanhacker ... 151
... Summertime ... 153
... Noch was für Profis: Strings in den Pool werfen ... 157
... Strings sind unveränderlich ... 161
... Veränderbare Zeichenketten ... 162
... Zeichen löschen, ersetzen und spiegeln ... 164
... StringBuilder in Schleifen ... 166
... Was du aus diesem Kapitel mitnehmen solltest ... 167
5 ... Objektiv betrachtet, eine ganz andere Klasse – Klassen, Objekte, Methoden ... 169
... Der nächste Level der Wiederverwendung – Methoden ... 170
... Refactoring ... 174
... Sauberer Quelltext ... 178
... Methodenkommentare ... 179
... Kann ich das zurückgeben? ... 180
... Zurück zu den Nachrichten ... 181
... Auf dem Weg zum Java-Ninja – Klassen und Objekte ... 182
... Kapselung ... 186
... Setter und Getter ... 188
... Der Fotoapparat unter der Lupe ... 191
... Setter mit mehreren Parametern ... 192
... Klassen vs. Objekte ... 194
... Sichtbarkeit von Variablen und Methoden ... 196
... Konstruktoren ... 198
... Objekte in Strings umwandeln ... 202
... Quelltext anhängen ... 203
... Textuelle Beschreibung von Objekten ... 204
... Fluent Interface ... 205
... Nur für Profis – Zerlegen des Fotoapparats ... 207
... Referenzdatentypen, Heap, Garbage- Collection ... 211
... Wenn der Heap zu voll wird ... 213
... Destruktoren ... 214
... Hab lieb den Heap ... 215
... VisualVM Eclipse installieren ... 215
... Der Stack ... 224
... Wie alles zusammenhängt ... 226
... Die Katze war’s ... 228
... Steap oder Hack ... 230
6 ... Woher hat er das bloß? – Vererbung ... 233
... Vererbung ... 234
... Noch weniger doppelter Code dank Vererbung ... 236
... Der Apfel fällt nicht weit vom Stamm ... 238
... Verhalten anpassen durch Überschreiben von Methoden ... 239
... Überschreiben verboten ... 241
... Blümchenvererbung ... 242
... Ich will aber zu Opa und Oma! Was ist mit der Großelternklasse? ... 244
... Vererbung und Konstruktoren ... 246
... Die Konstruktorkette wieder reparieren ... 247
... Wie war das nochmal mit den Konstruktoren? ... 250
... Erbt der Sohn vom Vater oder der Vater vom Sohn? ... 251
... Typumwandlungen ... 254
... Upcasting ... 255
... Den Typ überprüfen ... 256
... Welche Methode hätten’s denn gerne? Methoden überladen ... 257
... Abo-Service ... 258
... Serviceorientiert vs. objektorientiert ... 260
... Zurück zu den Objekten ... 261
... Die volle Überladung ... 262
... Deutschland sucht den Knetsuperstar ... 263
... Zusammenfassung ... 265
7 ... Schnittstellen und andere leichte Verletzungen – Abstrakte Klassen und Interfaces ... 267
... Abstrakte Klassen ... 268
... Abstrakte Methoden ... 270
... Digital oder analog? Hauptsache abstrakt! ... 272
... Alles abstrakt, oder was? ... 280
... Schnittstellen ... 281
... Übungen zu Interfaces ... 286
... Für die einen sind es Interfaces, ... 288
... Interfaces und Vererbung ... 289
... Weniger ist manchmal mehr ... 291
... Konstanten in Interfaces ... 292
... Konstanten in Konstantenklassen ... 292
... Statischer Import ... 293
... Statische Blöcke ... 294
... Konstanten über Enums ... 295
... Interfaces – Wiederholung ... 296
... Noch mehr Klassen ... 297
... Statische Memberklassen ... 297
... Nichtstatische Memberklassen ... 299
... Lokale Klassen ... 300
... Anonyme Klassen ... 301
... Abstrakt und polymorph – alles klar, Schrödinger? ... 303
8 ... Hast du eigentlich einen Überblick über deine ganzen Schuhe? – Arrays, Collections & Maps ... 305
... Ich will mehr davon – Beziehungen zu Katzen und andere Freundinnen ... 306
... Objekte der Begierde ... 308
... Ab in die nächste Dimension ... 309
... Gib mir alles ... 310
... Solche Schuhe hast du schon! ... 311
... Alles muss man selber machen ... 312
... Auf den Spuren der Objektgleichheit ... 314
... Gleich ist gleich – oder doch nicht? ... 315
... Arrays wachsen nicht mit ... 315
... Schuhkollektionen ... 317
... Solche Schuhe hast du immer noch! ... 319
... Soll ich dir mal meine Schuhsammlung zeigen? ... 321
... Der Iterator (hört sich krass an, oder?) ... 322
... Link und listig ... 323
... Einmal heißt einmal und dann keinmal mehr ... 324
... Hash mich, ich bin der Frühling ... 325
... Sets für die Kripo ... 326
... Sets für den Schuhtester ... 329
... Der richtige Hashcode ... 330
... Bäume und Räume ... 333
... Größer oder kleiner? ... 335
... Sortieren ohne Bäume ... 338
... Sortierte Schuhe ... 340
... Mappen raus ... 341
... So viele Schuhe hast du schon ... 342
... Schlangen im Keller ... 345
... Hinten anstellen! ... 346
... Lala-lalalala- lala-la, bald ist Java 8 mit Lambda da ... 347
... filter(), map() und reduce() ... 349
... High Heels!!! ... 353
... Nochmal alles ganz lambsam ... 355
9 ... Ausnahmsweise und um ganz sicher zu gehen – Exceptions ... 357
... Aus Fehlern werden Ausnahmen ... 358
... Deine erste Exception ... 359
... Das Werfen vorbereiten ... 360
... Fangen will gelernt sein ... 362
... Ganz zum Schluss – der finally-Block ... 364
... Hier werden Sie individuell behandelt ... 365
... Vererbung von Exceptions ... 367
... Die Ausnahme als Auskunftsobjekt – was ist eigentlich passiert? ... 368
... Information erwünscht, Abhängigkeit unerwünscht ... 370
... Exceptions weiterwerfen ... 371
... Wann und wie behandeln ... 372
... Exceptions immer weiterleiten? Nicht immer der richtige Weg ... 373
... Muss man nicht fangen – Unchecked Exceptions ... 375
... Defensiv programmieren gegen Runtime-Exceptions ... 378
... Exceptions loggen ... 379
... Lass den Türsteher mitloggen ... 380
... Nicht mehr zu retten ... 382
... Speicher voll ... 384
... Automatisches Schließen von Ressourcen ... 385
... Dateien lesen ... 386
... Ausnahmen bestätigen die Regel ... 388
10 ... Ey Typ, du kummst hier nit rein! – Generics ... 391
... Generische Typen ... 392
... Bevor es Generics gab ... 393
... und mit Generics ... 394
... Hunde vs. Katzen ... 396
... Katzenkorb als Unterklasse ... 397
... Typisierte Interfaces ... 398
... Wildcard-Typen – das Problem ... 399
... Der nach oben beschränkte Wildcard-Typ ... 402
... Der Haken: Schrödinger darf nicht schreiben ... 403
... Der nach unten beschränkte Wildcard-Typ ... 406
... Typisierte Methoden ... 408
... Übungen zu Wildcards ... 409
... Wiederholung ... 412
... Kaffeesatz ... 415
11 ... Wilde Ströme – Eingabe und Ausgabe – Dateien, Streams und Serialisierung ... 417
... Bossingen kommt mit Dateien ... 418
... Willst du mehr? Probier’s binär! ... 419
... Binärdateien schreiben – auch mit Byte-Streams ... 421
... Megalangsam – Dateien kopieren mit normalen Streams ... 422
... Viel schneller – Dateien kopieren mit Buffered Streams ... 423
... Wer liest schon Bytes? Textdateien lesen mit Character-Streams ... 424
... Textdateien schreiben mit Character-Streams ... 425
... 1:0 für den CSV – Textdateien umwandeln ... 426
... Mit Kanonen auf Verzeichnisse schießen ... 429
... Endlich Ordnung – Dateien und Verzeichnisse erstellen ... 430
... Kundendaten konvertieren am Fließband ... 432
... Gut gefiltert ist halb gewonnen – Verzeichnisse filtern ... 434
... Auf dem richtigen Pfad: Die neue File-IO-API ... 435
... Kundendateien konvertieren – jetzt noch einfacher ... 438
... Objekte speichern ... 440
... Geschachtelte Objekte speichern ... 443
... Serialisierung und Deserialisierung beeinflussen ... 445
... Individuelle Serialisierung mit writeObject() und readObject() ... 446
... Der Nusskopf und die Kopfnuss ... 448
... Nochmal alles zum mitstreamen ... 450
12 ... Nicht den Faden verlieren – Programmierung mit Threads ... 451
... Prozesse und Threads ... 452
... Der erste Thread ... 454
... Night of the living thread ... 455
... Das war gerade noch ungerade ... 457
... Da krieg ich Zustände ... 459
... Threads schlafen legen ... 460
... Helden, aufgepasst! ... 461
... Auf andere warten ... 464
... Synchronisierung ... 465
... Erst die geraden Zahlen, bitte! ... 468
... Deadlocks! ... 469
... Deadlocks finden und umgehen ... 471
... Der Schlüssel zum Erfolg ... 473
... Livelock, Starvation, Priorisierung und ein Bier ... 475
... Livelock ... 475
... Prioritäten setzen ... 478
... Warten und benachrichtigen ... 480
... Starvation ... 482
... Warten und schlafen ... 484
... 4 000 gegen 2 oder Arbeit verteilen ... 485
... Die Zusammenfassung, damit du nicht den Faden verlierst ... 489
13 ... Das kann sich doch schon sehen lassen! – Deployment und Dokumentation ... 491
... Abgepackt ... 492
... Ich packe meine JAR-Datei ... 495
... Java Web Start ... 497
... Bibliotheken einbinden in Eclipse ... 499
... Hallo Onkel Doc – Dokumentation mit javadoc ... 502
... Jetzt hast du’s gepackt ... 505
14 ... Austauschschüler – das Datenaustauschformat XML ... 507
... XML ... 508
... Russische Salami ... 514
... Musikschule mit XML ... 519
... Ist es ein Element oder ein Attribut? ... 521
... XML lesen ... 522
... Der Spürhund – Simple API for XML ... 522
... Der trainierte Spürhund oder »Don’t call me, I'll call you« – StAX ... 526
... Die Cursor-API ... 527
... Die Iterator- API ... 527
... Das Document Object Model ... 529
... Flower Power ... 532
... XML schreiben ... 534
... 1, 2 oder 3? SAX, StAX oder DOM? Was nehme ich wann? ... 537
... Viele Wege führen nach Java ... 539
... JAXB ... 541
... Von XML nach Java und wieder zurück ... 543
... Power Flower ... 545
... Die XTra, XPlizite, Xakte, XOrbitante Zusammenfassung ... 549
15 ... Datenspeicherung mit JDBC – Datenbanken ... 551
... Relationale Datenbanken ... 552
... Die erste Tabelle mit SQL ... 553
... Eine Verbindung herstellen ... 557
... Datensätze hinzufügen ... 559
... Helden und Briefmarken ... 561
... Anweisungen zusammenfassen ... 564
... Gut vorbereitet ... 565
... Daten auslesen ... 566
... Was hätten’S denn gerne? Datensätze nach Kriterien auswählen ... 568
... Daten sortiert ausgeben ... 570
... Wer ist der Stärkste im ganzen Land? ... 571
... Informationen aus mehreren Tabellen über Joins verknüpfen ... 575
... Alles wieder zurück bitte – Transaktionen ... 576
... Mapping zwischen relationalen Datenbanken und Java-Objekten ... 578
... Roll zurück den Troll ... 579
... Wiederholung ... 582
... SELECT DAS_WICHTIGSTE FROM KAPITEL_15 ... 583
16 ... Neue Tanzschritte – GUI-Programmierung mit Swing und JavaFX ... 585
... Mit Schwung weg von der Konsole – Swing ... 586
... Alles im Rahmen – wie du GUI-Komponenten erstellst ... 586
... Alles in Reih und Glied – wie du GUI-Komponenten anordnen kannst ... 589
... Alles im Raster mit dem Grid-Layout ... 592
... Zellen verbinden mit dem Grid-Bag-Layout ... 594
... Schuhe in der Box oder doch besser im Grid? ... 598
... Ordnung: gut, Verhalten: nichts? Wie du GUI-Komponenten das Verhalten hinzufügst ... 601
... Validierung von Nutzereingaben mit Swing ... 605
... Schuhschiebereien ... 606
... Bunter und mehr Action mit JavaFX ... 610
... Auf die große Bühne – JavaFX on stage ... 612
... Noch mehr Zucker mit CSS ... 616
... Das Verhalten hinzufügen ... 618
... Validierung von Nutzereingaben mit JavaFX ... 619
... Schiebereien mit JavaFX ... 620
... Für Profis – Verhalten hinzufügen ohne Listener ... 621
... Schieberegler mit Verhalten ... 623
... Die Lösung für den Hardcore-Profi – Binding kann auch rechnen ... 624
... Das Wichtigste zur Gesellenprüfung Maler und Lackierer, Fachbereich Swing und JavaFX ... 627
17 ... Schrödinger goes international – Internationalisierung, Lokalisierung, Formatierung, Pattern Matching und reguläre Ausdrücke ... 629
... Den Nutzer lokalisieren ... 630
... Die Software internationalisieren ... 633
... Finnische Schuhkartons ... 635
... Speak english per favore ... 638
... Klassen laden ... 639
... Wein oder Bier? ... 641
... Zahlen und Währungen formatieren ... 643
... Datums- und Zeitangaben formatieren ... 644
... Währungsrechner ... 646
... Internationalisierte Textmeldungen formatieren ... 648
... Das wurde aber auch Zeit – die neue Date- und Time-API ... 649
... Zeitzone, Zeitlinie, Zeitpunkte und Zeitdauern ... 650
... Ohne Zeitlinie – Datum, Zeit und Zeiträume ... 652
... Zeitzonen und Zeitunterschiede ... 654
... Alles nochmal auf einen Blick, so viel Zeit muss sein ... 655
... Formatierung von Datums- und Zeitangaben ... 656
... Formatieren über die Klasse String ... 657
... Mit Format ... 659
... Pattern Matching mit regulären Ausdrücken ... 660
... Kein Anschluss unter dieser Nummer ... 665
... Teile finden ... 665
... Drin oder nicht drin? Keine Frage! ... 667
... Auf einzelne Teile zugreifen über Gruppen ... 668
... E-Mail- Adressen validieren ... 669
... Tiivistelmä pääkohdista – das war Finnisch ... 671
18 ... Bist du dir da sicher? Unit-Testen und Java Web Start continued – Unit-Tests ... 673
... Deine Klassen testen ... 674
... Test- Frameworks ... 675
... Ich hatte aber einen Cocktail bestellt ... 682
... Ausnahmefälle testen ... 686
... Gar nicht eklig ... 688
... Java Web Start continued ... 690
... Das wichtigste unit to know ... 693
... Index ... 697

Erscheint lt. Verlag 16.12.2013
Reihe/Serie Galileo Computing
Verlagsort Bonn
Sprache deutsch
Maße 200 x 235 mm
Gewicht 1745 g
Einbandart Paperback
Themenwelt Informatik Programmiersprachen / -werkzeuge Java
Schlagworte Android • Eclipse • Java 7 • Java 7 (Programmiersprache); Einführung • Java 8 • Java 8 (Programmiersprache); Handbuch/Lehrbuch • Java FX • JavaFX • Java (Programmiersprache); Handbuch/Lehrbuch • JSON • Objektorientierung • Programmierung • Swing • Webanwendung • XML
ISBN-10 3-8362-1740-6 / 3836217406
ISBN-13 978-3-8362-1740-8 / 9783836217408
Zustand Neuware
Informationen gemäß Produktsicherheitsverordnung (GPSR)
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich