18,99 €
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:
Seitenzahl: 640
Veröffentlichungsjahr: 2018
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
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.
Für Harriet, Sam und Jennie, Sam und Ruth, Abram und Katie sowie Benjamin und Jennie. Und auch für Basheva.
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.
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
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
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
Cover
Inhaltsverzeichnis
Begin Reading
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
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.
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.
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.
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.
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.
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.
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:
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.
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.
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ß.
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.
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.
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.«
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
IN DIESEM TEIL …
Sich für den Job als Java-Entwickler motivierenSoftware installierenBeispielprogramme ausführenKapitel 1
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?
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.
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.
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.
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.
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