Einführung in Java - Ideal für Studium, Ausbildung und Beruf. Sprachgrundlagen inkl. objektorientierter Programmierung und mehr

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


Produktdetails  
Verlag Rheinwerk Verlag
Auflage 3. Auflage, Juni 2020
Seiten 736
Format 17,5 x 24,3 x 4,6 cm
Gewicht 1490 g
Reihe Rheinwerk Computing
ISBN-10 3836276550
ISBN-13 9783836276559
Bestell-Nr 83627655A

Produktbeschreibung  

Mit diesem Buch steigen Sie ohne Vorkenntnisse in Java und die objektorientierte Programmierung ein. Schritt für Schritt machen Sie sich mit der Sprache und ihren Konzepten vertraut. Sie lernen, in Algorithmen zu denken und Java sowie die vielen Werkzeuge Ihrer Plattform geschickt zu nutzen. Immer praxisnah und mit Gefühl für mögliche Verständnishürden: So werden auch professionelle Themen wie Testabdeckung, Multithreading und Servletentwicklung einsteigergerecht vermittelt. Schließlich schreiben Sie zeitgemäßen Code, der auch komplexe Software trägt. Ideal für Ausbildung, Studium und Beruf!



Aus dem Inhalt:



  • Die Entwicklungsumgebung einrichten und kennenlernen

  • Grundkonzepte glasklar vorgestellt

  • Sprachmittel gründlich verstehen

  • Neue Features einsetzen

  • Unit Tests und Test Driven Design

  • Datenbanken anbinden

  • In Servlet-Technologie einsteigen

  • Events einsetzen und asynchron programmieren

  • GUIs entwickeln

  • Guten Code schreiben

  • Mit Dateien und Streams arbeiten

  • In die Entwicklung von Android-Apps einsteigen


Inhalt:




  Materialien zum Buch ... 19




  1.  Einführung ... 21



       1.1 ... Was ist Java? ... 22


       1.2 ... Die Arbeitsumgebung installieren ... 28


       1.3 ... Erste Schritte in NetBeans ... 30


       1.4 ... Das erste Programm ... 32


       1.5 ... In Algorithmen denken, in Java schreiben ... 41


       1.6 ... Die Java-Klassenbibliothek ... 47


       1.7 ... Dokumentieren als Gewohnheit -- Javadoc ... 50


       1.8 ... JARs erstellen und ausführen ... 56


       1.9 ... Mit dem Debugger arbeiten ... 61


       1.10 ... Das erste eigene Projekt ... 66


       1.11 ... Zusammenfassung ... 68





  2.  Variablen und Datentypen ... 69



       2.1 ... Variablen ... 69


       2.2 ... Primitivtypen ... 73


       2.3 ... Objekttypen ... 87


       2.4 ... Objekt-Wrapper zu Primitiven ... 91


       2.5 ... Array-Typen ... 94


       2.6 ... Zusammenfassung ... 96





  3.  Entscheidungen ... 97



       3.1 ... Entweder-oder-Entscheidungen ... 97


       3.2 ... Logische Verknüpfungen ... 104


       3.3 ... Mehrfach verzweigen mit 'switch' ... 110


       3.4 ... Zusammenfassung ... 116





  4.  Wiederholungen ... 117



       4.1 ... Bedingte Wiederholungen mit 'while' ... 117


       4.2 ... Abgezählte Wiederholungen -- die 'for'-Schleife ... 121


       4.3 ... Abbrechen und überspringen ... 123


       4.4 ... Zusammenfassung ... 126





  5.  Klassen und Objekte ... 127



       5.1 ... Klassen und Objekte ... 128


       5.2 ... Access-Modifier ... 130


       5.3 ... Felder ... 132


       5.4 ... Methoden ... 133


       5.5 ... Warum Objektorientierung? ... 142


       5.6 ... Konstruktoren ... 144


       5.7 ... Statische Felder und Methoden ... 148


       5.8 ... Unveränderliche Werte ... 151


       5.9 ... Spezielle Objektmethoden ... 154


       5.10 ... Zusammenfassung ... 156





  6.  Objektorientierung ... 157



       6.1 ... Vererbung ... 158


       6.2 ... Interfaces und abstrakte Datentypen ... 171


       6.3 ... Übung: Objektorientierte Modellierung ... 179


       6.4 ... Innere Klassen ... 180


       6.5 ... Enumerationen ... 187


       6.6 ... Zusammenfassung ... 190





  7.  Unit Testing ... 191



       7.1 ... Das JUnit-Framework ... 193


       7.2 ... Fortgeschrittene Unit Tests ... 199


       7.3 ... Besseres Design durch Testfälle ... 205


       7.4 ... Zusammenfassung ... 208





  8.  Die Standardbibliothek ... 209



       8.1 ... Zahlen ... 209


       8.2 ... Strings ... 214


       8.3 ... Reguläre Ausdrücke ... 224


       8.4 ... Zeit und Datum ... 231


       8.5 ... Internationalisierung und Lokalisierung ... 236


       8.6 ... Zusammenfassung ... 244





  9.  Fehler und Ausnahmen ... 245



       9.1 ... Exceptions werfen und behandeln ... 245


       9.2 ... Verschiedene Arten von Exceptions ... 252


       9.3 ... Invarianten, Vor- und Nachbedingungen ... 258


       9.4 ... Zusammenfassung ... 260





10.  Arrays und Collections ... 261



       10.1 ... Arrays ... 261


       10.2 ... Die for-each-Schleife ... 271


       10.3 ... Variable Parameterlisten ... 271


       10.4 ... Collections ... 273


       10.5 ... Typisierte Collections -- Generics ... 278


       10.6 ... Maps ... 288


       10.7 ... Zusammenfassung ... 290





11.  Lambda-Ausdrücke ... 291



       11.1 ... Was sind Lambda-Ausdrücke? ... 292


       11.2 ... Die Stream-API ... 304


       11.3 ... Un-Werte als Objekte -- 'Optional' ... 321


       11.4 ... Eine Warnung zum Schluss ... 324


       11.5 ... Zusammenfassung ... 325





12.  Dateien, Streams und Reader ... 327



       12.1 ... Dateien und Verzeichnisse ... 328


       12.2 ... Reader, Writer und die 'anderen' Streams ... 334


       12.3 ... Objekte lesen und schreiben ... 346


       12.4 ... Netzwerkkommunikation ... 349


       12.5 ... Zusammenfassung ... 352





13.  Multithreading ... 353



       13.1 ... Threads und Runnables ... 354


       13.2 ... Atomare Datentypen ... 361


       13.3 ... Synchronisation ... 362


       13.4 ... Fortgeschrittene Koordination zwischen Threads ... 370


       13.5 ... Die Zukunft -- wortwörtlich ... 376


       13.6 ... Das Speichermodell von Threads ... 381


       13.7 ... Zusammenfassung ... 383





14.  Servlets -- Java im Web ... 385



       14.1 ... Einen Servlet-Container installieren ... 386


       14.2 ... Die erste Servlet-Anwendung ... 392


       14.3 ... Servlets programmieren ... 403


       14.4 ... Java Server Pages ... 410


       14.5 ... Langlebige Daten im Servlet -- Ablage in Session und Application ... 416


       14.6 ... Fortgeschrittene Servlet-Konzepte -- Listener und Initialisierung ... 419


       14.7 ... Zusammenfassung ... 422





15.  Datenbanken und Entitäten ... 423



       15.1 ... Was ist eine Datenbank? ... 424


       15.2 ... Mit einer Datenbank über die JPA verbinden ... 431


       15.3 ... Anwendung und Entitäten ... 436


       15.4 ... Entitäten laden ... 439


       15.5 ... Entitäten löschen ... 444


       15.6 ... Beziehungen zu anderen Entitäten ... 445


       15.7 ... Zusammenfassung ... 452





16.  GUIs mit JavaFX ... 453



       16.1 ... Einführung ... 453


       16.2 ... Installation ... 454


       16.3 ... Architektur von JavaFX ... 454


       16.4 ... GUI-Komponenten ... 457


       16.5 ... Layouts ... 468


       16.6 ... GUI mit Java-API -- Urlaubsverwaltung ... 478


       16.7 ... Event-Handling ... 482


       16.8 ... JavaFX-Properties und Binding ... 489


       16.9 ... Deklarative GUIs mit FXML ... 495


       16.10 ... Layout mit CSS ... 501


       16.11 ... Transformationen, Animationen und Effekte ... 505


       16.12 ... Übungen ... 512


       16.13 ... Zusammenfassung ... 513





17.  Android ... 515



       17.1 ... Einstieg in die Android-Entwicklung ... 515


       17.2 ... Eine Benutzeroberfläche designen ... 528


       17.3 ... Anwendungen mit mehreren Activities ... 535


       17.4 ... Permissions und SystemServices ... 542


       17.5 ... Apps im Play Store veröffentlichen ... 546


       17.6 ... Zusammenfassung ... 546





18.  Hinter den Kulissen ... 549



       18.1 ... Klassenpfade und Classloading ... 549


       18.2 ... Garbage Collection ... 556


       18.3 ... Flexibel codieren mit der Reflection-API ... 563


       18.4 ... Blick in die Zukunft ... 569


       18.5 ... Zusammenfassung ... 572





19.  Und dann? ... 573



       19.1 ... Jakarta EE ... 574


       19.2 ... Open-Source-Software ... 579


       19.3 ... Ergänzende Technologien ... 580


       19.4 ... Andere Sprachen ... 583


       19.5 ... Programmieren Sie! ... 585





  Anhang ... 587



       A ... Java-Bibliotheken ... 589


       B ... Lösungen zu den Übungsaufgaben ... 597


       C ... Glossar ... 707


       D ... Kommandozeilenparameter ... 723





  Index ... 731

Mehr Angebote zum Thema