

Beschreibung
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. Mit Schrödinger und seinen witzigen Fragen macht guter Code richtig Spaß. Von einfachen...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. Mit Schrödinger und seinen witzigen Fragen macht guter Code richtig Spaß. Von einfachen Schleifen bis zur fertigen Anwendung löst ihr Probleme wie die Frage, ob Schrödingers Freundin »solche Schuhe« nicht schon hat. Oder ob es wirklich schon wieder Dinkelpfannkuchen geben muss. Spitzen-Beispielcode, fantastisch illustriert. Für Einsteiger, Umsteiger und Fans.
Das alles, und noch viel mehr:
Unmengen an Beispielcode und Übungen
Philip Ackermann ist CTO der Cedalo AG und Autor mehrerer Fachbücher und Fachartikel über Java und JavaScript. Seine Schwerpunkte liegen in der Konzeption und Entwicklung von Node.js- und JEE-Projekten in den Bereichen Industrie 4.0 und Internet of Things.
Durchblicken, mitmachen und genießen!
Autorentext
Philip Ackermann ist CTO der Cedalo AG und Autor mehrerer Fachbücher und Fachartikel über Java und JavaScript. Seine Schwerpunkte liegen in der Konzeption und Entwicklung von Node.js- und JEE-Projekten in den Bereichen Industrie 4.0 und Internet of Things.
Inhalt
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 Ha…
