Habelitz | Programmieren lernen mit Java | E-Book | www.sack.de
E-Book

E-Book, Deutsch, 557 Seiten

Reihe: Rheinwerk Computing

Habelitz Programmieren lernen mit Java


8. Auflage 2024
ISBN: 978-3-367-10480-2
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection

E-Book, Deutsch, 557 Seiten

Reihe: Rheinwerk Computing

ISBN: 978-3-367-10480-2
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection



Schnell und einfach zum ersten Java-Programm!

Programmieren lernen leicht gemacht! Sie haben noch nie programmiert? Steigen Sie mit diesem Buch einfach ein! Beginnen Sie mit der Installation und den Java-Basics und schreiben Sie nach und nach etwas komplexere Programme . Trauen Sie sich an Objekte, Fenster und Datenbanken heran. Sie erfahren hier alles, was Sie wissen müssen.

Hans-Peter Habelitz stellt in diesem Buch die Inhalte besonders lernfreundlich dar – und zwar auch dann, wenn es ein wenig anspruchsvoller wird. Am Ende entwickeln Sie ansprechende Bedienoberflächen mit Dialogen und Schaltflächen. Anschauliche Beispiele stellen dabei sicher, dass Sie nie den Faden verlieren und den Stoff gut nachvollziehen können. Der Code ist sauber gegliedert und hebt sich deutlich vom restlichen Text des Buches ab. Zu jedem Kapitel gibt es eine Fülle an Übungen, damit Sie Ihr Wissen prüfen und festigen können.

  • Vom ersten Programm bis zur fertigen Anwendung
  • Mit vielen Beispielen und Übungsaufgaben
  • Inkl. Objekten, Bedienoberflächen, Grafik-Programmierung u. v .m.

Aus dem Inhalt:

  • Grundlagen
  • Java und Eclipse
  • Variablen und ihre Reichweite
  • Bedingungen, Schleifen & Co.
  • Die Welt der Objekte
  • Klassen, Objekte, Methoden
  • Zugriffsschutz richtig setzen
  • Fehler und Ausnahmen
  • Grafische Benutzeroberflächen
  • Fenster, Schaltflächen & Co.
  • GUI-Komponenten mit dem WindowBuilder
  • Animationen erstellen
  • Dateien und Datenbanken
  • Lese- und Schreibzugriff
  • Datenbanken mit JDBC
  • Datensätze präsentieren
Habelitz Programmieren lernen mit Java jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


  Danksagung ... 17

  1.  Einführung ... 19


       1.1 ... Was bedeutet Programmierung? ... 20

       1.2 ... Java ... 35

       1.3 ... Ein erstes Java-Programm ... 46

       1.4 ... Übungsaufgaben ... 60

       1.5 ... Ausblick ... 67

  2.  Grundbausteine eines Java-Programms ... 69


       2.1 ... Bezeichner und Schlüsselwörter ... 69

       2.2 ... Kommentare ... 71

       2.3 ... Variablen und Datentypen ... 72

       2.4 ... Operatoren und Ausdrücke ... 95

       2.5 ... Übungsaufgaben ... 105

       2.6 ... Ausblick ... 107

  3.  Kontrollstrukturen ... 109


       3.1 ... Anweisungsfolge (Sequenz) ... 109

       3.2 ... Auswahlstrukturen (Selektionen) ... 110

       3.3 ... Wiederholungsstrukturen (Schleifen oder Iterationen) ... 125

       3.4 ... Auswirkungen auf Variablen ... 133

       3.5 ... Ausblick ... 136

  4.  Einführung in Eclipse ... 137


       4.1 ... Die Entwicklungsumgebung Eclipse ... 137

       4.2 ... Erste Schritte mit Eclipse ... 147

       4.3 ... Fehlersuche mit Eclipse ... 160

       4.4 ... Ausblick ... 172

  5.  Klassen und Objekte ... 173


       5.1 ... Die Struktur von Java-Programmen ... 173

       5.2 ... Objekte ... 182

       5.3 ... Methoden ... 189

       5.4 ... Werte übergeben ... 196

       5.5 ... Ergebnisse ... 201

       5.6 ... Konstruktoren als spezielle Methoden ... 204

       5.7 ... Übungsaufgaben ... 209

       5.8 ... Ausblick ... 213

  6.  Mit Klassen und Objekten arbeiten ... 215


       6.1 ... Gemeinsame Nutzung ... 215

       6.2 ... Zugriffsmechanismen ... 218

       6.3 ... Beziehungen zwischen Klassen ... 224

       6.4 ... Vererbung ... 226

       6.5 ... Klassen testen mit Unittests ... 242

       6.6 ... Record-Klassen ... 248

       6.7 ... Übungsaufgaben ... 251

       6.8 ... Ausblick ... 258

  7.  Grundlegende Klassen ... 259


       7.1 ... Die Klasse »String« ... 259

       7.2 ... Die Klassen »StringBuffer« und »StringBuilder« ... 269

       7.3 ... Wrapper-Klassen ... 272

       7.4 ... Die »Date and Time API« ... 278

       7.5 ... Übungsaufgaben ... 291

       7.6 ... Ausblick ... 293

  8.  Grafische Benutzeroberflächen ... 295


       8.1 ... Einführung ... 295

       8.2 ... Grundlegende Klassen und Methoden ... 312

       8.3 ... Programmfenster mit weiteren Komponenten ... 317

       8.4 ... Übungsaufgaben ... 344

       8.5 ... Ausblick ... 350

  9.  Fehlerbehandlung mit Exceptions ... 351


       9.1 ... Umgang mit Fehlern ... 351

       9.2 ... Mit Exceptions umgehen ... 354

       9.3 ... Fortgeschrittene Ausnahmebehandlung ... 359

       9.4 ... Übungsaufgaben ... 364

       9.5 ... Ausblick ... 366

10.  Containerklassen ... 367


       10.1 ... Array ... 367

       10.2 ... »ArrayList« und »JList« ... 381

       10.3 ... Collections ... 392

       10.4 ... Übungsaufgaben ... 400

       10.5 ... Ausblick ... 404

11.  Dateien ... 407


       11.1 ... Die Klasse »File« ... 407

       11.2 ... Ein- und Ausgaben in Java ... 415

       11.3 ... Die API nutzen ... 423

       11.4 ... Beispielanwendungen ... 436

       11.5 ... Übungsaufgaben ... 457

       11.6 ... Ausblick ... 461

12.  Animationen und Threads ... 463


       12.1 ... Multitasking und Multithreading ... 463

       12.2 ... Zeitlich gesteuerte Abläufe programmieren ... 465

       12.3 ... Übungsaufgaben ... 490

       12.4 ... Ausblick ... 493

13.  Tabellen und Datenbanken ... 495


       13.1 ... Die Klasse »JTable« ... 495

       13.2 ... Datenbankzugriff ... 515

       13.3 ... Übungsaufgaben ... 529

       13.4 ... Ausblick ... 531

  Anhang ... 533


       A ... Materialien zum Buch ... 535

       B ... Ein Programm mit Eclipse als ».jar«-File speichern ... 537

       C ... Musterlösungen ... 541

       D ... Literatur ... 549

  Index ... 551


1    Einführung


Wer die Zukunft erforschen will, muss die Vergangenheit kennen.
– Chinesische Weisheit

Die Programmiersprache Java wird an vielen Schulen und Hochschulen als Basis für den Einstieg in die Programmierung verwendet. Beim Erlernen dieser erfolgreichen Programmiersprache möchte dieses Buch Sie unterstützen. Besonderer Wert wurde bei der Erstellung darauf gelegt, dass keine Programmierkenntnisse vorausgesetzt werden, sodass Sie das Programmieren von Grund auf lernen können. Bei der Auswahl der Entwicklungsumgebung wurde darauf geachtet, dass diese eine komfortable Arbeit ermöglicht und dass sie frei und für alle gängigen Betriebssysteme (also Windows, Linux und macOS) gleichermaßen verfügbar ist. Eclipse ist für den Einstieg nicht ganz einfach; Sie werden mit diesem Buch aber den Umgang damit lernen und leicht damit arbeiten können.

Dieses Buch führt Sie schrittweise in die Programmierung mit Java ein. Sie lernen alle wichtigen Sprachstrukturen anhand von Anwendungsbeispielen kennen, damit Sie schon bald Ihre eigenen Programme entwickeln können. An die meisten Kapitel schließen sich Übungsaufgaben an. Durch deren Bearbeitung wird der Umgang mit den neuen Sprachelementen und Strukturen eingeübt und gefestigt. Musterlösungen zu den Übungsaufgaben finden Sie als Quellcodedateien im Downloadmaterial oder im Anhang. Verweise auf die betreffenden Fundstellen sind im Text angegeben. Neben den Musterlösungen erhalten Sie als Downloadmaterial auch die Versionen des JDK (Java Development Kit) und der Entwicklungsumgebung Eclipse für die Betriebssysteme Windows, Linux und macOS. Da in einem einführenden Buch nicht alle Sprachdetails bis in die letzten Einzelheiten behandelt werden können, stellt das Buch »Java ist auch eine Insel« vom Rheinwerk Verlag eine sehr gute Ergänzung dar. Weitere Hinweise zu ergänzender Literatur, die zum Teil kostenlos im Internet zur Verfügung steht, sind im Literaturverzeichnis am Ende des Buches zusammengestellt.

1.1    Was bedeutet Programmierung?


Bevor Sie mit dem Programmieren loslegen können, brauchen Sie ein Grundverständnis dafür, was Programmierung überhaupt ist und wie sie »funktioniert«. Das sollen Ihnen die nächsten Abschnitte näherbringen.

1.1.1    Von den Anfängen bis heute


Das erste Computerprogramm, das jemals erstellt wurde, wird einer Frau zugeschrieben. Die britische Mathematikerin Ada Lovelace (1815–1852) entwickelte einen schriftlichen Plan, wie man mithilfe der mechanischen Rechenmaschine von Charles Babbage (1791–1871) Bernoulli-Zahlen berechnen kann. Das ist umso erstaunlicher, weil zu diesem Zeitpunkt lediglich Pläne für diese Rechenmaschine vorlagen. Diese mechanische Rechenmaschine (Analytical Engine), die zu Lebzeiten ihres Erfinders nie gebaut wurde, gilt als Vorläufer der heutigen Computer, und der Plan von Ada Lovelace wird als das erste Computerprogramm angesehen.

Seit der Erfindung der ersten mechanischen Rechenmaschinen bis zu den heutigen elektronischen Computersystemen haben sich viele weitreichende Veränderungen eingestellt. Das gilt sowohl für die Hardware als auch für die Arbeitsmittel, die zur Programmierung verwendet werden. Allerdings haben die grundlegenden Zusammenhänge bis heute ihre Gültigkeit bewahrt. Die frühen Programmierwerkzeuge orientierten sich noch sehr an der Hardwarestruktur und machten es notwendig, dass der Programmierer die Bausteine des Prozessors explizit kannte und ansprechen konnte. Zum Addieren der beiden Zahlen 12 und 38 können Sie in Java einfach die Anweisung

x = 12 + 38;

verwenden. Diese Schreibweise ist nicht neu, denn wir verwenden sie auch in der Mathematik, wenn die Variable x die Summe der beiden Zahlen 12 und 38 annehmen soll. In anderen aktuellen Programmiersprachen wie C/C++ sieht eine Addition genauso aus, und sie gilt unabhängig vom verwendeten Rechner bzw. dem darin verbauten Prozessor. In einer älteren hardwarenahen Sprache wie Assembler mussten Sie dafür etwa folgende Anweisungsfolge verwenden:

mov eax, 12
add eax, 38

Zuerst wurde die Zahl 12 in ein Prozessorregister mit dem Namen eax geschrieben (mov steht für das englische move), um in einem zweiten Schritt den Registerinhalt um den Wert 38 zu erhöhen. Der Programmierer musste z. B. wissen, wie die Register des Prozessors heißen und mit welchen Registern eine Addition ausgeführt werden kann. Dass unterschiedliche Prozessoren auch unterschiedliche Registerbezeichnungen verwenden können, hat das Programmieren zusätzlich erschwert.

Die frühen Computersysteme waren so einfach aufgebaut, dass dies auch noch zu leisten war. Moderne Computersysteme sind heute so komplex und entwickeln sich so schnell weiter, dass es kaum noch möglich ist, die Prozessordetails zu kennen. Glücklicherweise haben sich in dem gleichen Maße, in dem die Komplexität der Systeme zugenommen hat, auch die Programmierwerkzeuge weiterentwickelt. Zu diesen gehören Editoren, die schon beim Schreiben von Programmanweisungen auf mögliche Fehler aufmerksam machen und dabei helfen, den Programmtext übersichtlich zu formatieren. Auch Übersetzungsprogramme, die die Programmdateien so aufbereiten, dass sie auf verschiedenen Rechnern mit unterschiedlichen Prozessoren ausgeführt werden können, gehören dazu. Die Programmiersprachen haben sich der menschlichen Sprache angenähert und können wesentlich leichter als die frühen, sehr hardwarenahen Sprachen erlernt werden.

1.1.2    Wozu überhaupt programmieren?


Die Programmierung, d. h. die Erstellung eines Computerprogramms, besteht darin, die Lösungsschritte für eine Problemstellung so zu formulieren, dass sie von einem Computersystem ausgeführt werden können. Das bedeutet, dass dem Programmierer die notwendigen Lösungsschritte bekannt sein müssen. Entweder muss er sich den Lösungsweg selbst erarbeiten oder dieser wird ihm zur Verfügung gestellt. Beim Programmieren wird dieser allgemein formulierte Lösungsweg in eine Programmiersprache übertragen, die vom Computersystem weiterverarbeitet werden kann.

Da die Programmierung einen zeitaufwendigen Prozess darstellt, muss die Frage beantwortet werden, wann es sich lohnt, diese Zeit zu investieren. Die Übertragung einer Aufgabenstellung auf ein Computersystem ist dann sinnvoll, wenn dieses System seine speziellen Fähigkeiten auch ausspielen kann. Diese Fähigkeiten sind vor allem:

  • die hohe Verarbeitungsgeschwindigkeit

  • die zuverlässige Wiederholbarkeit

Die hohe Verarbeitungsgeschwindigkeit kann nur genutzt werden, wenn die zeitaufwendige Programmerstellung nicht ins Gewicht fällt. Das ist immer dann der Fall, wenn das Programm häufig verwendet wird und oft seinen Geschwindigkeitsvorteil ausspielen kann. Gleiches gilt für die hohe Zuverlässigkeit. Im Gegensatz zum Menschen zeigt ein Computersystem bei der Ausführung sich ständig wiederholender Anweisungen keinerlei Ermüdungserscheinungen. Konzentrationsfehler wegen Übermüdung sind ihm vollkommen fremd.

Die Arbeitsschritte zur Lösung einer Problemstellung werden allgemein auch als Algorithmus bezeichnet. Dieser Begriff wurde ursprünglich für die Beschreibung von Lösungswegen in der Mathematik verwendet und später auf die Informatik, die Wissenschaft, der die Programmierung zuzuordnen ist, übertragen. Jedem Computerprogramm liegt ein Algorithmus zugrunde. Deshalb liefert die Definition des Begriffs entscheidende Hinweise für die Beantwortung der Frage, ob eine Problemstellung mit einem Computerprogramm gelöst werden kann.

Ein Algorithmus muss die folgenden Anforderungen erfüllen:

  • Er muss aus Arbeitsschritten bestehen, die zur Lösung einer Problemstellung führen.

  • Er muss in einem endlichen Text vollständig beschreibbar sein.

  • Jeder Schritt muss zu einem eindeutigen Zwischenergebnis führen.

  • Er muss für gleiche Eingabewerte immer zum gleichen Ergebnis führen.

  • Das Verfahren muss zum richtigen Ergebnis führen.

  • Das Verfahren muss allgemeingültig sein, d. h., es muss auf alle zulässigen Daten anwendbar sein.

Die letzte Eigenschaft macht deutlich, dass ein Algorithmus der Lösung eines allgemeinen Problems dienen muss. Ein Programm, das nur die Zahlen 3 und 5 addieren kann, ergibt keinen Sinn – es muss in der Lage sein, zwei beliebige Zahlen zu addieren. Das bedingt aber, dass dem Programm mitgeteilt werden muss, welche beiden Zahlen addiert werden sollen. Dieses einfache Beispiel zeigt, dass die Lösung allgemeiner Probleme den Dialog zwischen Anwender und Programm notwendig macht.

Häufig erfordert der Entwurf eines Algorithmus als Vorstufe zur Programmierung Kreativität und Einfallsreichtum. Er wird oft als der schwierigste Teil im Prozess der...


Habelitz, Hans-Peter
Dipl.-Ing. Hans-Peter Habelitz unterrichtete Informatik an einer berufsbildenden Schule. Er hat schon vielen Anfängern das Programmieren beigebracht und als Dozent für Fachdidaktik der Informatik sein Know-how weitergegeben.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.