Java programmieren lernen für Dummies - Barry Burd - E-Book

Java programmieren lernen für Dummies E-Book

Barry Burd

0,0
18,99 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.
Mehr erfahren.
Beschreibung

Steigen Sie mit diesem Buch in die Welt des Programmierens ein und zwar mit der beliebten Programmiersprache Java! Schritt für Schritt werden Sie mit den Grundlagen, wie zum Beispiel Variablen, Schleifen und objektorientierter Programmierung, vertraut gemacht, probieren viele anschauliche Beispiele aus und schreiben Ihr erstes eigenes Programm. Dieses Buch steht Ihnen bei allen Herausforderungen jederzeit mit hilfreichen Tipps und Lösungsvorschlägen zur Seite, sodass Sie auf Ihrem Weg zum Programmierer optimal gerüstet sind! Mit den Programmbeispielen zum Herunterladen können Sie das Gelernte direkt ausprobieren.

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern

Seitenzahl: 640

Veröffentlichungsjahr: 2018

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Java programmieren lernen für Dummies

Bibliografische Information der Deutschen Nationalbibliothek

Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar.

2. Auflage 2018

© 2018 WILEY-VCH Verlag GmbH & Co. KGaA, Weinheim

Original English language edition Beginning Programming with Java For Dummies © 2017 by Wiley Publishing, Inc.

All rights reserved including the right of reproduction in whole or in part in any form. This translation published by arrangement with John Wiley and Sons, Inc.

Copyright der englischsprachigen Originalausgabe Beginning Programming with Java For Dummies © 2017 by Wiley Publishing, Inc.

Alle Rechte vorbehalten inklusive des Rechtes auf Reproduktion im Ganzen oder in Teilen und in jeglicher Form. Diese Übersetzung wird mit Genehmigung von John Wiley and Sons, Inc. publiziert.

Wiley, the Wiley logo, Für Dummies, the Dummies Man logo, and related trademarks and trade dress are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affiliates, in the United States and other countries. Used by permission.

Wiley, die Bezeichnung »Für Dummies«, das Dummies-Mann-Logo und darauf bezogene Gestaltungen sind Marken oder eingetragene Marken von John Wiley & Sons, Inc., USA, Deutschland und in anderen Ländern.

Das vorliegende Werk wurde sorgfältig erarbeitet. Dennoch übernehmen Autoren und Verlag für die Richtigkeit von Angaben, Hinweisen und Ratschlägen sowie eventuelle Druckfehler keine Haftung.

Coverfoto: © Hoda Bogdan - Fotolia.com

Korrektur: Claudia Lötschert, Neuss

Print ISBN: 978-3-527-71441-4

ePub ISBN: 978-3-527-81263-9

mobi ISBN: 978-3-527-81261-5

Über den Autor

Dr. Barry Burd beendete sein Studium der Computerwissenschaften an der Rutgers University mit einem Master of Science und erlangte an der University of Illinois den PhD (Doktorgrad) in Mathematik. Während seiner Tätigkeit als Assistent in Champaign-Urbana wurde er von den Studierenden fünf Mal auf die Liste der universitätsweit besten Lehrkräfte gewählt.

Seit 1980 arbeitet Dr. Burd als Dozent am Department of Mathematics and Computer Science der Drew University in Madison, New Jersey. Neben seinen Vorlesungen hält er Vorträge auf Kongressen in den USA, Europa, Australien und Asien und ist Autor verschiedener Podcasts und Videos zur Programmierung und weiteren IT-Themen. Er hat diverse Artikel und Bücher geschrieben, darunter auch die bei Wiley erschienenen Titel Java für Dummies, Java für die Android-Entwicklung für Dummies sowie Android Application Development All-in-One For Dummies.

Dr. Burd lebt mit seiner n Jahre alten Frau – wobei gilt: n > 35 – in Madison im US-Bundesstaat New Jersey. In seiner Freizeit begeistert Dr. Burd sich für Indoor-Aktivitäten wie ein gutes Essen, ein gepflegtes Gespräch und einen gesunden Nachtschlaf.

Widmung

Für Harriet, Sam und Jennie, Sam und Ruth, Abram und Katie sowie Benjamin und Jennie. Und auch für Basheva.

Danksagung

Dr. Burds To-do-Liste vom 13. Mai 2017:

Erledigen:

Pralinen an Paul Levesque (Leiter des Buchprojekts) und Melba Hopper (Lektorin) schicken. Wie Kapitel 4 zu entnehmen ist, gehört Schokolade zu den kostbarsten Gütern, die die Menschheit kennt. Wenn ich folglich Schokolade verschenke, tue ich dies wohlüberlegt und ganz bewusst.

Erledigen:

Gedenktafel zu Ehren von Katie Mohr, meiner Autorenbetreuerin bei Wiley, aufstellen. Obwohl ich eigentlich mit anderen Projekten beschäftigt war, beharrte Katie darauf, dass ich diese Auflage schreibe. Ursprünglich hatte ich mich ja auf einen langen Urlaub ohne Aussicht auf ein neues Buchprojekt gefreut, aber egal: Sie hatte recht, ich nicht.

Erledigen:

Dankesbrief an Chad Darby schicken, der als Fachlektor meinem Werk nicht nur den letzten Schliff verliehen, sondern mir – oh Wunder! – auch nicht allzu viel zusätzliche Arbeit beschert hat.

Erledigen:

Frank Thornton, Bonnie Averbach und Herbert Putz an der Temple University besuchen. Ihnen danken, weil sie mich auf eine Laufbahn als Dozent eingespurt haben. Hätte ich einen anderen Beruf ergriffen, dann hätte ich im Zweifelsfall überhaupt keine Zeit zum Schreiben. (Außerdem beim Aufenthalt in Philadelphia nicht vergessen, eines dieser wundervollen Käsesteaks zu ordern.)

Erledigen:

E-Mail an Gaisi Takeuti an der University of Illinois sowie an William Wisdom und Hughes LeBlanc an der Temple University senden. Ihnen für die Einführung in die formale Logik danken. Diese hat mein Leben als Mathematiker und Informatiker wesentlich bereichert.

Erledigen:

Mehr Zeit mit der Familie verbringen. Sie daran erinnern, dass ich der Typ bin, den man früher mal öfter im Haus getroffen hat – damals, bevor ich mit dem Schreiben von Büchern begann. Das Versprechen erneuern, meine Sachen wegzuräumen. Locker bleiben und alle begonnenen Sätze zu Ende sprechen. Daran denken, dass ich nie all die Liebe zurückgeben kann, die ich von ihnen bekommen habe. Es trotzdem weiter versuchen.

Inhaltsverzeichnis

Cover

Titelseite

Impressum

Über den Autor

Widmung

Danksagung

Einführung

Über dieses Buch

Wie Sie dieses Buch verwenden

Konventionen in diesem Buch

Was Sie nicht lesen müssen

Törichte Annahmen über den Leser

Aufbau des Buchs

Symbole, die in diesem Buch verwendet werden

Wie es weitergeht

Teil I: Erste Schritte mit der Java-Programmierung

Kapitel 1: Erste Schritte

Worum es eigentlich geht

Wie Anweisungen aus Ihrem Kopf in den Prozessor gelangen

Ihre Programmierwerkzeuge für Java

Kapitel 2: Ihren Computer einrichten

Wenn Sie keine Lust auf Gebrauchsanweisungen haben

Programmbeispiele zu diesem Buch beschaffen

Java

einrichten

Eclipse einrichten

Programmbeispiele zu diesem Buch importieren

Wie es weitergeht

Kapitel 3: Programme ausführen

Schlüsselfertiges Java-Programm ausführen

Eigenen Code eingeben und ausführen

Elemente im Eclipse-Fenster

Teil II: Eigene Java-Programme schreiben

Kapitel 4: Bestandteile eines Programms untersuchen

Java-Code erstmals begutachten

Die Elemente eines Java-Programms

Einfaches Java-Programm analysieren

Kapitel 5: Ein Programm entwerfen

Computer sind dumm

Ein Programm zur Ausgabe Ihrer Eingabe

Rechnen Sie mit allem

Kapitel 6: Stein auf Stein: Variablen, Werte und Typen verwenden

Variablen verwenden

Nullen und Einsen und ihre Bedeutung

Dezimalzahlen über die Tastatur einlesen

Variationen über ein Thema

Mit JShell experimentieren

Kapitel 7: Zahlen und Typen

Ganze Zahlen verwenden

Neue Werte schaffen – mit Operatoren

Größe macht doch einen Unterschied!

Kapitel 8: Malen ohne Zahlen

Zeichen

Der Typ boolean

Weitere primitive Typen

Teil III: Programmablauf steuern

Kapitel 9: Möchten Sie sich etwas abzweigen?

Immer diese Entscheidungen!

Entscheidungen treffen – mit if-Anweisungen

Variationen über das Thema

Hinweis

Kapitel 10: Wo bitte geht es hier entlang?

Bedingungen – jetzt noch größer und besser

Wir basteln Schachteln

Erschöpfende Aufzählungen

Hinweis

Kapitel 11: Schalten und walten

Darf ich vorstellen: Die switch-Anweisung

Fallthrough zum eigenen Vorteil verwenden

Den Bedingungsoperator verwenden

Kapitel 12: Jetzt geht es rund

Befehle wiederholen – while-Anweisungen in Java

Wo welche Anweisungen landen

Elementare Aspekte von Schleifen

Kapitel 13: Dateien noch und nöcher: Der Informationsflut Herr werden

Programme mit Festplattenzugriff ausführen

Programme mit Festplattenzugriff schreiben

Schreiben, schreiben, schreiben

Kapitel 14: Schleifen in Schleifen verpacken

Besuch bei einem alten Freund

Sinnvollen Code schreiben

Kapitel 15: Wer will noch mal, wer hat noch nicht?

Java-Anweisungen mit einer bestimmten Häufigkeit wiederholen

Verschachtelte Schleifen verwenden

Probieren, bis es klappt

Wiederholungen mit vordefinierten Werten

Kapitel 16: Schleifen und Arrays

Schleifen in Aktion

Vorhang auf für die Arrays!

Mit Arrays arbeiten

Schleifchen mit Stil

Mehrere Dateien löschen

Teil IV: Programmeinheiten verwenden

Kapitel 17: Mit Objekten und Klassen programmieren

Eine Klasse erstellen

Von der Klasse zum Objekt

Eine andere Sicht auf Klassen

Wie geht es weiter?

Kapitel 18: Methoden und Variablen einer Java-Klasse verwenden

Die Klasse »String«

Methoden eines Objekts verwenden

Statische Methoden

Zusammenhänge im Blick behalten

Kapitel 19: Neue Java-Methoden erstellen

Eine Methode in einer Klasse definieren

Objekte sollen arbeiten

Werte an Methoden übergeben

Wert aus einer Methode abrufen

Kapitel 20: Grafische Oberflächen leicht gemacht

Die Swing-Klassen in Java

Die Swing-Klassen: Runde 2 – eine Klasse erweitern

Man nehme XML und Java . . .

JavaFX-Projekt mit schönen Dingen erweitern

Wir machen Dampf

Teil V: Der Top-Ten-Teil

Kapitel 21: Zehn Websites für Java

Die englische Website zu diesem Buch

Informationen aus erster Hand

Nachrichten, Kritiken und Beispielcode

So finden Sie Java-Jobs

Sie haben eine Frage?

Kapitel 22: Zehn nützliche Klassen in der Java-API

ArrayList

File

Integer

JFrame

JOptionPane

Math

NumberFormat

Scanner

String

System

Stichwortverzeichnis

End User License Agreement

Tabellenverzeichnis

Kapitel 2

Tabelle 2.1: Mac-OS-X- und Java-Versionen

Kapitel 4

Tabelle 4.1: Java-Keywords

Kapitel 5

Tabelle 5.1: Einige Methoden von

Scanner

Kapitel 7

Tabelle 7.1: Primitive Zahlentypen in Java

Kapitel 8

Tabelle 8.1: Vergleichsoperatoren

Tabelle 8.2: Nicht numerische primitive Zahlentypen in Java

Kapitel 9

Tabelle 9.1: Häufig auftretende Fehlermeldungen bei

if

-Anweisungen

Kapitel 10

Tabelle 10.1: Logische Operatoren

Kapitel 17

Tabelle 17.1: Code zur Verwendung einer Klasse umschreiben

Tabelle 17.2: Java-Typen

Illustrationsverzeichnis

Kapitel 1

Abbildung 1.1: Mein Computer versteht Nullen und Einsen. Ich nicht.

Abbildung 1.2: Der Computer kompiliert Quellcode, um Objektcode zu erstellen.

Abbildung 1.3: Was ein Computer aus einer Bytecodedatei macht

Abbildung 1.4: So führt ein Computer ein Java-Programm aus.

Abbildung 1.5: Verfahren zur Ausführung von Computerprogrammen

Kapitel 2

Abbildung 2.1: Java-JDK herunterladen

Abbildung 2.2: Die Liste der installierten Programme unter Windows 10

Abbildung 2.3: Das Java Control Panel für Java 9

Abbildung 2.4: Das Java Control Panel für Java 8

Abbildung 2.5: Die Registerkarte

Java

des

Java control panel

Abbildung 2.6: Die Registerkarte

Benutzer

des Fensters

Java runtime environment – einstellungen

Abbildung 2.7: Startseite von

Eclipse.org

Abbildung 2.8: Im Juli 2017 habe ich Eclipse Oxygen heruntergeladen

Abbildung 2.9: Das Dialogfeld

Eclipse launcher

Abbildung 2.10: Begrüßungsbildschirm von Eclipse

Abbildung 2.11: Eclipse-Workbench mit jungfräulichem Workspace

Abbildung 2.12: Installation der deutschen Sprachpakete

Abbildung 2.13: Eclipse mit deutscher Benutzeroberfläche

Abbildung 2.14: Dialogfeld

Einstellungen

in Eclipse

Abbildung 2.15: Dialogfeld

Jre-typ

Abbildung 2.16: Dialogfeld

Jre-definition

Abbildung 2.17: Erster Schritt beim Importieren der Codes aus diesem Buch

Abbildung 2.18: Option

Vorhandene projekte in den arbeitsbereich

auswählen

Abbildung 2.19: Dialogfeld

Projekte importieren

Abbildung 2.20: Projekte, die importiert werden sollen

Abbildung 2.21: Java-Projektliste in Eclipse

Kapitel 3

Abbildung 3.1: Ausführung des in diesem Kapitel beschriebenen textbasierten Baufinanzierungsprogramms

Abbildung 3.2: Eclipse-Dialogfeld

Eclipse launcher

Abbildung 3.3: Eclipse-Arbeitsbereich

Abbildung 3.4: Ausführung des Codes in Projekt

03-0-Baukredit

Abbildung 3.5: Programmausführung vorzeitig beenden

Abbildung 3.6: Zu einem anderen Eclipse-Workspace wechseln

Abbildung 3.7: Neues Projekt in Eclipse erstellen

Abbildung 3.8: Ihr neues Projekt im Eclipse-Paket-Explorer

Abbildung 3.9: Neue Java-Klasse in Eclipse erstellen

Abbildung 3.10: Von Eclipse bereits vorgegebener Code im Editor

Abbildung 3.11: Java-Programm im Eclipse-Editor

Abbildung 3.12: Fehlerhaft eingegebenes Java-Programm

Abbildung 3.13: Hilfreiche Vorschläge von Eclipse

Abbildung 3.14: Ausführung des Programms aus Listing 3.1

Abbildung 3.15: Der in Bereiche unterteilte Arbeitsbereich

Abbildung 3.16: Editorbereich mit drei Editoren

Abbildung 3.17: Symbolleiste der Paket-Explorer-Ansicht

Abbildung 3.18: Menüschaltfläche der Paket-Explorer-Ansicht

Abbildung 3.19: Schaltfläche Schließen in einem Editor

Abbildung 3.20: Doppelpfeil, der auf eine weitere ausgeblendete Registerkarten verweist

Kapitel 4

Abbildung 4.1: Ausführung des Programms aus Listing 4.1

Abbildung 4.2: Bestandteile eines einfachen Satzes

Abbildung 4.3: Geschweifte Klammern fungieren als Container.

Abbildung 4.4: Ineinander verschachtelte Bestandteile eines Computerprogramms

Abbildung 4.5: Terminologie der Methoden

Abbildung 4.6: Aufruf der Methode

System.out.println

Kapitel 5

Abbildung 5.1: Welchen Teil von »nicht« verstehst du nicht?

Abbildung 5.2: Der Computer wartet auf Ihre Eingabe.

Abbildung 5.3: Sie geben einen Satz ein.

Abbildung 5.4: Der Computer spricht Ihnen nach.

Abbildung 5.5: Ersetzung von

nextLine

durch eingegebenen Text

Abbildung 5.6:

Println

statt

println

– der Java-Compiler versteht das nicht.

Abbildung 5.7: Nützliche Fehlermeldung

Abbildung 5.8: Großschaden aufgrund eines fehlerhaften Semikolons

Abbildung 5.9: Was der Computer sich so denkt

Abbildung 5.10: Drei Fehlermeldungen

Abbildung 5.11: Entfernen Sie eines der beiden Gleichheitszeichen.

Abbildung 5.12: Sie haben ein Gleichheitszeichen vergessen. Eclipse hat's nicht bemerkt.

Abbildung 5.13: Hauptmethode in Klasse

BuergermeisterVonWesel

nicht gefunden? Wie jetzt?

Kapitel 6

Abbildung 6.1: Resultat des Codes aus Listing 6.1

Abbildung 6.2: Variable (vorher und nachher)

Abbildung 6.3: Variable, Wert und Typ

Abbildung 6.4: Zuweisungsanweisung – von rechts nach links zu lesen

Abbildung 6.5: Verteilte Rollen von

System.out.print

und

System.out.println

Abbildung 6.6: Acht Bildpunkte auf einem Schwarz-Weiß-Bildschirm (extrem vergrößert)

Abbildung 6.7: Wert einer

double

-Variablen abrufen

Abbildung 6.8: Der Versuch,

SchlechterSchrottSoftCode

zu kompilieren, schlägt fehl.

Abbildung 6.9: Ein intimes Gespräch zwischen JShell und mir

Abbildung 6.10: Verwendung von JShell zur Auswertung von Ausdrücken

Kapitel 7

Abbildung 7.1: Ehrlich währt am längsten.

Abbildung 7.2: Tags darauf kamen 70 Kinder. Ich kaufte 1.000 Gummibärchen.

Abbildung 7.3: Eingabewerte für drei

Scanner

-Methodenaufrufe

Abbildung 7.4: Kinder unglücklich machen für Dummies

Abbildung 7.5: Sie wollen Ihre 20-Cent-Stücke loswerden?

Abbildung 7.6: 5,33 Euro in Münzen

Abbildung 7.7: Präinkrement verwenden

Abbildung 7.8: Ablauf des Präinkrementcodes (aus Abbildung 7.7)

Abbildung 7.9: Präinkrementoperator in Aktion

Abbildung 7.10: Postinkrementoperator in Aktion

Abbildung 7.11: Postinkrement verwenden

Abbildung 7.12: Ablauf des Postinkrementcodes (aus Abbildung 7.11)

Abbildung 7.13: Ziffern 4-2-2-1 speichern

Kapitel 8

Abbildung 8.1: Beeindruckende Programmausgabe

Abbildung 8.2: Abläufe in Listing 8.1

Abbildung 8.3: Resultat des Codes aus Listing 8.2

Abbildung 8.4: Variationen über den Wert von

kleinbuchstabe

Abbildung 8.5: Aufforderung mit ungehobelter Antwort

Abbildung 8.6: Vier Variablen verwenden

Abbildung 8.7: Sie haben nur eine Variable verwendet – das musste schiefgehen.

Abbildung 8.8: Zahlen und Zeichen einlesen

Abbildung 8.9: Himmel hilf!

Abbildung 8.10: Zuweisung eines Werts zur Variablen

jedesKindBekommtZehn

Abbildung 8.11: Die Temperatur beträgt exakt 69,8 °Fahrenheit.

Abbildung 8.12: Ausführung des Codes in Listing 8.5.

Abbildung 8.13: Vollständiger Wert der Variablen

fahrenheit

Abbildung 8.14: Die Sortierung der Buchstaben

Kapitel 9

Abbildung 9.1: Wohin geht die Reise?

Abbildung 9.2: Der Zufall entscheidet über Ihr Schicksal.

Abbildung 9.3: Eine

if

-Anweisung und ihr Format

Abbildung 9.4: Das allwissende Java-Programm in Aktion

Abbildung 9.5: Ausführungen des Codes aus Listing 9.3

Abbildung 9.6: Haben Sie nichts zu sagen? Dann sagen Sie auch nichts.

Abbildung 9.7: Sehen Sie? Der Code aus Listing 9.4 funktioniert tatsächlich!

Abbildung 9.8: Feuern Sie Ihr Team an!

Kapitel 10

Abbildung 10.1: Bedingung erfüllt? Großartig!

Abbildung 10.2: Eintrittspreise für »Mit Java programmieren lernen für Dummies. Der Film«

Abbildung 10.3: Bedeutung der Bedingungen in Listing 10.1

Abbildung 10.4: Auswahlmöglichkeiten in Listing 10.1

Abbildung 10.5: Ergebnis des Codes aus Listing 10.2

Abbildung 10.6: Resultat des Codes aus Listing 10.4

Abbildung 10.7: Die Kriterien

antwort

und

alter

müssen beide wahr sein.

Abbildung 10.8: Ein Kapitalverbrechen

Abbildung 10.9: »Wahr oder falsch« ergibt »wahr«.

Abbildung 10.10: Ablauf in Listing 10.5

Abbildung 10.11: Halten Sie Ordnung bei Einrückungen und geschweiften Klammern.

Abbildung 10.12: Olé! Olé!

Abbildung 10.13: Freude auf Scha. . . – äh, in Herne-West

Kapitel 11

Abbildung 11.1: Resultat des Codes aus Listing 11.1

Abbildung 11.2: Ein Elfzack

Abbildung 11.3: Entscheide dich bitte mal!

Abbildung 11.4: Wie lange noch bis zur nächsten Deadline?

Abbildung 11.5: Laufen Sie dem Gummiball nach.

Abbildung 11.6: Wie Anweisungen aus Ihrem Kopf in den Code gelangen

Abbildung 11.7: Selbstgespräch eines Ausdrucks

Kapitel 12

Abbildung 12.1: Auge um Auge

Abbildung 12.2: Zweimal falsch ergibt nicht wahr – zweimal wahr hingegen schon.

Abbildung 12.3: Pfade durch den Code in Listing 12.1

Abbildung 12.4: Ei verbibbsch – eine 7!

Abbildung 12.5: Wie gewonnen, so zerronnen

Abbildung 12.6: Wie man ein Programmierproblem angeht

Abbildung 12.7: Niemand weiß, wo es enden wird.

Abbildung 12.8: Fehlerhafte Ausführung

Abbildung 12.9: Oha! Ein Zeichen zu viel.

Abbildung 12.10: Was unser Programm tun soll

Abbildung 12.11: Der Einstieg in die Schleife

Abbildung 12.12: Ein Leerzeichen zu viel

Abbildung 12.13: Strategie aus Listing 12.5

Abbildung 12.14: Ausführung des Codes in Listing 12.5

Kapitel 13

Abbildung 13.1: Tastatur und Bildschirm verwenden

Abbildung 13.2: Festplattendateien verwenden

Abbildung 13.3: Von der Tastatur einlesen, auf dem Bildschirm ausgeben

Abbildung 13.4: Eingabedatei bearbeiten

Abbildung 13.5: Ausgabedatei anzeigen

Abbildung 13.6: Der Computer kann Ihre Datei nicht finden.

Abbildung 13.7: Inhalt des Projektordners

13-02

auf der Festplatte Ihres Computers

Abbildung 13.8: Test auf Herz und Nieren

Kapitel 14

Abbildung 14.1: Liste mit E-Mail-Adressen

Abbildung 14.2: Aus der E-Mail-Adressliste extrahierte Benutzernamen

Abbildung 14.3: Gefoppt!

Abbildung 14.4: Rollenspiel mit dem Code aus Listing 14.2

Abbildung 14.5: Das Ende der Fahnenstange, äh, des Benutzernamens ist erreicht.

Abbildung 14.6: Der Weg aus dem Innern

Abbildung 14.7: Ich habe schwer gefehlt.

Abbildung 14.8: Der letzte Teil der Reise

Abbildung 14.9: Möglich, aber sinnlos: über das Ende der Datei hinauslesen

Kapitel 15

Abbildung 15.1: Gut gekaut ist halb verdaut.

Abbildung 15.2: Ablauf der

for

-Schleife in Listing 15.1

Abbildung 15.3: Welche Variable

anzahl

? Ich sehe keine Variable

anzahl

.

Abbildung 15.4: Datei mit Hotelbelegungsdaten

Abbildung 15.5: Übersichtlichere Darstellung der Daten aus Abbildung 15.4

Abbildung 15.6: Nein! Tun Sie das nicht!

Abbildung 15.7:

do

-Schleife im Überblick

Abbildung 15.8: Ausgabe des Codes aus Listing 15.5

Abbildung 15.9: Einige Ausgabezeilen aus dem Code aus Listing 15.6

Abbildung 15.10: Erstmaliges Starten der Schleifen aus dem Programm in Listing 15.6

Abbildung 15.11: Umschalten von Kirsche auf Zitrone in der innersten Schleife

Abbildung 15.12: Umschalten von

kirsche

auf

zitrone

in der mittleren Schleife

Abbildung 15.13: Neustart der inneren Schleife

Abbildung 15.14: Zweite Abarbeitung der inneren Schleife

Kapitel 16

Abbildung 16.1: Belegungsdaten des Java-Hotels

Abbildung 16.2: Resultat des Codes aus Listing 16.1

Abbildung 16.3: Berichte zu verschiedenen Zimmern

Abbildung 16.4: Keine Antwort für Zimmer 10

Abbildung 16.5: Absteigende Liste freier Zimmer

Abbildung 16.6: Abstrakte Momentaufnahme der Zimmer im Java-Hotel

Abbildung 16.7: Resultat des Codes aus Listing 16.5

Abbildung 16.8: Projekt im Ordner

16-06

Abbildung 16.9: Ihr Projekt vor Ausführung des Programms zum Löschen aller

.txt

-Dateien

Abbildung 16.10: Ihr Projekt nach Ausführung des Programms zum Löschen aller

.txt

-Dateien

Kapitel 17

Abbildung 17.1: Verarbeitung eines Einkaufs

Abbildung 17.2: Ohne Methode

main

geht gar nichts.

Abbildung 17.3: Stuhlobjekte der Klasse

stuhl

Abbildung 17.4: Aus der Klasse

Einkauf

erstelltes Objekt

Abbildung 17.5: Resultat des Codes aus Listing 17.5

Abbildung 17.6: Zwei Objekte einer Klasse

Abbildung 17.7: Einkaufstabelle

Abbildung 17.8: Ein Einkauf entspricht einer Tabellenzeile.

Kapitel 18

Abbildung 18.1: Resultat des Codes aus Listing 18.1

Abbildung 18.2: Einkaufen gehen

Abbildung 18.3: Aber mein Passwort ist doch korrekt!

Abbildung 18.4: Das sieht ja noch schlimmer aus!

Abbildung 18.5: Endlich: Der Benutzer kann sich anmelden.

Abbildung 18.6: Darstellung der Klasse

String

und von

String

-Objekten als Teile einer Tabelle

Abbildung 18.7: Die Klasse

Scheck

und einige ihrer Objekte

Abbildung 18.8: Ausführungen des Codes aus Listing 18.6

Abbildung 18.9: Können Sie auf 20,338500000000003 rausgeben?

Abbildung 18.10: All die schönen Zahlen

Abbildung 18.11: Ausführung des Programms aus Listing 18.7 auf einem Computer in, aus oder für die USA

Kapitel 19

Abbildung 19.1: Kontotabelle

Abbildung 19.2: Zwei Objekte mit jeweils eigener Anzeigemethode

Abbildung 19.3: Resultat des Codes aus Listing 19.3

Abbildung 19.4: Lauf des Geschehens bei den Listings 19.1 und 19.3

Abbildung 19.5: Resultat des Codes aus Listing 19.7

Abbildung 19.6: Übergabe eines Werts an den Parameter einer Methode

Abbildung 19.7: Konten von Qua und Cep

Abbildung 19.8: Den Code in Listing 19.9 ausführen

Abbildung 19.9: Resultat des Codes aus Listing 19.11

Abbildung 19.10: Methodenaufruf – nichts anderes als ein Ausdruck mit einem Wert

Kapitel 20

Abbildung 20.1: Welch ein schönes Fenster!

Abbildung 20.2: Vereinfachte Darstellung der Klasse

JFrame

Abbildung 20.3: Frame ohne

pack

-Aufruf

Abbildung 20.4: Aus der Klasse

JFrame

erstelltes Objekt

Abbildung 20.5: Drei Objekte aus der Klasse

JFrame

erstellen

Abbildung 20.6:

MeinFrame

-Instanz mit vielen Methoden

Abbildung 20.7: Namen und Telefonnummern

Abbildung 20.8: Leeres Fenster

Abbildung 20.9: Dialogfeld

Fxml file

Abbildung 20.10: Scene Builder wurde gestartet.

Abbildung 20.11: Ankerfläche vergrößern

Abbildung 20.12: Textfeld und Schaltfläche

Abbildung 20.13: Ihre neu programmierte Datei

Root.fxml

Abbildung 20.14: Ausführung Ihres Projekts mit der Datei

Root.fxml

Abbildung 20.15: Eigenschaften des Button-Elements bearbeiten

Abbildung 20.16: Wenn Ihre Schaltfläche angeklickt wird, wird die Methode

onClick

aufgerufen.

Abbildung 20.17: Zuweisen einer ID zu Ihrem Textfeld

Abbildung 20.18: Controllerklasse der FXML-Datei angeben

Abbildung 20.19: Ein funkelnagelneues Fenster

Abbildung 20.20: Der Anwender nimmt eine Eingabe im Textfeld vor.

Abbildung 20.21: Ein Klick auf die Schaltfläche wandelt den Text in Großbuchstaben um.

Kapitel 22

Abbildung 22.1: Ein Eingabedialogfeld anzeigen

Abbildung 22.2: Ein Meldungsfeld anzeigen

Abbildung 22.3: Ein weiteres Eingabedialogfeld anzeigen

Abbildung 22.4: Ein weiteres Meldungsfeld anzeigen

Guide

Cover

Inhaltsverzeichnis

Begin Reading

Pages

C1

1

2

3

4

5

9

10

11

12

23

24

25

26

27

28

29

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

95

94

96

97

98

99

100

101

102

103

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

181

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

183

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

208

209

210

211

212

213

214

216

215

217

218

219

221

222

223

224

225

226

227

228

229

230

231

232

233

234

235

236

237

238

239

241

242

243

244

245

246

247

248

249

250

251

252

253

254

255

256

257

258

259

260

261

262

263

264

265

266

267

268

269

270

271

272

273

274

275

276

277

278

279

280

281

283

284

285

286

287

288

289

290

291

292

293

294

295

296

297

298

299

300

301

302

303

305

306

307

308

309

310

311

312

313

314

315

316

317

318

319

320

321

322

323

324

325

326

327

328

329

330

331

332

333

334

335

336

337

338

339

340

341

342

343

344

345

346

347

348

349

350

351

352

353

354

355

356

357

358

359

360

361

362

363

364

365

366

367

368

369

370

371

372

373

374

375

376

377

378

379

380

381

382

383

384

385

386

387

388

389

390

391

392

393

394

395

396

397

398

399

400

401

402

403

404

405

406

407

408

409

410

411

412

413

415

416

417

418

419

420

421

422

423

424

425

426

427

428

429

430

431

432

433

434

435

436

437

438

439

440

441

442

443

444

445

446

447

448

449

450

451

452

453

454

455

456

457

458

459

460

461

462

463

464

465

466

467

469

470

471

472

473

474

475

476

477

478

479

480

481

482

483

484

485

486

487

488

489

490

491

492

493

494

495

496

497

498

499

500

501

502

503

504

505

506

507

508

509

511

512

513

514

E1

Einführung

Warum möchten Sie dieses Buch lesen?

Stehen Sie acht Stunden am Tag im Betrieb und möchten eigentlich nur einmal wissen, wie die dort eingesetzten Computer genau funktionieren?

Sind Sie Schüler oder Student und benötigen dringend etwas zu lesen, um irgendwie diesen Computerkurs zu überleben, der nächste Woche beginnt?

Sind Sie ein ganz normaler Anwender, der seit Jahren mit Word arbeitet und endlich mal etwas wirklich Interessantes mit dem Rechner anstellen möchte?

Suchen Sie einen Job in der so schnelllebigen und schillernden (zumindest aber anständig zahlenden) Welt der Computerprogrammierung?

Möchten Sie also vor allem etwas über das Schreiben von Computerprogrammen lernen? Dann liegen Sie mit diesem Buch richtig. Sie erlernen das Programmieren hier von Grund auf – und zwar ohne arrogantes Gehabe. Sätze, die mit Floskeln wie »Sie wissen selbstverständlich bereits, dass . . .« beginnen, finden Sie in diesem Buch sicher nicht.

Über dieses Buch

Dieses Buch behandelt Java. Java ist eine leistungsfähige und universell einsetzbare Programmiersprache für Computer. Allerdings soll es hier weniger um die Finessen und Spitzfindigkeiten von Java gehen, sondern vielmehr um einen Prozess: die Erstellung von Anweisungen, die ein Computer verarbeiten kann. Viele Bücher beschreiben in geschraubter Manier die Einzelheiten dieses Prozesses, also Regeln, Konventionen und Formalismen. Allerdings sind solche Bücher nicht für normale Menschen geschrieben, denn sie holen Sie nicht da ab, wo Sie sind, und bringen Sie auch nicht dorthin, wo Sie hinwollen.

Ich setze in diesem Buch eigentlich nur sehr wenig Erfahrung mit Computern auf Ihrer Seite voraus. Vielmehr erhalten Sie beim Lesen einen Einblick in meine Denkweisen. Sie sehen die Probleme, mit denen ich konfrontiert werde, wie ich darüber nachdenke und zu welchen Lösungen ich gelange. Es handelt sich dabei teils um Probleme, die ich bereits als Anfänger zu lösen hatte, teils um solche, mit denen ich mich heute als Fachmann beschäftigen muss. Sie sollen diese Probleme einfacher verstehen, sie sich veranschaulichen und selbst Lösungen dafür finden. Dabei soll Ihnen dieses Buch helfen. Und ja, auch die eine oder andere Anekdote ist hier zu finden.

Wie Sie dieses Buch verwenden

Am besten wäre es, ich könnte sagen: »Schlagen Sie dieses Buch an irgendeiner Stelle auf und beginnen Sie mit dem Entwickeln von Java-Code. Füllen Sie Lücken aus und machen Sie sich keine weiteren Gedanken.« In einem gewissen Sinn stimmt das so auch. Sie können beim Schreiben von Java-Code nichts kaputt machen und deswegen Ihrer Experimentierfreude freien Lauf lassen.

Aber ich sollte ehrlich bleiben. Wenn Sie den Gesamtkontext nicht im Hinterkopf haben, ist das Schreiben von Code alles andere als trivial. Und das gilt nicht nur für Java, sondern auch für jede andere Programmiersprache. Wenn Sie einfach drauflos schreiben, ohne genau zu wissen, wo es hingehen wird, und der Code danach nicht genau das macht, was er soll, dann stecken Sie in der Klemme.

Deswegen habe ich die Kunst der Programmierung in diesem Buch in überschaubare Einheiten unterteilt. Jede dieser Einheiten entspricht (zumindest grob) einem Kapitel. Sie können so an beliebiger Stelle beginnen – bei Kapitel 5, 10 oder wo auch immer. Sie können sogar mitten in einem Kapitel einsteigen. Ich habe versucht, die Beispiele so interessant wie möglich zu gestalten, ohne dass die einzelnen Kapitel voneinander abhängig sind. Immer, wenn ein Konzept aus einem anderen Kapitel aufgegriffen wird, finden Sie dort einen entsprechenden Hinweis. So können Sie sich zurechtfinden.

Grundsätzlich empfehle ich Ihnen folgende Vorgehensweise:

Wenn Sie etwas bereits kennen, können Sie die entsprechenden Seiten gerne überblättern.

Sind Sie neugierig, können Sie direkt zur gewünschten Stelle springen. Und wenn Ihnen etwas entfallen ist, scheuen Sie sich nicht, weiter vorne im Buch noch einmal kurz einen Blick darauf zu werfen.

Konventionen in diesem Buch

So gut wie jedes technisch orientierte Buch beginnt mit einer Erklärung der verwendeten Schriftarten, und Mit Java programmieren lernen für Dummies bildet hier keine Ausnahme. Deswegen folgt an dieser Stelle eine kurze Beschreibung der in diesem Buch verwendeten Schriftarten und -auszeichnungen:

Neue Begriffe werden

kursiv

gesetzt.

Wenn Sie Schritte ausführen sollen, wird eine

Fettschrift

verwendet.

Auch

diese Schrift

kommt häufig zum Einsatz, beispielsweise für Java-Code, Dateinamen, Webadressen (URLs) und derlei mehr. Für Eingaben wird diese Schriftart ebenfalls verwendet.

In diesem Buch gezeigte Eingaben an Ihrem eigenen Computer müssen Sie gegebenenfalls anpassen. Sehen Sie sich folgende Zeile an:

class IrgendeinName

Das bedeutet, dass Sie class und dann irgendeinen Namen eingeben sollen, den Sie sich selbst ausdenken. Alle Platzhalter, die Sie durch eigene Eingaben ersetzen sollen, sind in in dieser Schrift ausgezeichnet.

Was Sie nicht lesen müssen

Beginnen Sie Ihre Lektüre am besten beim ersten Kapitel oder Abschnitt, in dem etwas steht, was Sie noch nicht kennen. Sollten Sie ebenso gerne Entscheidungen treffen wie ich (nämlich gar nicht), dann finden Sie nachfolgend ein paar Tipps zur Vorgehensweise:

Wenn Sie bereits wissen, worum es bei der Programmierung von Computern geht, können Sie die erste Hälfte von Kapitel 1 überspringen. Keine Sorge, ich nehme Ihnen das nicht krumm.

Müssen Sie eine andere Entwicklungsumgebung als Eclipse einsetzen, dann können Sie Kapitel 2 vollständig ignorieren. Dies trifft etwa zu, wenn Sie NetBeans, IntelliJ IDEA oder eine andere Entwicklungsumgebung verwenden.

Der Großteil der in diesem Buch verwendeten Beispiele setzt mindestens Java 5.0 voraus, einige auch Java 7 oder höher. Aus diesem Grund sollte auf Ihrem System mindestens Java 7 verwendet werden. Wenn Sie nicht genau wissen, welche Java-Version auf Ihrem Computer vorhanden ist, oder bei der Auswahl Ihrer Entwicklungsumgebung freie Hand haben, lesen Sie am besten Kapitel 3.

Haben Sie bereits ein wenig Erfahrung bei der Computerprogrammierung, dann reicht es im Zweifelsfall aus, die Kapitel 6 bis 8 grob zu überfliegen. Nehmen Sie sich dann Kapitel 9 vor und probieren Sie aus, ob Sie zurechtkommen; falls ja, können Sie dort einfach weiterlesen, ansonsten sollten Sie sich vielleicht doch noch einmal mit den Kapiteln 6 bis 8 vertraut machen.

Kommen Sie mit dem Schreiben von Programmen in einer anderen Programmiersprache als Java gut zurecht, dann ist dieses Buch für Sie leider ungeeignet. Behalten Sie es zur Mahnung, in Zukunft genauer hinzusehen, und kaufen Sie stattdessen mein ebenfalls bei Wiley erschienenes Werk

Java für Dummies

.

Wenn Sie Randbemerkungen oder Abschnitte mit technischen Hinweisen überspringen möchten, tun Sie sich keinen Zwang an. Im Grunde genommen können Sie sogar überspringen, was Sie wollen.

Törichte Annahmen über den Leser

Ich gehe in diesem Buch von einigen Grundvoraussetzungen Sie – den Leser – betreffend aus. Wenn eine dieser Annahmen nicht richtig ist, macht das wahrscheinlich nichts. Sollte allerdings keine dieser Annahmen zutreffen, dann . . . nun, dann können Sie dieses Buch natürlich trotzdem kaufen.

Ich erwarte, dass Sie Zugang zu einem Computer haben.

Praktischerweise können Sie den Code in diesem Buch auf eigentlich jedem Computer ausführen. Die einzigen Computer, die hierfür ungeeignet sind, sind uralte Geräte (»uralt« bedeutet hier: mindestens etwa acht Jahre alt). Die aktuelle Java-Version können Sie auf Windows-, Macintosh- und Linux-Computern einsetzen.

Ich erwarte, dass Sie mit den Standardmenüs und -dialogen auf Ihrem Computer umgehen können. Sie müssen nicht jede Einstellung Ihres Betriebssystems aus dem Effeff beherrschen, aber Sie sollten schon in der Lage sein, ein Programm zu starten, eine Datei zu finden oder eine solche in einem bestimmten Verzeichnis zu speichern. Bei der Bearbeitung des Materials in diesem Buch werden Sie in aller Regel Code über Ihre Tastatur eingeben, statt die Maus zu benutzen.

In den seltenen Fällen, in denen Sie doch einmal Ihr Zeigeinstrument zur Hand nehmen müssen, werde ich Ihnen das Vorgehen auf anschauliche Weise erläutern. Allerdings kann Ihr Computer ganz anders konfiguriert sein als der meine, weswegen meine Anweisungen für Ihre Situation unter Umständen unpassend sind. Wenn also eine solche plattformspezifische Aufgabe beschrieben wird, gehen Sie zunächst so vor wie hier angegeben. Sollte das aus irgendeinem Grund nicht klappen, dann schicken Sie mir eine E-Mail oder ziehen ein Buch zurate, in dem die Arbeit auf dem von Ihnen verwendeten System anschaulich erklärt wird.

Ich erwarte die Fähigkeit zum logischen Denken.

Denn genau darum geht es doch beim Programmieren von Computern. Wenn Sie logisch denken können, haben Sie die wichtigste Voraussetzung schon erfüllt. Und wenn Sie annehmen, dass Sie das nicht können, sollten Sie weiterlesen. Vielleicht wartet ja eine angenehme Überraschung auf Sie.

Ich erwarte, dass Sie wenig bis gar keine Ahnung vom Programmieren haben.

Das hier ist kein Universalbuch. Es ist nicht, wie man so schön sagt, »für Anfänger und Fachleute gleichermaßen gut geeignet«. Ich habe dieses Buch gezielt auf Einsteiger zugeschnitten, also auf Menschen, die nie einen Computer programmiert haben oder dabei zumindest nie besonders gut zurechtgekommen sind. Falls Sie zu diesen Leuten gehören, ist dieses Buch für Sie das Richtige.

Aufbau des Buchs

Dieses Buch ist in Unterabschnitte gegliedert, die zu Abschnitten zusammengefasst sind. Diese Abschnitte bilden jeweils Kapitel, und mehrere zusammenhängende Kapitel bilden einen Teil. (Wenn Sie ein Buch schreiben, lernen Sie seine Struktur ziemlich gut kennen. Wer einmal Monate mit dem Schreiben verbracht hat, träumt nachts in Abschnitten und Kapiteln.) Das Buch umfasst also die folgenden Teile:

Teil I: Erste Schritte mit der Java-Programmierung

In Teil I werden Sie auf das Programmieren im Allgemeinen vorbereitet. Sie erfahren hier, worum es bei der Programmierung von Computern eigentlich geht und wie Sie Ihren Rechner für das Schreiben und Testen von Programmen vorbereiten.

Teil II: Eigene Java-Programme schreiben

In diesem Teil werden die wichtigsten Bausteine der Programmierung behandelt, also jene Elemente, die in jedem Java-Programm und auch in jedem anderen Programm auftreten, das in einer Java-ähnlichen Programmiersprache abgefasst ist. Sie erfahren hier, wie Sie Daten darstellen und aus vorhandenen Werten neue Werte bilden. Die Programmbeispiele sind kurz, aber sehr niedlich.

Teil III: Abläufe steuern

Dieser Teil enthält einige meiner Lieblingskapitel. Hier wird erläutert, wie der Computer von einem Teil Ihres Programms zu einem anderen wechselt. Stellen Sie sich Ihr Programm als großes Haus vor, in dem der Computer von Zimmer zu Zimmer wandert. Manchmal muss er sich für einen von mehreren möglichen Gängen entscheiden, und gelegentlich besucht er einen Raum auch ein zweites Mal. Ihr Job als Programmierer besteht darin, den Weg des Computers durch dieses Haus zu planen. Und das macht Riesenspaß.

Teil IV: Programmeinheiten verwenden

Haben Sie schon einmal ein komplexes Problem gelöst, indem Sie es in kleinere und überschaubare Einheiten unterteilt haben? Genau dies werden Sie auch in Teil IV dieses Buchs tun. Dabei lernen Sie, Problemstellungen für die Programmierung in Teilbereiche aufzutrennen und dann Lösungen für diese Teilbereiche zu entwickeln. Außerdem erfahren Sie, wie Sie Lösungen anderer Programmierer übernehmen können – ganz ohne schlechtes Gewissen!

Schließlich finden Sie in diesem Teil auch ein Kapitel zur Programmierung mit Fenstern, Schaltflächen und anderen grafischen Elementen. Und falls Ihre Maus sich vernachlässigt vorkommt, weil sie in den Beispielen in diesem Buch so gar keine Rolle spielt, empfehle ich Ihnen Kapitel 20.

Teil V: Der Top-Ten-Teil

Dieser Teil ist eine Art Selbstbedienungsladen für den angehenden Programmierer. Sie finden hier jede Menge Listen mit Tipps, Ressourcen und allen möglichen Schmankerln.

Unter der Adresse www.dummies.com/programming/java/making-sense-of-javas-api-documentation ist außerdem ein englischsprachiger Artikel zu finden, der Ihnen die Dokumentation von Java ein bisschen näherbringen soll. Ohne meine Java-Dokumentation wäre ich nicht in der Lage, Programme zu schreiben. Und dies gilt fraglos für jeden Java-Programmierer. Da diese Dokumente als Webseiten bereitgestellt werden, sind sie leicht zu finden und zu durchsuchen. Wenn Sie mit der Terminologie jedoch nicht vertraut sind, fühlen Sie sich von der Dokumentation möglicherweise erdrückt.

Symbole, die in diesem Buch verwendet werden

Würden Sie mich beim Schreiben dieses Buchs beobachten, dann würden Sie jemanden sehen, der vor einem Computer sitzt und fortlaufend mit sich selbst redet. In meinem Kopf lese ich jeden einzelnen Satz mehrere Male. Kommt mir ein anderer Gedanke oder eine Anmerkung in den Sinn – also irgendetwas, das gerade nicht in den laufenden Gedankengang gehört –, dann neige ich meinen Kopf ein wenig. Daran könnte jeder, der mich in dieser Situation beobachtete, erkennen, dass ich gerade ganz kurz abschweife. (Normalerweise ist allerdings niemand da.)

Dem fertigen Buch können Sie natürlich nicht entnehmen, dass ich meinen Kopf geneigt habe. Deswegen brauche ich eine andere Möglichkeit, Nebengedanken zu kennzeichnen. Und hier kommen die Symbole ins Spiel. Wenn Sie ein Symbol sehen – beispielsweise zu einem Tipp oder einer Sache, die Sie sich merken sollten –, dann wissen Sie, dass ich hier auf einem ganz kurzen Exkurs bin.

Die folgenden Symbole kommen in diesem Buch zum Einsatz:

Hier stehen Tipps, also zusätzliche und nützliche Informationen, die man Ihnen in anderen Büchern womöglich unterschlägt.

Jeder macht mal Fehler. Ich selbst habe bereits weiß Gott wie oft danebengelegen. Wenn mir allerdings bewusst ist, dass ein bestimmter Fehler immer wieder gemacht wird, dann schreibe ich dazu etwas in einem Abschnitt, der mit dem Warnsymbol versehen ist.

Manchmal möchte ich mir ein Flugzeug mit Werbebanner mieten. Auf dem Banner könnte dann so etwas stehen wie »Barry! Wenn du zwei Zahlen vergleichen möchtest, musst du das doppelte Gleichheitszeichen verwenden. Vergiss es nicht wieder!« Da ich mir aber so ein Flugzeug nicht leisten kann, muss ich mit etwas Bescheidenerem vorliebnehmen. Also verwende ich ein Erinnerungssymbol.

Das Schreiben von Programmcode ist eine Aktivität; der beste Weg zum Erlernen einer Aktivität besteht darin, sie zu üben. Aus diesem Grunde habe ich an verschiedenen Stellen Dinge zusammengestellt, die Sie ausprobieren können. Ein großer Teil dieser Übungen dienen dazu, Ihr Selbstvertrauen zu stärken, andere wiederum stellen kleine Herausforderungen dar. Wenn Sie zum ersten Mal die vorgeschlagenen Übungen durchführen, werden Sie auf unterschiedlichste Probleme, Schwierigkeiten und Obstakel stoßen, die beim ersten Lesen des Materials nicht auftauchten. Das ist jedoch gut so. Bleiben Sie dran. Geben Sie nicht zu schnell auf und seien Sie nicht zu frustriert. Falls Sie dennoch frustriert werden, besuchen Sie die englischsprachige Website zu diesem Buch (www.allmycode.com/BeginProg): Dort können Sie Tipps und Lösungen finden.

Ab und zu stolpere ich über ein interessantes technisches Detail, anhand dessen man nachvollziehen kann, was sich die Leute hinter den Kulissen (also diejenigen, die Java entwickelt haben) so gedacht haben. Sie müssen das nicht unbedingt lesen, aber vielleicht finden Sie es nützlich. Dies kann etwa auch dann der Fall sein, wenn Sie andere Bücher über Java lesen möchten, die sich eher an die echten Nerds richten.

Dieses Symbol verweist auf nützliche Informationen, die online zu finden sind. (Sie werden bis zum ersten Auftreten dieses Symbols nicht allzu lange warten müssen – gleich am Ende dieser Einleitung habe ich es verwendet.)

Mit diesem Symbol werden Querverweise auf andere Stellen im Buch gekennzeichnet: »Falls Sie nicht mehr wissen, was dies und jenes bedeutet, schauen Sie hier nach«. Oder: »Weitere Informationen finden Sie dort.«

Wie es weitergeht

Wenn Sie bis hierher gelesen haben, wird es nun endlich Zeit, mit der Einführung in die Computerprogrammierung zu beginnen. Ich (der Autor) möchte Ihnen dabei als Ausbilder, Gastgeber und persönlicher Assistent zu Diensten sein. Dazu tue ich alles in meiner Macht Stehende, um die Sachverhalte möglichst interessant und vor allem nachvollziehbar zu beschreiben.

Alle deutschen Codebeispiele des Buchs können Sie sich auf http://www.wiley-vch.de/ISBN9783527714414 kostenlos herunterladen.

Wenn Ihnen das gefällt, schicken Sie mir (bitte nur auf Englisch) eine E-Mail, posten auf meiner Facebook-Seite oder twittern etwas an mich. Die E-Mail-Adresse, die ich speziell für Fragen und Anmerkungen zu diesem Buch eingerichtet habe, lautet [email protected]. Meine Facebook-Seite finden Sie unter /allmycode, und mein Twitternick heißt @allmycode. Und denken Sie dran: Wenn Sie aktuelle Informationen benötigen, besuchen Sie eine der Supportwebsites zu diesem Buch. Die Adresse meiner eigenen Seite lautet http://allmycode.com/BeginProg.

Teil I

Erste Schritte mit der Java-Programmierung

IN DIESEM TEIL …

Sich für den Job als Java-Entwickler motivierenSoftware installierenBeispielprogramme ausführen

Kapitel 1

Erste Schritte

IN DIESEM KAPITEL

Worum es bei der Programmierung von Computern eigentlich geht

Software zum Schreiben von Programmen

Integrierte Entwicklungsumgebung an den Start bringen

Computerprogrammierung? Was soll das sein? Ist das was Technisches? Tut es weh? Ist das politisch korrekt? Hat Google da seine Finger mit drin? Warum sollte man so etwas machen? Und warum gerade ich? Kann man das lernen?

Worum es eigentlich geht

Sie haben Ihren Computer wahrscheinlich bereits zur Textverarbeitung benutzt: einen Brief geschrieben und ausgedruckt und diesen Ausdruck dann an jemanden geschickt, der Ihnen nahesteht. Und wenn Sie einfachen Zugang zu einem Computer haben, dann haben Sie wahrscheinlich auch schon im Internet gesurft: Sie haben eine Webseite aufgerufen und dort auf einen Link geklickt und sind so auf eine andere Seite gelangt. War ja einfach, oder?

Einfach war das im Grunde genommen in erster Linie, weil jemand dem Computer beigebracht hat, was er tun soll. Wenn Sie hingegen einen fabrikneuen Computer nehmen und ihm nicht mitteilen, was er zu tun hat, dann kann er keine Texte verarbeiten, keine Internetseiten aufrufen, kurzum: Er kann gar nichts. Denn ein Computer kann nur Anweisungen befolgen, die ihm gegeben werden.

Stellen Sie sich nun vor, Sie schreiben in Microsoft Word einen großen Roman und gelangen ans Ende einer Zeile (und nein, damit meine ich nicht das Satzende). Wenn Sie nun das nächste Wort schreiben, springt der Cursor automatisch in die nächste Bildschirmzeile. Wie funktioniert das eigentlich?

Da hat jemand ein Computerprogramm geschrieben: eine Abfolge von Anweisungen, denen der Computer entnimmt, was er tun soll. Eine andere Bezeichnung für ein solches Programm (oder einen Teil eines Programms) ist Code. Listing 1.1 zeigt, wie ein Auszug aus dem Code von Microsoft Word aussehen könnte.

if (spaltennummer > 60) { umbrechen();} else { weiterInZeile();}

Listing 1.1: Codezeilen in einem Computerprogramm

Wenn Sie Listing 1.1 in richtiges Deutsch übersetzen, steht dort ungefähr Folgendes:

Wenn die Spaltennummer größer als 60 ist,dann Umbruch durchführen.Sonst (also wenn die Spaltennummer nicht größer als 60 ist)in derselben Zeile weiterschreiben.

Es muss jemanden geben, der Code in der Art des in Listing 1.1 gezeigten schreiben muss. Dieser Code bildet gemeinsam mit mehreren weiteren Millionen Codezeilen ein Programm, das Microsoft Word heißt.

Und wie sieht es beim Surfen im Internet aus? Sie klicken dort auf einen Link, der Sie direkt zu Facebook.com bringen soll. Hinter den Kulissen hat jemand hierfür den folgenden Code geschrieben:

Zu <a href="https://www.facebook.com">Facebook</a> wechseln.

Es gibt also Menschen, die solche Programme schreiben. Und diese Leute heißen eben Programmierer.

Einen Computer mit Anweisungen füttern

Bei allem, was Sie an einem Computer tun, kommt Code zum Einsatz. Viel Code. So ist beispielsweise jedes Computerspiel nichts anderes als eine große (lies: unfassbar große) Menge Computercode. Und irgendjemand hat irgendwann einmal das Spielprogramm geschrieben:

if (person.beruehrt(goldring)) { person.erhaeltPunkte(10);}

Zweifelsohne verfügen Menschen, die Programme schreiben, über wertvolle Fähigkeiten. Es handelt sich dabei im Wesentlichen um zwei besondere Merkmale:

Diese Menschen wissen genau, wie sie komplexe Probleme in kleinere, schrittweise zu bearbeitende Prozeduren unterteilen.

Sie verstehen, diese Schritte in einer sehr präzisen Sprache auszudrücken.

Eine Sprache, in der solche Schritte beschrieben werden können, heißt Programmiersprache, und Java ist nur eine von mehreren Tausend nützlichen Programmiersprachen. Was Sie oben in Listing 1.1 gesehen haben, ist in der Programmiersprache Java abgefasst.

Sie haben die Wahl

In diesem Buch geht es zwar nicht um die Unterschiede zwischen Programmiersprachen, aber Sie sollen auch Code in anderen Sprachen kennenlernen, um einen Eindruck von den Grundprinzipien zu erhalten. So gibt es beispielsweise eine Sprache namens Visual Basic, deren Code sich ein wenig von in Java geschriebenem Code unterscheidet. Ein Auszug aus einem Visual-Basic-Programm könnte etwa so aussehen:

If spaltennummer > 60 Then Call umbrechenElse Call weiterInZeileEnd If

Code in Visual Basic sieht verglichen mit dem Java-Code aus Listing 1.1 schon fast wie normales Englisch aus. Und jetzt sehen Sie sich unter dieser Prämisse einmal denselben Code in der Programmiersprache COBOL an:

IF SPALTENNUMMER IS GREATER THAN 60 THEN PERFORM UMBRECHENELSE PERFORM WEITER-IN-ZEILEEND-IF.

Am anderen Ende des Spektrums befinden sich Sprachen wie Forth. Nachfolgend gezeigt ist ein kurzes Forth-Programm mit Ein- und Ausgabe:

: WRAP? 60 > IF UMBRECHEN? ELSE WEITER_IN_ZEILE? THEN ;

Computersprachen können sich beträchtlich voneinander unterscheiden, aber die Grundprinzipien sind doch weitgehend identisch. Wenn Sie mit IF SPALTENNUMMER IS GREATER THAN 60 klarkommen, werden Sie sich auch an if (spaltennummer > 60) relativ schnell gewöhnen. Sie müssen im Grunde genommen im Kopf lediglich einen Symbolsatz durch einen anderen ersetzen. Am Ende schreiben Sie dann Dinge wie if (spaltennummer > 60) im Schlaf.

Wie Anweisungen aus Ihrem Kopf in den Prozessor gelangen

Beim Entwickeln eines neuen Computerprogramms durchlaufen Sie einen mehrstufigen Prozess. Bei diesem Prozess kommen drei wichtige Tools zum Einsatz:

Compiler.

Ein Compiler übersetzt Ihren Code in vom Computer lesbare (und damit von Ihnen nicht mehr unbedingt lesbare) Anweisungen.

Virtuelle Maschinen.

Eine virtuelle Maschine verarbeitet die computerlesbaren Anweisungen.

API.

Eine API (Application Programming Interface, Programmierschnittstelle) enthält bereits vorab geschriebenen Code, der sich als sehr nützlich erweisen kann.

In den nächsten Abschnitten sollen diese drei Tools beschrieben werden.

Code übersetzen

Sie haben vielleicht schon davon gehört, dass Computer ausschließlich mit Nullen und Einsen rechnen. Das mag gewiss stimmen, aber was heißt das eigentlich? Es bedeutet, dass Schaltkreise in Computern mit Buchstaben erst einmal gar nichts anfangen können. Wenn das Wort Start auf Ihrem Bildschirm angezeigt wird, wird es vom Computer selbst als Zeichenfolge 01010011 01110100 01100001 01110010 01110100 gespeichert. Dass Sie hier ein motivierendes Wort mit fünf Buchstaben sehen, ist lediglich Ihrer Interpretation der Bildpunktformen auf dem Bildschirm zu verdanken – mehr nicht. Computer unterteilen alles in sehr grundlegende und schlecht zu lesende Abfolgen von Nullen und Einsen und setzen am Ende alles wieder so zusammen, dass der Mensch mit den Ergebnissen umgehen kann.

Was also geschieht nun, wenn Sie ein Computerprogramm schreiben? Ganz klar: Dieses Programm muss in Nullen und Einsen übersetzt werden. Der offizielle Begriff für diesen Übersetzungsvorgang lautet Kompilierung. Ohne Kompilierung kann der Computer Ihr Programm nicht ausführen.

Ich habe den Code aus Listing 1.1 spaßeshalber einmal kompiliert und dann mit einem Trick dafür gesorgt, dass ich die resultierenden Nullen und Einsen anzeigen kann. Das Ergebnis sehen Sie in Abbildung 1.1.

Abbildung 1.1: Mein Computer versteht Nullen und Einsen. Ich nicht.

Für den kompilierten Kuddelmuddel in Abbildung 1.1 gibt es viele unterschiedliche Bezeichnungen:

Die meisten Java-Programmierer nennen so etwas

Bytecode

.

Ich spreche häufig von

.class-Dateien

, denn in Java wird Bytecode in Dateien gespeichert, deren Namen

DiesUndJenes

.class

lauten.

Zur Unterscheidung der beiden Codeformen sprechen Java-Programmierer bei so etwas wie

Listing 1.1

vom

Quellcode

, während die Übersetzung in

Abbildung 1.1

Objektcode

heißt.

Abbildung 1.2 veranschaulicht die Beziehung zwischen Quell- und Objektcode. Zuerst schreiben Sie Quellcode, und dann bringen Sie Ihren Computer dazu, aus diesem Quellcode Objektcode zu erstellen. Zu diesem Zweck verwendet der Computer ein spezielles Softwaretool: den Compiler.

Abbildung 1.2: Der Computer kompiliert Quellcode, um Objektcode zu erstellen.

Auf der Festplatte Ihres Computers finden Sie unter Umständen eine Datei, die javac oder javac.exe heißt. Dies ist die Datei, die den Compiler enthält. (Und wissen Sie was? javac