Captain CiaoCiao erobert Java - Das Trainingsbuch für besseres Java. 300 Java-Workshops, Aufgaben und Übungen mit kommentierten Lösungen

Gebundene Ausgabe
39,90 €
inkl. MwSt. versandkostenfrei!


Produktdetails  
Verlag Rheinwerk Verlag
Auflage Juni 2021
Seiten 779
Format 18,1 x 4,9 x 24,5 cm
Gewicht 1568 g
ISBN-10 3836284278
ISBN-13 9783836284271
Bestell-Nr 83628427A

Produktbeschreibung  

Das große Trainingsbuch für Ihre Java-Skills - vom Autor des Klassikers "Java ist auch eine Insel". Heben Sie Ihre Coding-Fähigkeiten auf das nächste Level. Java-Champion Christian Ullenboom bietet Ihnen alles, was sie dazu brauchen: Übungen zu Features und Kniffen, die man als Profi kennen sollte, guten Beispielcode und Material auf verschiedenen Niveaus. Ob Clean Code, objektorientierte Modellierung oder eine gründliche Prüfung der Reflection-API: Captain CiaoCiao und seine Gefährtin Bonny Brain bringen Sie von einem Abenteuer zum nächsten und helfen Ihnen, beim Programmieren mit Java immer besser zu werden. Mit vielen Praxistipps, erhellenden Details und ausführlichen Lösungen. Das umfangreiche Übungsmaterial wurde in langjähriger Dozententätigkeit entwickelt und erprobt.



Aus dem Inhalt:



  • Alle Basics

  • Themen auf vielen Niveaus

  • Übungen in drei Schwierigkeitsstufen

  • Reflection-API

  • Threadsicherheit

  • Mustererkennung bei Strings

  • Funktionale Programmierung

  • XML, JSON und mehr verarbeiten

  • Datenbank-Pools

  • Die Stream-API

  • Annotations einsetzen


Inhalt:



  Einleitung ... 21


  1.  Java ist auch eine Sprache ... 31


       1.1 ... Bytecode und JVM ... 31

       1.2 ... Werkzeuge für Java-Entwickler ... 32

       1.3 ... Lösungsvorschläge ... 34



  2.  Imperative Sprachkonzepte ... 37


       2.1 ... Bildschirmausgaben ... 38

       2.2 ... Variablen und Datentypen ... 40

       2.3 ... Ausdrücke, Operanden und Operatoren ... 43

       2.4 ... Fallunterscheidungen ... 46

       2.5 ... Schleifen ... 49

       2.6 ... Methoden ... 57

       2.7 ... Lösungsvorschläge ... 61



  3.  Klassen, Objekte, Pakete ... 101


       3.1 ... Objekte erzeugen ... 101

       3.2 ... Import und Pakete ... 103

       3.3 ... Arbeiten mit Referenzen ... 104

       3.4 ... Lösungsvorschläge ... 106



  4.  Arrays ... 111


       4.1 ... Alles hat einen Typ ... 111

       4.2 ... Eindimensionale Arrays ... 112

       4.3 ... Erweiterte for-Schleife ... 116

       4.4 ... Zwei- und mehrdimensionale Arrays ... 117

       4.5 ... Variable Argumentlisten ... 118

       4.6 ... Die Utility-Klasse Arrays ... 120

       4.7 ... Lösungsvorschläge ... 121



  5.  Zeichenkettenverarbeitung ... 141


       5.1 ... Die Klasse String und ihre Eigenschaften ... 141

       5.2 ... Dynamische Strings mit StringBuilder ... 155

       5.3 ... Lösungsvorschläge ... 160



  6.  Eigene Klassen schreiben ... 213


       6.1 ... Klassendeklaration und Objekteigenschaften ... 214

       6.2 ... Statische Eigenschaften ... 217

       6.3 ... Aufzählungen ... 219

       6.4 ... Konstruktoren ... 220

       6.5 ... Assoziationen ... 222

       6.6 ... Vererbung ... 224

       6.7 ... Polymorphie und dynamisches Binden ... 228

       6.8 ... Abstrakte Klassen und abstrakte Methoden ... 231

       6.9 ... Schnittstellen ... 233

       6.10 ... Lösungsvorschläge ... 237



  7.  Geschachtelte Typen ... 269


       7.1 ... Geschachtelte Typen deklarieren ... 269

       7.2 ... Geschachtelte-Typen-Quiz ... 271

       7.3 ... Lösungsvorschläge ... 272



  8.  Exceptions ... 277


       8.1 ... Exception fangen ... 278

       8.2 ... Eigene Ausnahmen auslösen ... 281

       8.3 ... Eigene Ausnahmeklassen schreiben ... 282

       8.4 ... try-mit-Ressourcen ... 283

       8.5 ... Lösungsvorschläge ... 286



  9.  Lambda-Ausdrücke und funktionale Programmierung ... 301


       9.1 ... Lambda-Ausdrücke ... 302

       9.2 ... Methoden- und Konstruktorreferenzen ... 308

       9.3 ... Ausgewählte funktionale Schnittstellen ... 308

       9.4 ... Lösungsvorschläge ... 310



10.  Besondere Typen aus der Java-Bibliothek ... 317


       10.1 ... Absolute Oberklasse java.lang.Object ... 318

       10.2 ... Schnittstellen Comparator und Comparable ... 320

       10.3 ... Autoboxing ... 327

       10.4 ... Aufzählungstypen (enum) ... 328

       10.5 ... Lösungsvorschläge ... 332



11.  Fortgeschrittene Zeichenkettenverarbeitung ... 357


       11.1 ... Strings formatieren ... 358

       11.2 ... Reguläre Ausdrücke und Mustererkennung ... 359

       11.3 ... Zeichenketten in Tokens zerlegen ... 362

       11.4 ... Zeichenkodierungen und Unicode-Collation-Algorithmus ... 367

       11.5 ... Lösungsvorschläge ... 368



12.  Mathematisches ... 389


       12.1 ... Die Klasse Math ... 389

       12.2 ... Große und sehr präzise Zahlen ... 392

       12.3 ... Lösungsvorschläge ... 395



13.  Raum und Zeit ... 405


       13.1 ... Sprachen und Länder ... 406

       13.2 ... Datum- und Zeit-Klassen ... 407

       13.3 ... Lösungsvorschläge ... 410



14.  Nebenläufige Programmierung mit Threads ... 419


       14.1 ... Anlegen von Threads ... 420

       14.2 ... Ausgeführt und stillgestanden ... 424

       14.3 ... Thread-Pools und Ergebnisse ... 427

       14.4 ... Kritische Abschnitte schützen ... 429

       14.5 ... Thread-Kooperation und Synchronisationshelfer ... 432

       14.6 ... Lösungsvorschläge ... 437



15.  Datenstrukturen und Algorithmen ... 461


       15.1 ... Die Schnittstellen der Collection-API ... 463

       15.2 ... Listen ... 465

       15.3 ... Mengen ... 475

       15.4 ... Assoziativspeicher ... 480

       15.5 ... Properties ... 488

       15.6 ... Stapelspeicher (Stack) und Warteschlangen (Queue) ... 490

       15.7 ... BitSet ... 491

       15.8 ... Threadsichere Datenstrukturen ... 492

       15.9 ... Lösungsvorschläge ... 496



16.  Java-Stream-API ... 559


       16.1 ... Reguläre Ströme mit ihren terminalen und intermediären Operationen ... 560

       16.2 ... Primitive Ströme ... 567

       16.3 ... Statistiken ... 571

       16.4 ... Lösungsvorschläge ... 574



17.  Dateien und wahlfreier Zugriff auf Dateiinhalte ... 605


       17.1 ... Path und Files ... 606

       17.2 ... Wahlfreier Zugriff auf Dateiinhalte ... 610

       17.3 ... Lösungsvorschläge ... 611



18.  Ein-/Ausgabeströme ... 625


       18.1 ... Direkte Datenströme ... 627

       18.2 ... Ströme verschachteln ... 632

       18.3 ... Serialisierung ... 633

       18.4 ... Lösungsvorschläge ... 635



19.  Netzwerkprogrammierung ... 657


       19.1 ... URL und URLConnection ... 658

       19.2 ... HTTP-Client (Java 11) ... 660

       19.3 ... Socket und ServerSocket ... 661

       19.4 ... Lösungsvorschläge ... 663



20.  XML, JSON und weitere Datenformate mit Java verarbeiten ... 675


       20.1 ... XML-Verarbeitung mit Java ... 676

       20.2 ... JSON ... 681

       20.3 ... HTML ... 683

       20.4 ... Office-Dokumente ... 684

       20.5 ... Archive ... 685

       20.6 ... Lösungsvorschläge ... 686



21.  Datenbankzugriffe mit JDBC ... 703


       21.1 ... Datenbankmanagementsysteme ... 704

       21.2 ... Datenbankabfragen ... 704

       21.3 ... Lösungsvorschläge ... 712



22.  Schnittstellen zum Betriebssystem ... 727


       22.1 ... Konsole ... 728

       22.2 ... Properties ... 729

       22.3 ... Externe Prozesse ausführen ... 731

       22.4 ... Lösungsvorschläge ... 732



23.  Reflection, Annotationen und JavaBeans ... 741


       23.1 ... Reflection-API ... 742

       23.2 ... Annotationen ... 745

       23.3 ... Lösungsvorschläge ... 747



  Nachwort ... 757


  A.  Häufige Typen und Methoden im Java-Universum ... 759


       A.1 ... Pakete mit den häufigsten Typen ... 759

       A.2 ... Die 100 häufigsten Typen ... 761

       A.3 ... Die 100 häufigsten Methoden ... 765

       A.4 ... Die 100 häufigsten Methoden inklusive Parameterliste ... 769



  Index ... 775

Mehr Angebote zum Thema