Java
eBook - ePub

Java

Der Sprachkurs für Einsteiger und Individualisten

  1. German
  2. ePUB (handyfreundlich)
  3. Über iOS und Android verfügbar
eBook - ePub

Java

Der Sprachkurs für Einsteiger und Individualisten

Angaben zum Buch
Buchvorschau
Inhaltsverzeichnis
Quellenangaben

Über dieses Buch

Java programmieren lernen auf die etwas andere Art: Wenn Sie sich eine verständliche Einführung wünschen, liegen Sie mit diesem Buch genau richtig, es kann aber noch viel mehr! Witzige Beispiele, knifflige Aufgaben und unzählige schräge Anekdoten von Programmier-Original Arnold Willemer sorgen dafür, dass Sie gar nicht anders können, als Java zu lernen. Von der ersten Schleife über die Datenbank-Entwicklung bis zu Ihrer eigenen Android-App werden Sie alles lernen, was Sie brauchen - und haben auch noch Spaß dabei!

Häufig gestellte Fragen

Gehe einfach zum Kontobereich in den Einstellungen und klicke auf „Abo kündigen“ – ganz einfach. Nachdem du gekündigt hast, bleibt deine Mitgliedschaft für den verbleibenden Abozeitraum, den du bereits bezahlt hast, aktiv. Mehr Informationen hier.
Derzeit stehen all unsere auf Mobilgeräte reagierenden ePub-Bücher zum Download über die App zur Verfügung. Die meisten unserer PDFs stehen ebenfalls zum Download bereit; wir arbeiten daran, auch die übrigen PDFs zum Download anzubieten, bei denen dies aktuell noch nicht möglich ist. Weitere Informationen hier.
Mit beiden Aboplänen erhältst du vollen Zugang zur Bibliothek und allen Funktionen von Perlego. Die einzigen Unterschiede bestehen im Preis und dem Abozeitraum: Mit dem Jahresabo sparst du auf 12 Monate gerechnet im Vergleich zum Monatsabo rund 30 %.
Wir sind ein Online-Abodienst für Lehrbücher, bei dem du für weniger als den Preis eines einzelnen Buches pro Monat Zugang zu einer ganzen Online-Bibliothek erhältst. Mit über 1 Million Büchern zu über 1.000 verschiedenen Themen haben wir bestimmt alles, was du brauchst! Weitere Informationen hier.
Achte auf das Symbol zum Vorlesen in deinem nächsten Buch, um zu sehen, ob du es dir auch anhören kannst. Bei diesem Tool wird dir Text laut vorgelesen, wobei der Text beim Vorlesen auch grafisch hervorgehoben wird. Du kannst das Vorlesen jederzeit anhalten, beschleunigen und verlangsamen. Weitere Informationen hier.
Ja, du hast Zugang zu Java von Arnold V. Willemer im PDF- und/oder ePub-Format sowie zu anderen beliebten Büchern aus Computer Science & Software Development. Aus unserem Katalog stehen dir über 1 Million Bücher zur Verfügung.

Information

Verlag
Wiley-VCH
Jahr
2013
ISBN
9783527677160

Kapitel 1

Ein Loblied auf Java

Inhalt
  • Was Java alles kann
  • Interpreter vs. Compiler
  • Von virtuellen Maschinen und Wohnmobilen
Von dem Autor eines Fachbuchs für eine Programmiersprache erwartet man, dass er im ersten Kapitel ein Loblied auf diese Sprache singt. Wenn Sie dieses Buch kaufen, haben Sie vermutlich gute Gründe, Java lernen zu wollen. Warum soll ich dann noch etwas dazu sagen? Ich werde doch einem potentiellen Leser nicht von Java abraten und so einen weiteren Verkauf verhindern! Wie soll ich dann denn Bestseller-Autor werden? Aber gut! Natürlich bin ich gern bereit, etwas Gutes über Java zu sagen.

1.1 Das Profil von Java

Java! Kaum eine Programmiersprache hat solch einen hübschen Namen! Klingt Java nicht nach Südsee, Urlaub und weißen Stränden? Benannt wurde Java aber eigentlich nach Kaffee. Auch das ist schön. Denn wer von uns mag denn keinen Kaffee? Wer dann tatsächlich weder Kaffee noch Südseeinsel mag, wird wohl Python programmieren müssen. Aber ob Schlangen wirklich schöner sind? Vielleicht sollte ich doch erzählen, welche Besonderheiten Java so hat.

Objektorientiert

Java ist objektorientiert. Und weil objektorientiert beim Programmieren heutzutage ganz wichtig ist, zwingt Java den Programmierer dazu, ob er will oder nicht. Nun ist die objektorientierte Programmierung, von ihren Fans auch kurz OOP genannt, wirklich hilfreich bei der Bewältigung großer Projekte. Darum sollten Sie Java diesen Zwang nicht übel nehmen. Damit ich nicht allzu sehr ins Schwärmen gerate, werde ich hier auf Details zur OOP verzichten und dies an geeigneter Stelle nachholen. Beispielsweise im Abschnitt 6.1.

Abgesichert und gut gepolstert

Ein typisches Merkmal von Java ist der Versuch, so viele Fehlerquellen auszuräumen wie irgend möglich und so den Programmierer vor seinem eigenen Fehlverhalten zu beschützen. Ein gutes Beispiel ist die Müllabfuhr, die Garbage Collection. Programmierer vergessen schon mal die Beseitigung ihrer Speicherleichen. Und wir wissen ja alle, was mit alterndem Müll geschieht: Er beginnt langsam aber sicher intensiv zu stinken. Aber trotz aller Vorsichtsmaßnahmen durch Java ist eine sorgfältige Programmierung nicht überflüssig geworden. Ja, es gibt das Gerücht, dass auch schon einmal ein Java-Programm abgestürzt sei.

Portabel

Wirklich brillieren kann Java allerdings auf dem Gebiet der Portabilität. Der Programmierer schreibt ein Programm, übersetzt es und es läuft auf Linux, Mac und Windows. Das ist schon sehr beeindruckend. Bei vielen anderen Programmiersprachen müssten Sie das Programm für jede Plattform neu schreiben. Ein Java-Programm sollte hingegen eigentlich auch auf jedem Telefon, der programmierbaren Fernbedienung, dem Toaster und auf allen Internetseiten laufen. Aber da ist sie wieder, die lästige Realität. Bei den Telefonen sind die Displays sehr klein, und bei Webanwendungen gibt es aus Sicherheitsgründen keinen Zugriff auf die lokalen Dateien. So müssen vielleicht nicht immer gleich Extra-Süppchen gekocht werden, aber manchmal muss die Beilage an das jeweilige Ziel angepasst werden. Weniger kulinarisch gesagt: Sie können zwar auch auf exotischen Umgebungen Java programmieren, müssen aber ein paar Einschränkungen und Besonderheiten in Kauf nehmen.
Und dann gibt es noch marktpolitische Gründe, warum Java-Programme nicht überall da laufen dürfen, wo sie könnten. So hat Microsoft schon früh seine Unterstützung für Java zurückgezogen, als klar wurde, dass der Benutzer bei portablen Programmen frei wählen kann, ob er statt Windows vielleicht ein ganz anderes Betriebssystem verwenden möchte. Microsoft konnte zwar nicht verhindern, dass Java-Programme auch auf Windows laufen, sie müssen sich die Umgebung, in der sie laufen, aber selbst mitbringen. Apple unterbindet die Programmierung von iPhone-Apps in Java, angeblich um Sicherheitslücken zu vermeiden. Ein Schelm, der »Android« dabei denkt.

Alle Standards eingebaut

Wenn eine Anwendung überall laufen soll, ergibt sich zwangsläufig, dass alles an Bord von Java sein muss, was das Programm je benötigen könnte. So ist insbesondere die grafische Oberfläche der Programme aus der Sicht des Java-Programmierers überall gleich. Andere Programmierer müssen für Windows entweder Win32, MFC oder .NET lernen. Für Linux sollten Sie GTK oder Qt beherrschen. Und natürlich hat der Mac auch eine ganz eigene Programmierschnittstelle. Dasselbe gilt auch für Datenbanken oder die Prozessverwaltung. Der Java-Programmierer programmiert alle Datenbanken gleich. Willkommen in der wunderbar langweiligen Welt der standardisierten Umgebung!

Performance

Ja, zugegeben: Java-Programme haben nicht den Ruf, mit quietschenden Reifen ihre Aufgaben zu erledigen. Das beginnt schon beim Start einer Java-Anwendung. Da startet nämlich zunächst die virtuelle Maschine durch, bevor das Programm das erste Mal husten kann. Nun weiß jeder Power-User, dass Java-Programme interpretiert werden (was das ist, steht im nächsten Abschnitt), und Interpreter haben seit den Zeiten von BASIC den Ruf elender Schnarchnasen.
Nun übersetzt das Java-Laufzeitsystem einen vorkompilierten Code, der auf schnelle Ausführung optimiert ist, und nicht irgendwelche BASIC-Textzeilen. Außerdem ist es auch schon über zwanzig Jahre her, dass die meisten C-64 ihren Weg in den Elektronikschrott gefunden haben. Und seither sind unsere Computer so schnell geworden, dass Sie einen aktuellen Computer vom Discounter nur an seine Grenzen fahren können, indem Sie ihm mit der Konvertierung von Spielfilmen drohen oder einen Ego-Shooter spielen wollen, bei dem Sie das Blut in 3D spritzen sehen wollen. Auf einem Durchschnittsrechner werden Sie also keine Verzögerung bei der Ausführung der Java-Programme bemerken. Überraschenderweise benutze ich gerade für den Videoschnitt seit Jahren ein Java-Programm, das ich unter anderem wegen seiner Geschwindigkeit schätze.

1.2 Programmiersprache, Interpreter und Compiler

Java ist eine Programmiersprache. Programmiersprachen sind für Menschen gemacht, damit sie darin Anweisungen für Computer codieren können. Das Problem ist, dass Computer eigentlich solche Sprachen nicht verstehen. Sie schwärmen eher für Zahlenkombinationen, die sie dann für Befehle halten und ausführen. Diese Diskrepanz muss irgendwie überbrückt werden. Es gibt zwei Arten von Programmen, die genau dies tun:
  • Ein Compiler arbeitet wie ein Übersetzungsbüro. Man schickt den Quellcode hin und erhält den Maschinencode zurück. Mit dem Ergebnis füttert man den Computer.
  • Ein Interpreter entspricht eher einem Simultandolmetscher. Jeder Programmbefehl wird während der Laufzeit des Programms abgearbeitet.
Und was macht nun Java? Beides! Ich habe ja gesagt, dass der Java-Code interpretiert wird. Aber das ist nur die halbe Wahrheit. Zuvor übersetzt der Java-Compiler, der von seinen Freunden javac genannt wird, den Quellcode in einen Maschinencode für eine Maschine, die es gar nicht gibt. Und dieser Maschinencode wird dann auf jeder Zielmaschine interpretiert.

1.3 Die virtuelle Maschine und das ultimative Wohnmobil

Sowohl Compiler als auch Interpreter einzusetzen, erscheint zunächst völlig sinnlos, das dahinterstehende Prinzip lässt sich aber an meinem Traum eines ultimativen Wohnmobils recht anschaulich erläutern: Es ist zusammengebaut aus einem Kleinlaster und einem alten Wohnwagen. Da sind richtig gute Ideen eingebaut. Die Betten sind bequem und mit einem Griff zur Sitzecke umgebaut. Die energieeffiziente Küche nutzt den kleinen Platz ideal. Die Dusche verbraucht kaum Wasser und hat doch einen vollen Strahl. Jetzt stellen Sie sich noch vor, das Wohnmobil habe einen speziellen Antrieb, der auf Solarenergie und Wasserstoff basiert. Wenn es nicht fährt, nutzt es die Sonne, um das bei Regen aufgefangene Wasser in Wasserstoff und Sauerstoff aufzuteilen.
Das Super-Wohnmobil hat nur einen Nachteil. Es fährt nur auf der Straße. Das ist für ein Wohnmobil nicht ungewöhnlich, ich fahre aber nun mal genauso gerne mit einem Boot in Urlaub. Es wäre also toll, wenn ich als Unterbau auch einen Bootsrumpf darunter setzen könnte. Es gibt eine klare Verbindung, an denen die Anschlüsse und das Zahnrad für den Antrieb sitzen und schon kann die Wohnzelle einfach von einem Kran vom Boot auf den Laster und umgekehrt gesetzt werden. Wenn man nun noch jemanden findet, der einen Luftkissenunterbau herstellt, könnte man sogar in den Everglades Urlaub machen und Alligatoren füttern. Letzteres ist aber vermutlich verboten. Vor allem wenn man dazu die Schwiegermutter verwendet.
1
Abbildung 1.1 Vom Wohnmobil zum Wohnboot
 
Und was hat das jetzt mit der virtuellen Maschine zu tun? Ganz einfach! Das Programm ist die Kabine. Sie verändert sich nicht. Sie setzt auf einem Unterbau auf, der sie von der harten Wirklichkeit trennt. Ob das Vehikel zu Wasser oder zu Land unterwegs ist, muss die Kabine nicht wissen. Der Unterbau ist also die Virtuelle Maschine und die Kabine die Java-Anwendung. Die virtuelle Maschine ist das Java Runtime Environment (JRE). Bei einigen Systemen ist es bereits installiert oder eingebaut, beispielsweise bei Android-Handys oder bei Webbrowsern. Bei anderen Systemen muss man es im Zweifelsfall nachinstallieren.
Wo wir gerade bei dreibuchstabigen Kürzeln sind: Es gibt da noch das JDK. Das JDK ist das Java Development Kit. Das ist der Werkzeugsatz, den der Programmierer benötigt, um Java-Programme zu entwickeln. Es enthält beispielsweise den Compiler, der aus dem Source-Code den Zwischencode erzeugt, der dann später von der JRE ausgeführt werden kann. Das JDK enthält den Compiler für den Code der virtuellen Maschine, und das JRE interpretiert diesen Code für die Zielmaschine.

Kapitel 2

Entwicklung mit IDEen und ohne

Inhalt
  • Hallo Welt!
  • Das Java Development Kit installieren
  • Eclipse erleichtert das Programmierleben.
Ich denke, dass nun der Tatendrang aus Ihnen hervorbricht, denn es sollen Programme entstehen. Dazu benötigen Sie als Programmierer Werkzeug und davon gibt es reichlich und erstaunlicherweise alles kostenlos. Die meisten Programmierer bevorzugen eine IDE. IDE hat leider nicht zwangsläufig etwas mit Idee zu tun, sondern ist die Abkürzung für Integrated Development Environment, also integrierte Entwicklungsumgebung. Diese Programme enthalten einen Editor, den Compiler, einen Debugger, eine Projektverwaltung und einige sehr praktische Tools. Aber wo wir gerade bei Idee sind: Es ist nicht falsch, wenn ein Java-Programmierer eine Idee davon hat, wie es unter der Motorhaube seiner IDE aussieht. Dazu besuchen wir das Java Development Kit.

2.1 Ein kleines Programmbeispiel als Opfer

Um mit den Entwicklungsumgebungen wenigstens kurz spielen zu können, brauchen wir erst einmal ein kleines Java-Programm. Seit dem Erscheinen der Programmiersprache C hat es sich eingebürgert, ein Minimalprogramm zu erstellen, das Hallo Welt! auf den Bildschirm schreibt. In Java sieht das so aus:
 public class ErsteKlasse { public static void main(String[] args) { System.out.println(Hallo Welt!); } }
Listing 2.1 Erster Versuch
Viele Details dieses kleinen Programms werden erst im Laufe des Buchs genauer erläutert. Aber damit nicht der Eindruck entsteht, die Zeilen seien vom Himmel gefallen, darf ich Sie vielleicht mit ihnen kurz bekannt manchen.
  • public: Das Schlüsselwort public gibt den folgenden Bereich für die freie Verwendung von außen frei. Es gibt keine Geheimnisse, Paparazzi werden arbeitslos. public wird als Modifizierer vorangestellt und bezieht sich hier auf die Klasse. In der nächsten Zeile veröffentlicht es eine Methode. Eine Methode ist etwas, das etwas tut.
  • class: Das Schlüsselwort class ist keine Auszeichnung, sondern ist auch für weniger tolle Programme zwingend. Jedes Java-Programm besteht aus mindestens einer Klasse. Dem Schlüsselwort folgt der Name der Klasse, den der Programmierer aussucht. Hier ist es ErsteKlasse.
  • Geschweifte Klammern: Mit einem geschweiften Klammernpaar wird ein Block von ...

Inhaltsverzeichnis

  1. Cover
  2. Titelei
  3. Inhaltsverzeichnis
  4. Vorwort
  5. Kapitel 1: Ein Loblied auf Java
  6. Kapitel 2: Entwicklung mit IDEen und ohne
  7. Kapitel 3: Aufstieg zum Programmierer
  8. Kapitel 4: Entscheiden und Wiederholen
  9. Kapitel 5: Funktionierende Methoden
  10. Kapitel 6: Klasse Objekte
  11. Kapitel 7: Arrays
  12. Kapitel 8: Die Strings: Viele, viele Buchstaben
  13. Kapitel 9: Klassen erweitern
  14. Kapitel 10: Hoffentlich Exception-versichert
  15. Kapitel 11: Fertige Bausteine zur Selbstbedienung
  16. Kapitel 12: Fenster, Mäuse und Grafik
  17. Kapitel 13: Das Spiel Bermuda als Swing-Anwendung
  18. Kapitel 14: Erstellen eines Layouts
  19. Kapitel 15: Kontrollelemente
  20. Kapitel 16: Android
  21. Kapitel 17: Datenelemente sammeln und anordnen
  22. Kapitel 18: Dateien halten die Daten frisch
  23. Kapitel 19: Datenbankzugriff per JDBC
  24. Kapitel 20: Parallelverarbeitung mit Threads
  25. Kapitel 21: Schluss
  26. Stichwortverzeichnis