Zum Hauptinhalt springen
Dekorationsartikel gehören nicht zum Leistungsumfang.
Einführung in Java
Ideal für Studium, Ausbildung und Beruf. Sprachgrundlagen inkl. objektorientierter Programmierung und mehr
Buch von Kai Günster
Sprache: Deutsch

39,90 €*

inkl. MwSt.

Versandkostenfrei per Post / DHL

auf Lager, Lieferzeit 4-7 Werktage

Kategorien:
Beschreibung

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

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
Zusammenfassung
Mit Übungsaufgaben, Codebeispielen und ausführlichen Lösungen
Inhaltsverzeichnis
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
Details
Erscheinungsjahr: 2020
Fachbereich: Programmiersprachen
Genre: Informatik, Mathematik, Medizin, Naturwissenschaften, Technik
Rubrik: Naturwissenschaften & Technik
Medium: Buch
Reihe: Rheinwerk Computing
Inhalt: 736 S.
ISBN-13: 9783836276559
ISBN-10: 3836276550
Sprache: Deutsch
Herstellernummer: 459/07655
Einband: Gebunden
Autor: Günster, Kai
Auflage: 3. Auflage
Hersteller: Rheinwerk Verlag GmbH
Verantwortliche Person für die EU: Rheinwerk Verlag GmbH, Rheinwerkallee 4, D-53227 Bonn, service@rheinwerk-verlag.de
Maße: 248 x 178 x 48 mm
Von/Mit: Kai Günster
Erscheinungsdatum: 27.05.2020
Gewicht: 1,49 kg
Artikel-ID: 117964164
Zusammenfassung
Mit Übungsaufgaben, Codebeispielen und ausführlichen Lösungen
Inhaltsverzeichnis
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
Details
Erscheinungsjahr: 2020
Fachbereich: Programmiersprachen
Genre: Informatik, Mathematik, Medizin, Naturwissenschaften, Technik
Rubrik: Naturwissenschaften & Technik
Medium: Buch
Reihe: Rheinwerk Computing
Inhalt: 736 S.
ISBN-13: 9783836276559
ISBN-10: 3836276550
Sprache: Deutsch
Herstellernummer: 459/07655
Einband: Gebunden
Autor: Günster, Kai
Auflage: 3. Auflage
Hersteller: Rheinwerk Verlag GmbH
Verantwortliche Person für die EU: Rheinwerk Verlag GmbH, Rheinwerkallee 4, D-53227 Bonn, service@rheinwerk-verlag.de
Maße: 248 x 178 x 48 mm
Von/Mit: Kai Günster
Erscheinungsdatum: 27.05.2020
Gewicht: 1,49 kg
Artikel-ID: 117964164
Sicherheitshinweis