Produktbild: Schrödinger programmiert Java

Schrödinger programmiert Java Das etwas andere Fachbuch

Aus der Reihe Rheinwerk Computing
1

51,30 €

inkl. gesetzl. MwSt., Versandkostenfrei


Beschreibung

Produktdetails

Einband

Taschenbuch

Erscheinungsdatum

28.11.2019

Verlag

Rheinwerk

Seitenzahl

712

Maße (L/B/H)

23,6/20,3/4,5 cm

Gewicht

1710 g

Farbe

Dunkellila / Aquamarin

Auflage

3

Sprache

Deutsch

ISBN

978-3-8362-7272-8

Beschreibung

Rezension

Programmierneulinge, die [...] noch gar kein Lehrbuch in der Hand hatten, finden in „Schrödinger programmiert Java“ wohl eine der erfrischendsten Aufmachungen, der auf dem Markt erhältlichen Programmierbücher.

Produktdetails

Einband

Taschenbuch

Erscheinungsdatum

28.11.2019

Verlag

Rheinwerk

Seitenzahl

712

Maße (L/B/H)

23,6/20,3/4,5 cm

Gewicht

1710 g

Farbe

Dunkellila / Aquamarin

Auflage

3

Sprache

Deutsch

ISBN

978-3-8362-7272-8

Herstelleradresse

Rheinwerk Verlag GmbH
Rheinwerkallee 4
53227 Bonn
DE

Email: GPSR Kontakt

Kundinnen und Kunden meinen

Informationen zu Bewertungen

Zur Abgabe einer Bewertung ist eine Anmeldung im Konto notwendig. Die Authentizität der Bewertungen wird von uns nicht überprüft. Wir behalten uns vor, Bewertungstexte, die unseren Richtlinien widersprechen, entsprechend zu kürzen oder zu löschen.

Die Bewertungen sind nach Format, Anzahl Sterne und Datum sortiert.

  • Bewertung

    3/5

    29.05.2022

    Buch (Taschenbuch)

    Inhaltlich ganz ok, optisch eine Katastrophe

    Als Fachinformatiker für Systemintegration ist die Programmierung zwar nicht mein Hauptaufgabengebiet, aber manchmal kommt man nicht dran vorbei, auch zumindest ein paar Grundkenntnisse in diesem Bereich zu haben. So bin ich dann in die Verlegenheit gekommen, mich in diese Richtung weiterzubilden. Leider brachte eine Weiterbildung bei einem bekannten deutschen Weiterbildungsinstitut nicht den gewünschten Erfolg, so dass ich umgeswitcht bin zu diversen Videokursen und e-books. Nun, wenn man mal diverse Kurse und Bücher "angelesen" hat, dann merkt man schnell, an welchem Thema die Ersteller/Autoren besonders viel Freude hatten, denn diese Themen werden entweder besonders ausführlich behandelt oder schnell hinter sich gebracht. Sprich: in den meisten Büchern zieht sich das Wissen entweder wie Kaugummi oder wird im Crashkursverfahren vermittelt. Beides nicht sonderlich toll für einen Einsteiger. Nun, irgendwann bin ich dann zum Schrödingerbuch gekommen. Es hat nach meinem Empfinden genau die richtige Mischung aus Hintergrundwissen und Praxisvermittlung. D.h. man wird nicht erst 200 Seiten mit der Geschichte von Java und dem Lebenslauf des Autors gequält, was ich sehr löblich finde. Stattdessen ist das Buch für Leute gedacht, die zumindest schonmal irgendwo gehört haben, was eine Variable ist und auch schonmal gehört haben, was Datentypen wie Int, Double, String usw sind. Das bringt der Autor auch ganz gut rüber. Das ganze Buch ist so ein bißchen als Zwiegespräch zwischen dem Autor und dem "Lehrling" Schrödinger konzipiert, der zwischendurch auch seine Fragen stellt, wenn irgendwas unklar ist. Also genau das,was ein Schüler in einer normalen Lehrer-Schüler-Konstellation auch gut. Die meiste Zeit klappt das auch ganz gut, aber an mancher Stelle merkt man halt, dass beide Personen halt in Wirklichkeit vom Autor des Buches geschrieben werden. Denn gelegentlich neigt auch Autor Philip Ackermann dazu, Themen vorschnell abzuspulen. Da sagt dann der Protagonist Schrödinger im Buch schonmal,dass er ein Thema jetzt verstanden habe, bevor es überhaupt erklärt wurde. Das ist schon ziemlich verwirrend für den Leser, aber noch zu verkraften. Was ich so WIRKLICH nervig finde, ist die Optik des Buches. Denn die könnte man am Besten so beschreiben: Man nehme jemanden, der gerade erst gelernt hat, wie man im Word Sätze in anderen Schriftarten, Größen usw formatiert und Cliparts einfügt und lasse ihn auf den Text vor. Was ich damit sagen will: keine einzige Seite in dem Buch verfügt über eine erträgliche Lesbarkeit. Jede Seite besteht aus mind. 3 verschiedenen Fonts, die Textblöcke sind mal linksbündig, mal rechtsbündig, mal mittig formatiert, dann mal über irgendwelche Cliparts drübergeschrieben und allgemein irgendwie chaotisch sortiert. Ständig muss man schauen, so denn der gerade gelesene Text weitergeführt wird, weil sich durch das chaotische Layout einfach kein "Lese-Flow" einstellt und man dieses Chaos einfach nur als anstrengend empfindet. Ich verstehe zwar die Intention, das Buch durch dieses Layout locker halten zu wollen, allerdings erreicht man (zumindest bei mir) damit eher den gegenteiligen Effekt. Diesbezüglich wäre weniger wirklich mehr gewesen. Ich scheine nicht der einzige Leser zu sein, der das so empfindet, denn die Bewertungen bei einem bekannten anderen Internethändler bemängeln ebenfalls hauptsächlich die miese Optik.

Kundinnen und Kunden meinen

5

0

4

0

3

1

2

0

1

0

Bewertungen (1)

  • Produktbild: Schrödinger programmiert Java







  •   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 ... 26






           Kompilieren von Hand ... 27






           Programm starten ... 30






           Compiler und JVM unter der Lupe ... 31






           Rätselstunde ... 32






           Hexenstunde ... 33






           Entwicklungsumgebungen ... 35






           Eclipse herunterladen ... 35






           Workspace und Workbench ... 36






           Erstes Projekt ... 38






           Pakete packen, aber ordentlich ... 41






           Pakete anlegen leicht gemacht ... 43






           Neue Klasse mit Eclipse ... 44






           Miteinander reden ... 47






           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






           Zuschauen, wie der Heap wächst ... 216






           Der Stack ... 222






           Wie alles zusammenhängt ... 224






           Die Katze war's ... 226






           Steap oder Hack ... 228












      6.  Woher hat er das bloß? -- Vererbung ... 232









           Vererbung ... 232






           Noch weniger doppelter Code dank Vererbung ... 234






           Der Apfel fällt nicht weit vom Stamm ... 236






           Verhalten anpassen durch Überschreiben von Methoden ... 237






           Überschreiben verboten ... 239






           Blümchenvererbung ... 240






           Ich will aber zu Opa und Oma! Was ist mit der Großelternklasse? ... 242






           Vererbung und Konstruktoren ... 244






           Die Konstruktorkette wieder reparieren ... 245






           Wie war das nochmal mit den Konstruktoren? ... 248






           Erbt der Sohn vom Vater oder der Vater vom Sohn? ... 249






           Typumwandlungen ... 252






           Upcasting ... 253






           Den Typ überprüfen ... 254






           Welche Methode hätten's denn gerne? Methoden überladen ... 255






           Abo-Service ... 256






           Serviceorientiert vs. objektorientiert ... 258






           Zurück zu den Objekten ... 259






           Die volle Überladung ... 260






           Deutschland sucht den Knetsuperstar ... 261






           Zusammenfassung ... 263












      7.  Schnittstellen und andere leichte Verletzungen -- Abstrakte Klassen und Interfaces ... 265









           Abstrakte Klassen ... 266






           Abstrakte Methoden ... 268






           Digital oder analog? Hauptsache abstrakt! ... 270






           Alles abstrakt, oder was? ... 278






           Schnittstellen ... 279






           Übungen zu Interfaces ... 284






           Für die einen sind es Interfaces, ... ... 286






           Interfaces und Vererbung ... 287






           Weniger ist manchmal mehr ... 289






           Konstanten in Interfaces ... 290






           Konstanten in Konstantenklassen ... 290






           Statischer Import ... 291






           Statische Blöcke ... 292






           Konstanten über Enums ... 293






           Interfaces -- Wiederholung ... 294






           Noch mehr Klassen ... 295






           Statische Memberklassen ... 295






           Nichtstatische Memberklassen ... 297






           Lokale Klassen ... 298






           Anonyme Klassen ... 299






           Abstrakt und polymorph -- alles klar, Schrödinger? ... 301












      8.  Hast du eigentlich einen Überblick über deine ganzen Schuhe? -- Arrays, Collections & Maps ... 303









           Ich will mehr davon -- Beziehungen zu Katzen und andere Freundinnen ... 304






           Objekte der Begierde ... 306






           Ab in die nächste Dimension ... 307






           Gib mir alles ... 308






           Solche Schuhe hast du schon! ... 309






           Alles muss man selber machen ... 310






           Auf den Spuren der Objektgleichheit ... 312






           Gleich ist gleich -- oder doch nicht? ... 313






           Arrays wachsen nicht mit ... 313






           Schuhkollektionen ... 315






           Solche Schuhe hast du immer noch! ... 317






           Soll ich dir mal meine Schuhsammlung zeigen? ... 319






           Der Iterator (hört sich krass an, oder?) ... 320






           Link und listig ... 321






           Einmal heißt einmal und dann keinmal mehr ... 322






           Hash mich, ich bin der Frühling ... 323






           Sets für die Kripo ... 324






           Sets für den Schuhtester ... 327






           Der richtige Hashcode ... 328






           Bäume und Räume ... 331






           Größer oder kleiner? ... 333






           Sortieren ohne Bäume ... 336






           Sortierte Schuhe ... 338






           Mappen raus ... 339






           So viele Schuhe hast du schon ... 340






           Schlangen im Keller ... 343






           Hinten anstellen! ... 344






           Kompakt und funktional: Lambda-Ausdrücke ... 345






           filter(), map() und reduce() ... 347






           High Heels!!! ... 351






           Nochmal alles ganz lambsam ... 353












      9.  Ausnahmsweise und um ganz sicher zu gehen -- Exceptions ... 355









           Aus Fehlern werden Ausnahmen ... 356






           Deine erste Exception ... 357






           Das Werfen vorbereiten ... 358






           Fangen will gelernt sein ... 360






           Ganz zum Schluss -- der finally-Block ... 362






           Hier werden Sie individuell behandelt ... 363






           Vererbung von Exceptions ... 365






           Die Ausnahme als Auskunftsobjekt -- was ist eigentlich passiert? ... 366






           Information erwünscht, Abhängigkeit unerwünscht ... 368






           Exceptions weiterwerfen ... 369






           Wann und wie behandeln ... 370






           Exceptions immer weiterleiten? Nicht immer der richtige Weg ... 371






           Muss man nicht fangen -- Unchecked Exceptions ... 373






           Defensiv programmieren gegen Runtime-Exceptions ... 376






           Exceptions loggen ... 377






           Lass den Türsteher mitloggen ... 378






           Nicht mehr zu retten ... 380






           Speicher voll ... 382






           Automatisches Schließen von Ressourcen ... 383






           Dateien lesen ... 384






           Ausnahmen bestätigen die Regel ... 386












    10.  Ey Typ, du kummst hier nit rein! -- Generics ... 389









           Generische Typen ... 390






           Bevor es Generics gab ... ... 391






           ... und mit Generics ... 392






           Hunde vs. Katzen ... 394






           Katzenkorb als Unterklasse ... 395






           Typisierte Interfaces ... 396






           Wildcard-Typen -- das Problem ... 397






           Der nach oben beschränkte Wildcard-Typ ... 400






           Der Haken: Schrödinger darf nicht schreiben ... 401






           Der nach unten beschränkte Wildcard-Typ ... 404






           Typisierte Methoden ... 406






           Übungen zu Wildcards ... 407






           Wiederholung ... 410






           Kaffeesatz ... 413












    11.  Wilde Ströme -- Eingabe und Ausgabe -- Dateien, Streams und Serialisierung ... 415









           Bossingen kommt mit Dateien ... 416






           Willst du mehr? Probier's binär! ... 417






           Binärdateien schreiben -- auch mit Byte-Streams ... 419






           Megalangsam -- Dateien kopieren mit normalen Streams ... 420






           Viel schneller -- Dateien kopieren mit Buffered Streams ... 421






           Wer liest schon Bytes? Textdateien lesen mit Character-Streams ... 422






           Textdateien schreiben mit Character-Streams ... 423






           1:0 für den CSV -- Textdateien umwandeln ... 424






           Mit Kanonen auf Verzeichnisse schießen ... 427






           Endlich Ordnung -- Dateien und Verzeichnisse erstellen ... 428






           Kundendaten konvertieren am Fließband ... 430






           Gut gefiltert ist halb gewonnen -- Verzeichnisse filtern ... 432






           Auf dem richtigen Pfad: Die neue File-IO-API ... 433






           Kundendateien konvertieren -- jetzt noch einfacher ... 436






           Objekte speichern ... 438






           Geschachtelte Objekte speichern ... 441






           Serialisierung und Deserialisierung beeinflussen ... 443






           Individuelle Serialisierung mit writeObject() und readObject() ... 444






           Der Nusskopf und die Kopfnuss ... 446






           Nochmal alles zum mitstreamen ... 448












    12.  Nicht den Faden verlieren -- Programmierung mit Threads ... 449









           Prozesse und Threads ... 450






           Der erste Thread ... 452






           Night of the living thread ... 453






           Das war gerade noch ungerade ... 454






           Da krieg ich Zustände ... 457






           Threads schlafen legen ... 458






           Helden, aufgepasst! ... 459






           Auf andere warten ... 462






           Synchronisierung ... 463






           Erst die geraden Zahlen, bitte! ... 466






           ... Deadlocks! ... 467






           Deadlocks finden und umgehen ... 469






           Der Schlüssel zum Erfolg ... 471






           Livelock, Starvation, Priorisierung und ein Bier ... 473






           ... Livelock ... 473






           Prioritäten setzen ... 476






           Warten und benachrichtigen ... 478






           Starvation ... 480






           Warten und schlafen ... 482






           4000 gegen 2 oder Arbeit verteilen ... 483






           Die Zusammenfassung, damit du nicht den Faden verlierst ... 487












    13.  Das kann sich doch schon sehen lassen! -- Deployment, Dokumentation und Module ... 489









           Abgepackt ... 490






           Ich packe meine JAR-Datei ... ... 493






           Java Web Start ... 495






           Bibliotheken einbinden in Eclipse ... 497






           Hallo Onkel Doc -- Dokumentation mit javadoc ... 500






           Strukturiert und modularisiert ... 503






           Modular? Na klar! ... 507






           Module kompilieren ... 509






           Jetzt hast du's gepackt ... 511












    14.  Austauschschüler -- das Datenaustauschformat XML ... 513









           XML ... 514






           Russische Salami ... 520






           Musikschule mit XML ... 525






           Ist es ein Element oder ein Attribut? ... 527






           XML lesen ... 528






           Der Spürhund -- Simple API for XML ... 528






           Der trainierte Spürhund oder „Don't call me, I'll call you“ -- StAX ... 532






           Die Cursor-API ... 533






           Die Iterator-API ... 533






           Das Document Object Model ... ... 535






           Flower Power ... 538






           XML schreiben ... 540






           1, 2 oder 3? SAX, StAX oder DOM? Was nehme ich wann? ... 543






           Viele Wege führen nach Java ... 545






           JAXB ... 547






           Von XML nach Java und wieder zurück ... 549






           Power Flower ... 551






           Die XTra, XPlizite, Xakte, XOrbitante Zusammenfassung ... 555












    15.  Datenspeicherung mit JDBC -- Datenbanken ... 557









           Relationale Datenbanken ... 558






           Die erste Tabelle mit SQL ... 559






           Eine Verbindung herstellen ... 563






           Datensätze hinzufügen ... 565






           Helden und Briefmarken ... 567






           Anweisungen zusammenfassen ... 570






           Gut vorbereitet ... 571






           Daten auslesen ... 572






           Was hätten'S denn gerne? Datensätze nach Kriterien auswählen ... 574






           Daten sortiert ausgeben ... 576






           Wer ist der Stärkste im ganzen Land? ... 577






           Informationen aus mehreren Tabellen über Joins verknüpfen ... 581






           Alles wieder zurück bitte -- Transaktionen ... 582






           Mapping zwischen relationalen Datenbanken und Java-Objekten ... 584






           Roll zurück den Troll ... 585






           Wiederholung ... 588






           SELECT DAS_WICHTIGSTE FROM KAPITEL_15 ... 589












    16.  Neue Tanzschritte -- GUI-Programmierung mit Swing und JavaFX ... 591









           Mit Schwung weg von der Konsole -- Swing ... 592






           Alles im Rahmen -- wie du GUI-Komponenten erstellst ... 592






           Alles in Reih und Glied -- wie du GUI-Komponenten anordnen kannst ... 595






           Alles im Raster mit dem Grid-Layout ... 598






           Zellen verbinden mit dem Grid-Bag-Layout ... 600






           Schuhe in der Box ... oder doch besser im Grid? ... 604






           Ordnung: gut, Verhalten: ... nichts? Wie du GUI-Komponenten das Verhalten hinzufügst ... 607






           Validierung von Nutzereingaben mit Swing ... 611






           Schuhschiebereien ... 612






           Bunter und mehr Action mit JavaFX ... 616






           Auf die große Bühne -- JavaFX on stage ... 619






           Noch mehr Zucker mit CSS ... 624






           Das Verhalten hinzufügen ... 626






           Validierung von Nutzereingaben mit JavaFX ... 627






           Schiebereien mit JavaFX ... 628






           Für Profis -- Verhalten hinzufügen ohne Listener ... 629






           Schieberegler mit Verhalten ... 631






           Die Lösung für den Hardcore-Profi -- Binding kann auch rechnen ... 632






           Das Wichtigste zur Gesellenprüfung Maler und Lackierer, Fachbereich Swing und JavaFX ... 635












    17.  Schrödinger goes international -- Internationalisierung, Lokalisierung, Formatierung, Pattern Matching und reguläre Ausdrücke ... 637









           Den Nutzer lokalisieren ... 638






           Die Software internationalisieren ... 641






           Finnische Schuhkartons ... 643






           Speak english per favore ... 646






           Klassen laden ... 646






           Wein oder Bier? ... 649






           Zahlen und Währungen formatieren ... 651






           Datums- und Zeitangaben formatieren ... 652






           Währungsrechner ... 654






           Internationalisierte Textmeldungen formatieren ... 656






           Das wurde aber auch Zeit -- java.time ... 657






           Zeitzone, Zeitlinie, Zeitpunkte und Zeitdauern ... 658






           Ohne Zeitlinie -- Datum, Zeit und Zeiträume ... 660






           Zeitzonen und Zeitunterschiede ... 662






           Alles nochmal auf einen Blick, so viel Zeit muss sein ... 663






           Formatierung von Datums- und Zeitangaben ... 664






           Formatieren über die Klasse String ... 665






           Mit Format ... 667






           Pattern Matching mit regulären Ausdrücken ... 668






           Kein Anschluss unter dieser Nummer ... 673






           Teile finden ... 673






           Drin oder nicht drin? Keine Frage! ... 675






           Auf einzelne Teile zugreifen über Gruppen ... 676






           E-Mail-Adressen validieren ... 677






           Tiivistelmä pääkohdista -- das war Finnisch ... 679












    18.  Bist du dir da sicher? Unit-Testen und Java Web Start continued -- Unit-Tests ... 681









           Deine Klassen testen ... 682






           Test-Frameworks ... 683






           Ich hatte aber einen Cocktail bestellt ... 690






           Ausnahmefälle testen ... 694






           Gar nicht eklig ... 696






           Java Web Start continued ... 698






           Das wichtigste unit to know ... 701












      Index ... 705