Programmieren lernen mit Java

Programmieren lernen mit Java

 

 

 

von: Hans-Peter Habelitz

Rheinwerk Computing, 2017

ISBN: 9783836256070

Sprache: Deutsch

552 Seiten, Download: 12540 KB

 
Format:  EPUB, auch als Online-Lesen

geeignet für: geeignet für alle DRM-fähigen eReader geeignet für alle DRM-fähigen eReader Apple iPad, Android Tablet PC's Apple iPod touch, iPhone und Android Smartphones Online-Lesen
Typ: B (paralleler Zugriff)

 

eBook anfordern

Mehr zum Inhalt

Programmieren lernen mit Java



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, 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 auf der beiliegenden DVD oder im Anhang. Verweise auf die betreffenden Fundstellen sind im Text angegeben. Neben den Musterlösungen erhalten Sie auf der DVD die Versionen des JDK und der Entwicklungsumgebung Eclipse für die Betriebssysteme Windows, Linux und macOS als 32- und 64‐Bit-Versionen. Auch das Standardwerk »Java ist auch eine Insel« von Christian Ullenboom ist auf der DVD zum Buch enthalten. Da in einem einführenden Buch nicht alle Sprachdetails bis in die letzten Einzelheiten behandelt werden können, stellt »Java ist auch eine Insel« 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. des darin verbauten Prozessors. 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ß, 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 hohe Zuverlässigkeit

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 ü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 Ergebnis 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 Programmentwicklung bezeichnet.

1.1.3    Hilfsmittel für den...


Kategorien

Service

Info/Kontakt

  Info
Hier gelangen Sie wieder zum Online-Auftritt Ihrer Bibliothek