Denken Sie Java 2nd Ed.
Das Ziel dieses Buches ist es, Ihnen beizubringen, wie ein Informatiker zu denken.Diese Denkweise kombiniert einige der besten Eigenschaften von Mathematik, Ingenieurwesen und Naturwissenschaften.Wie Mathematiker verwenden Informatiker formale Sprachen, um Ideen zu bezeichnen — insbesondere Berechnungen.Wie Ingenieure entwerfen sie Dinge, bauen Komponenten zu Systemen zusammen und bewerten Kompromisse zwischen Alternativen.Und wie Wissenschaftler beobachten sie das Verhalten komplexer Systeme, bilden Hypothesen und testen Vorhersagen.
Eine wichtige Fähigkeit für einen Informatiker ist: solving.It beinhaltet die Fähigkeit, Probleme zu formulieren, kreativ über Lösungen nachzudenken und Lösungen klar und deutlich auszudrücken accurately.As es stellt sich heraus, dass der Prozess des Lernens, Computer zu programmieren, eine ausgezeichnete Gelegenheit ist, Problemlösungsfähigkeiten zu entwickeln.Auf einer Ebene lernen Sie, Java-Programme zu schreiben, eine nützliche Fähigkeit für sich.Aber auf einer anderen Ebene werden Sie die Programmierung als Mittel zu einem end.As wenn wir weitermachen, wird dieses Ende klarer.
1.1 Was ist ein Computer?
Wenn Menschen das Wort Computer hören, denken sie oft an einen Desktop oder einen Laptop.Es überrascht nicht, dass bei der Suche nach “Computer” in Google Images (https://images.google.com/) Zeilen und Zeilen dieser Maschinentypen angezeigt werden.Im allgemeineren Sinne kann ein Computer jedoch jede Art von Gerät sein, das Daten speichert und verarbeitet.
Dictionary.com definiert einen Computer als “ein programmierbares elektronisches Gerät, das Daten akzeptiert, vorgeschriebene mathematische und logische Operationen mit hoher Geschwindigkeit ausführt und die Ergebnisse dieser Operationen anzeigt.Mainframes, Desktop- und Laptop-Computer, Tablets und Smartphones sind einige der verschiedenen Arten von Computern.”
Jeder Computertyp hat sein eigenes einzigartiges Design, aber intern teilen sie alle die gleiche Art von Hardware.Die beiden wichtigsten Hardwarekomponenten sind Prozessoren (oder CPUs), die einfache Berechnungen durchführen, und Speicher (oder RAM), der Informationen vorübergehend speichert.Abbildung 1.1 zeigt, wie diese Komponenten aussehen.
Abbildung 1.1: Beispiel Prozessor- und Speicherhardware.
Benutzer sehen und interagieren im Allgemeinen mit Touchscreens, Tastaturen und Monitoren, aber es sind die Prozessoren und der Speicher, die die eigentliche Berechnung durchführen.Heutzutage ist es selbst für ein Smartphone ziemlich Standard, mindestens acht Prozessoren und vier Gigabyte (vier Milliarden Zellen) Speicher zu haben.
1.2 Was ist Programmieren?
Ein Programm ist eine Folge von Anweisungen, die angeben, wie eine Berechnung auf Computerhardware ausgeführt wird.Die Berechnung könnte etwas Mathematisches sein, wie das Lösen eines Gleichungssystems oder das Finden der Wurzeln eines Polynoms.Es könnte auch eine symbolische Berechnung sein, wie das Suchen und Ersetzen von Text in einem Dokument oder (seltsamerweise) das Kompilieren eines Programms.
Die Details sehen in verschiedenen Sprachen unterschiedlich aus, aber ein paar grundlegende Anweisungen erscheinen in fast jeder Sprache:
Eingabe: Holen Sie sich Daten von der Tastatur, einer Datei, einem Sensor oder einem anderen Gerät. ausgabe: Daten auf dem Bildschirm anzeigen oder Daten an eine Datei oder ein anderes Gerät senden. mathematik: Führen Sie grundlegende mathematische Operationen wie Addition und Division durch. entscheidung: Prüfen Sie auf bestimmte Bedingungen und führen Sie den entsprechenden Code aus. Wiederholung: Führen Sie eine Aktion wiederholt aus, normalerweise mit einigen Variationen.
Ob Sie es glauben oder nicht, das ist so ziemlich alles, was es dazu gibt.Jedes Programm, das Sie jemals benutzt haben, egal wie kompliziert, besteht aus kleinen Anweisungen, die ähnlich aussehen these.So sie können sich das Programmieren als den Prozess vorstellen, bei dem eine große, komplexe Aufgabe in immer kleinere Unteraufgaben zerlegt wird.Der Vorgang wird fortgesetzt, bis die Teilaufgaben einfach genug sind, um mit den von der Hardware bereitgestellten elektronischen Schaltungen ausgeführt zu werden.
1.3 Das Hello World-Programm
Traditionell wird das erste Programm, das Sie beim Erlernen einer neuen Programmiersprache schreiben, als “Hello World” -Programm bezeichnet.Alles, was es tut, ist die Ausgabe der Worte Hallo, Welt! zu den screen.In Java, es sieht so aus:
Wenn dieses Programm ausgeführt wird, wird Folgendes angezeigt:
Hallo, Welt!
Beachten Sie, dass die Ausgabe keine Anführungszeichen enthält.
Java-Programme bestehen aus Klassen- und Methodendefinitionen, und Methoden bestehen aus Anweisungen.Eine Anweisung ist eine Codezeile, die eine grundlegende Aktion ausführt.Im Hello World-Programm ist diese Zeile eine print-Anweisung, die dem Benutzer eine Nachricht anzeigt:
System.aus.println(“Hallo, Welt!”);
System.out.println
zeigt Ergebnisse auf dem Bildschirm an; der Name println
steht für “Druckzeile”.Verwirrenderweise kann Drucken sowohl “Anzeige auf dem Bildschirm” als auch “An den Drucker senden” bedeuten.In diesem Buch werden wir versuchen, “Anzeige” zu sagen, wenn wir Ausgabe auf den Bildschirm meinen.Wie die meisten Anweisungen endet die print-Anweisung mit einem Semikolon (;
).
Java ist “case-sensitive”, was bedeutet, dass Groß- und Kleinbuchstaben nicht gleich sind.Im Hello World-Programm muss System
mit einem Großbuchstaben beginnen; system
und SYSTEM
funktionieren nicht.
Eine Methode ist eine benannte Folge von Anweisungen.Dieses Programm definiert eine Methode namens main
:
public static void main(String Argumente)
Der Name und das Format von main
sind speziell: Wenn das Programm ausgeführt wird, beginnt es bei der ersten Anweisung in main
und endet, wenn es die letzte Anweisung beendet.Später sehen Sie Programme, die mehr als eine Methode definieren.
Dieses Programm definiert eine Klasse mit dem Namen Hello
.Im Moment ist eine Klasse eine Sammlung von Methoden; wir werden später mehr dazu sagen.Sie können einer Klasse einen beliebigen Namen geben, aber es ist üblich, mit einem Großbuchstaben zu beginnen.Der Name der Klasse muss mit dem Namen der Datei übereinstimmen, in der sie sich befindet.Java.
Java verwendet geschweifte Klammern ({
und }
), um Dinge zu gruppieren together.In Hallo.java, die äußersten Klammern enthalten die Klassendefinition und die inneren Klammern enthalten die Methodendefinition.
Die Zeile, die mit zwei Schrägstrichen beginnt (//
), ist ein Kommentar, bei dem es sich um einen englischen Text handelt, der den Code erklärt.Wenn Java //
sieht, ignoriert es alles von dort bis zum Ende der Zeile.Kommentare haben keinen Einfluss auf die Ausführung des Programms, aber sie erleichtern es anderen Programmierern (und Ihrem zukünftigen Selbst) zu verstehen, was Sie tun wollten.
1.4 Java-Programme kompilieren
Die Programmiersprache, die Sie in diesem Buch lernen werden, ist Java, eine Hochsprache.Andere Hochsprachen, von denen Sie vielleicht gehört haben, sind Python, C und C ++, PHP, Ruby und JavaScript.
Bevor sie ausgeführt werden können, müssen Programme in Hochsprachen in eine Niedersprache übersetzt werden, die auch als “Maschinensprache” bezeichnet wird.Diese Übersetzung dauert einige Zeit, was ein kleiner Nachteil von Hochsprachen ist.Aber Hochsprachen haben zwei große Vorteile:
- Es ist viel einfacher, in einer Hochsprache zu programmieren.Programme brauchen weniger Zeit zum Schreiben, sie sind kürzer und leichter zu lesen und sie sind eher korrekt.
- Hochsprachen sind portabel, was bedeutet, dass sie auf verschiedenen Arten von Computern mit wenigen oder keinen Änderungen ausgeführt werden können.Low-Level-Programme können nur auf einem Computertyp ausgeführt werden.
Zwei Arten von Programmen übersetzen Hochsprachen in Niedersprachen: Dolmetscher und compilers.An interpreter liest ein übergeordnetes Programm und führt es aus, was bedeutet, dass es das tut, was das Programm tut says.It verarbeitet das Programm nach und nach, liest abwechselnd Zeilen und führt Berechnungen durch.Abbildung 1.2 zeigt den Aufbau eines Interpreters.
Abbildung 1.2: Wie interpretierte Sprachen ausgeführt werden.
Im Gegensatz dazu liest ein Compiler das gesamte Programm und übersetzt es vollständig, bevor das Programm ausgeführt wird.Das übergeordnete Programm wird als Quellcode bezeichnet.Das übersetzte Programm wird als Objektcode oder ausführbare Datei bezeichnet.Sobald ein Programm kompiliert ist, können Sie es wiederholt ausführen, ohne die Quelle weiter zu übersetzen code.As kompilierte Programme laufen oft schneller als interpretierte Programme.
Beachten Sie, dass Objektcode als Low-Level-Sprache nicht portabel ist.Sie können keine für einen Windows-Laptop kompilierte ausführbare Datei auf einem Android-Telefon ausführen, z example.To führen Sie ein Programm auf verschiedenen Maschinentypen aus, es muss kompiliert werden. times.It es kann schwierig sein, Quellcode zu schreiben, der auf verschiedenen Maschinentypen korrekt kompiliert und ausgeführt wird.
Um dieses Problem zu beheben, wird Java sowohl kompiliert als auch interpretiert.Anstatt den Quellcode direkt in eine ausführbare Datei zu übersetzen, generiert der Java-Compiler Code für eine virtuelle Maschine.Diese “imaginäre” Maschine verfügt über die Funktionalität, die Desktops, Laptops, Tablets, Telefonen usw. gemeinsam ist.Seine Sprache, Java Byte Code genannt, sieht aus wie Objektcode und ist einfach und schnell zu interpretieren.
Infolgedessen ist es möglich, ein Java-Programm auf einem Computer zu kompilieren, den Bytecode auf einen anderen Computer zu übertragen und den Bytecode auf diesem anderen Computer auszuführen.Abbildung 1.3 zeigt die Schritte des Entwicklungsprozesses.Der Java-Compiler ist ein Programm namens javac.It übersetzt .java-Dateien in .klassendateien, die den resultierenden Bytecode speichern.Der Java-Interpreter ist ein weiteres Programm namens Java, das für “Java Virtual Machine” (JVM) steht.
Abbildung 1.3: Der Prozess des Kompilierens und Ausführens eines Java-Programms.
Der Programmierer schreibt Quellcode in die Datei Hallo.java und verwendet Javac, um es zu kompilieren.Wenn keine Fehler vorliegen, speichert der Compiler den Bytecode in der Datei Hello.class.To führen Sie das Programm aus, der Programmierer verwendet Java, um den Bytecode zu interpretieren.Das Ergebnis des Programms wird dann auf dem Bildschirm angezeigt.
Obwohl es kompliziert erscheinen mag, sind diese Schritte in den meisten Entwicklungsumgebungen für Sie automatisiert.Normalerweise müssen Sie nur eine Taste drücken oder einen einzigen Befehl eingeben, um Ihr Programm zu kompilieren und zu interpretieren.Auf der anderen Seite ist es wichtig zu wissen, welche Schritte im Hintergrund ablaufen, damit Sie herausfinden können, was es ist, wenn etwas schief geht.
1.5 Anzeigen von zwei Nachrichten
Sie können beliebig viele Anweisungen in die main
-Methode einfügen.Um beispielsweise mehr als eine Ausgabezeile anzuzeigen:
Wie dieses Beispiel auch zeigt, können Sie Kommentare sowohl am Ende einer Zeile als auch in Zeilen selbst einfügen.
Phrasen, die in Anführungszeichen stehen, werden als Zeichenfolgen bezeichnet, da sie eine Folge von Zeichen enthalten, die im Speicher aneinandergereiht sind.Zeichen können Buchstaben, Zahlen, Satzzeichen, Symbole, Leerzeichen, Tabulatoren usw. sein.
System.out.println
hängt ein Sonderzeichen an, das als Zeilenumbruch bezeichnet wird und an den Anfang der nächsten Zeile verschoben wird.Wenn Sie am Ende keinen Zeilenumbruch wünschen, können Sie print
anstelle von println
:
In diesem Beispiel fügt die erste Anweisung keine neue Zeile hinzu, sodass die Ausgabe in einer einzelnen Zeile angezeigt wird:
Auf Wiedersehen, grausame Welt
Beachten Sie, dass am Ende der ersten Zeichenfolge ein Leerzeichen steht, das in der Ausgabe kurz vor dem Wort cruel .
1.6 Formatieren von Quellcode
Im Java-Quellcode sind einige Leerzeichen erforderlich.Zum Beispiel benötigen Sie mindestens ein Leerzeichen zwischen Wörtern, daher ist dieses Programm nicht legal:
publicclassGoodbye{ publicstaticvoidmain(String args) { System.aus.print(“Auf Wiedersehen, “); System.aus.println(“grausame Welt”); }}
Aber die meisten anderen Räume sind optional.Zum Beispiel ist dieses Programm legal:
Die Zeilenumbrüche sind optional, too.So wir könnten einfach Folgendes schreiben:
Es funktioniert immer noch, aber das Programm wird immer schwieriger zu lesen.Zeilenumbrüche und Leerzeichen sind wichtig für die visuelle Organisation Ihres Programms, damit Sie das Programm leichter verstehen und Fehler finden können, wenn sie auftreten.
Viele Editoren formatieren den Quellcode automatisch mit konsistenten Einrückungen und Zeilenumbrüchen.In DrJava (siehe Anhang A.1) können Sie beispielsweise Ihren Code einrücken, indem Sie den gesamten Text auswählen (Strg + A) und die Tabulatortaste drücken.
Organisationen, die viel Software entwickeln, haben normalerweise strenge Richtlinien für die Formatierung von Quellcode.Zum Beispiel veröffentlicht Google seine Java-Codierungsstandards für die Verwendung in Open-Source-Projekten: https://google.github.io/styleguide/javaguide.html.
Sie werden diese Richtlinien jetzt wahrscheinlich nicht verstehen, da sie sich auf Sprachfunktionen beziehen, die Sie noch nicht gesehen haben.Aber vielleicht möchten Sie sich regelmäßig darauf beziehen, wenn Sie dieses Buch lesen.
1.7 Verwendung von Escape-Sequenzen
Es ist möglich, mehrere Ausgabezeilen mit nur einer Codezeile anzuzeigen.Sie müssen Java nur mitteilen, wo die Zeilenumbrüche eingefügt werden sollen:
Die Ausgabe besteht aus zwei Zeilen, die jeweils mit einem Zeilenumbruchzeichen enden:
Hallo!Wie geht’s?
Jedes \n
ist eine Escape-Sequenz oder zwei Zeichen des Quellcodes, die ein einzelnes Zeichen darstellen.(Mit dem Backslash können Sie die Zeichenfolge maskieren, um Sonderzeichen zu schreiben.)Beachten Sie, dass zwischen \n
und How
kein Leerzeichen steht.Wenn Sie dort ein Leerzeichen hinzufügen, befindet sich am Anfang der zweiten Zeile ein Leerzeichen.
\n
Zeilenumbruch \t
tab \"
doppeltes Zitat \
backslash Tabelle 1.1: Gängige Escape-Sequenzen
Java hat insgesamt acht Escape-Sequenzen, und die vier am häufigsten verwendeten sind in Tabelle 1.1 aufgeführt.Um beispielsweise Anführungszeichen in Zeichenfolgen zu schreiben, müssen Sie sie mit einem umgekehrten Schrägstrich maskieren:
System.aus.println(“Sie sagte \”Hallo!\” für mich.”);
Das Ergebnis ist wie folgt:
Sie sagte “Hallo!” für mich.
1.8 Was ist Informatik?
Dieses Buch lässt absichtlich einige Details über die Java-Sprache aus (wie die anderen Escape-Sequenzen), weil unser Hauptziel darin besteht, Ihnen beizubringen, wie ein Informatiker zu denken.In der Lage zu sein, Berechnungen zu verstehen, ist viel wertvoller als nur zu lernen, wie man Code schreibt.
Wenn Sie mehr über Java selbst erfahren möchten, unterhält Oracle auf seiner Website eine offizielle Reihe von Tutorials (https://thinkjava.org/tutorial).Das Tutorial “Sprachgrundlagen”, das Sie unter “Erlernen der Java-Sprache” finden, ist ein guter Ausgangspunkt.
Einer der interessantesten Aspekte beim Schreiben von Programmen ist die Entscheidung, wie ein bestimmtes Problem gelöst werden soll, insbesondere wenn es mehrere Lösungen gibt.Zum Beispiel gibt es zahlreiche Möglichkeiten, eine Liste von Zahlen zu sortieren, und jeder Weg hat seine advantages.In um zu bestimmen, welcher Weg für eine gegebene Situation am besten ist, benötigen wir Techniken zur Beschreibung und Analyse von Lösungen formal.
Ein Algorithmus ist eine Abfolge von Schritten, die angeben, wie ein Problem gelöst werden soll.Einige Algorithmen sind schneller als andere und einige verwenden weniger Speicherplatz im Computerspeicher.Informatik ist die Wissenschaft von Algorithmen, einschließlich ihrer Entdeckung und analysis.As sie lernen, Algorithmen für Probleme zu entwickeln, die Sie noch nicht gelöst haben, und lernen, wie ein Informatiker zu denken.
Das Entwerfen von Algorithmen und das Schreiben von Code ist schwierig und fehleranfällig.Aus historischen Gründen werden Programmierfehler als Fehler bezeichnet, und der Prozess, sie aufzuspüren und zu korrigieren, wird als bezeichnet debugging.As sie lernen, Ihre Programme zu debuggen, und entwickeln neue Fähigkeiten zur Problemlösung.Sie müssen kreativ denken, wenn unerwartete Fehler auftreten.
Obwohl es frustrierend sein kann, ist das Debuggen ein intellektuell reichhaltiger, herausfordernder und interessanter Teil des Computers science.In in gewisser Weise ist Debuggen wie Detektivarbeit.Sie werden mit Hinweisen konfrontiert, und Sie müssen die Prozesse und Ereignisse ableiten, die zu den Ergebnissen geführt haben, die Sie sehen.Das Nachdenken darüber, wie Programme korrigiert und ihre Leistung verbessert werden kann, führt manchmal sogar zur Entdeckung neuer Algorithmen.
1.9 Debugging-Programme
Es ist eine gute Idee, dieses Buch vor einem Computer zu lesen, damit Sie die Beispiele ausprobieren können.Sie können viele der Beispiele direkt im Interaktionsbereich von DrJava ausführen (siehe Anhang A.2).Wenn Sie den Code jedoch in eine Quelldatei einfügen, ist es einfacher, Variationen auszuprobieren.
Wenn Sie mit einer neuen Funktion experimentieren, sollten Sie auch versuchen, Fehler zu machen.Was passiert beispielsweise im Hello World-Programm, wenn Sie eines der Anführungszeichen weglassen?Was ist, wenn Sie beide weglassen?Was ist, wenn Sie println
falsch buchstabieren?Diese Art von Experimenten hilft Ihnen, sich daran zu erinnern, was Sie gelesen haben.Sie helfen auch beim Debuggen, weil Sie lernen, was die Fehlermeldungen mean.It es ist besser, jetzt und absichtlich Fehler zu machen, als später und versehentlich.
Debuggen ist wie eine experimentelle Wissenschaft: Sobald Sie eine Vorstellung davon haben, was schief läuft, ändern Sie Ihr Programm und versuchen es erneut.Wenn Ihre Hypothese korrekt war, können Sie das Ergebnis der Änderung vorhersagen und einem Arbeitsprogramm einen Schritt näher kommen.Wenn Ihre Hypothese falsch war, müssen Sie sich eine neue einfallen lassen.
Programmierung und Debugging sollten Hand in Hand gehen.Schreiben Sie nicht einfach einen Haufen Code und führen Sie dann Trial-and-Error-Debugging durch, bis alles funktioniert.Beginnen Sie stattdessen mit einem Programm, das etwas tut, und nehmen Sie kleine Änderungen vor, während Sie sie debuggen, bis das Programm das tut, was Sie wollen.Auf diese Weise haben Sie immer ein funktionierendes Programm und das Isolieren von Fehlern wird einfacher.
Ein gutes Beispiel für dieses Prinzip ist das Linux-Betriebssystem, das Millionen von Zeilen code.It begann als einfaches Programm, mit dem Linus Torvalds den Intel 80386-Chip erforschte.Laut Larry Greenfield im Linux Users ‘Guide “war eines der früheren Projekte von Linus ein Programm, das zwischen dem Drucken von AAAA und BBBB wechseln würde.Dies entwickelte sich später zu Linux.”
Schließlich bringt das Programmieren manchmal starke Emotionen hervor.Wenn Sie mit einem schwierigen Fehler zu kämpfen haben, fühlen Sie sich möglicherweise wütend, mutlos oder verlegen.Denken Sie daran, dass Sie nicht allein sind und praktisch jeder Programmierer ähnliche Erfahrungen gemacht hat.Zögern Sie nicht, einen Freund zu erreichen und Fragen zu stellen!
1.10 Wortschatz
Im gesamten Buch versuchen wir, jeden Begriff beim ersten Gebrauch zu definieren it.At am Ende jedes Kapitels fügen wir die neuen Begriffe und ihre Definitionen in der Reihenfolge ihres Auftretens.Wenn Sie einige Zeit damit verbringen, dieses Vokabular zu lernen, fällt es Ihnen leichter, die folgenden Kapitel zu lesen.
problemlösung: Der Prozess, ein Problem zu formulieren, eine Lösung zu finden und die Lösung auszudrücken. hardware: Die elektronischen und mechanischen Komponenten eines Computers, wie CPUs, RAM und Festplatten. Prozessor: Ein Computerchip, der einfache Anweisungen wie Grundrechenarten und Logik ausführt. speicher: Schaltungen, die Daten speichern, solange der Computer eingeschaltet ist.Nicht zu verwechseln mit permanenten Speichergeräten wie Festplatten und Flash. programm: Eine Folge von Anweisungen, die angibt, wie Aufgaben auf einem Computer ausgeführt werden.Auch bekannt als “Software”. programmierung: Die Anwendung der Problemlösung auf die Erstellung ausführbarer Computerprogramme. anweisung: Teil eines Programms, das einen Schritt eines Algorithmus angibt. print-Anweisung: Eine Anweisung, die bewirkt, dass die Ausgabe auf dem Bildschirm angezeigt wird. Methode: Eine benannte Sequenz von Anweisungen. klasse: Vorerst eine Sammlung verwandter Methoden.(Sie werden später sehen, dass es noch viel mehr gibt.) Kommentar: Ein Teil eines Programms, der Informationen über das Programm enthält, aber keine Auswirkung hat, wenn das Programm ausgeführt wird. hochsprache: Eine Programmiersprache, die für den Menschen leicht zu lesen und zu schreiben ist. low-Level-Sprache: Eine Programmiersprache, die für einen Computer einfach zu bedienen ist.Auch “Maschinensprache” genannt. portable: Die Fähigkeit eines Programms, auf mehr als einer Art von Computer ausgeführt werden. interpretieren: Führen Sie ein Programm in einer Hochsprache aus, indem Sie es zeilenweise übersetzen und sofort die entsprechenden Anweisungen ausführen. kompilieren: Um ein Programm in einer Hochsprache auf einmal in eine Niedersprache zu übersetzen, um es für die spätere Ausführung vorzubereiten. quellcode: Ein Programm in einer Hochsprache, bevor es kompiliert wird. objektcode: Die Ausgabe des Compilers nach der Übersetzung des Programms. ausführbar: Ein anderer Name für Objektcode, der auf einer bestimmten Hardware ausgeführt werden kann. virtuelle Maschine: Eine Emulation einer realen Maschine. Die JVM ermöglicht es einem Computer, Java-Programme auszuführen. bytecode: Eine spezielle Art von Objektcode, der für Java-Programme verwendet wird.Bytecode ähnelt Objektcode, ist aber wie eine Hochsprache portabel. string: Eine Folge von Zeichen; der primäre Datentyp für Text. newline: Ein Sonderzeichen, das das Ende einer Textzeile angibt.Auch bekannt als “Zeilenende”, “Zeilenende” (EOL) oder “Zeilenumbruch”. escape-Sequenz: Eine Codesequenz, die ein Sonderzeichen darstellt, wenn sie in einer Zeichenfolge verwendet wird. algorithmus: Ein Verfahren oder eine Formel zur Lösung eines Problems, mit oder ohne Computer. Informatik: Der wissenschaftliche und praktische Ansatz zur Berechnung und ihre Anwendungen. bug: Ein Fehler in einem Programm. debugging: Der Prozess des Auffindens und Entfernens von Fehlern.
1.11 Übungen
Am Ende jedes Kapitels finden Sie Übungen, die Sie mit den gelernten Dingen machen können.Wir empfehlen Ihnen, zumindest jedes Problem zu versuchen.Sie können Programmieren nicht nur lernen, indem Sie darüber lesen; du musst üben.
Bevor Sie Java-Programme kompilieren und ausführen können, müssen Sie möglicherweise einige Tools herunterladen und installieren.Es gibt viele gute Optionen, aber wir empfehlen DrJava, eine “integrierte Entwicklungsumgebung” (IDE), die sich gut für Anfänger eignet.Anweisungen für die ersten Schritte finden Sie in Anhang A.
Der Code für dieses Kapitel befindet sich im Verzeichnis ch01 von ThinkJavaCode2.Siehe Seite ?? anweisungen zum Herunterladen des Repositorys.Bevor Sie mit den Übungen beginnen, empfehlen wir Ihnen, die Beispiele zu kompilieren und auszuführen.
Informatiker haben die nervige Angewohnheit, gebräuchliche englische Wörter zu verwenden, um etwas anderes als ihre gebräuchlichen englischen Bedeutungen zu bedeuten.Zum Beispiel sind Aussagen und Kommentare in Englisch dasselbe, aber in Programmen sind sie unterschiedlich.
- Was ist im Computerjargon der Unterschied zwischen einer Aussage und einem Kommentar?
- Was bedeutet es zu sagen, dass ein Programm portabel ist?
- Was bedeutet das Wort Kompilieren im allgemeinen Englisch?
- Was ist eine ausführbare Datei? Warum wird dieses Wort als Substantiv verwendet?
Der Vokabelabschnitt am Ende jedes Kapitels soll Wörter und Phrasen hervorheben, die in der Informatik eine besondere Bedeutung haben.Wenn Sie vertraute Wörter sehen, gehen Sie nicht davon aus, dass Sie wissen, was sie bedeuten!
Bevor Sie etwas anderes tun, finden Sie heraus, wie Sie ein Java-Programm kompilieren und ausführen.Einige Umgebungen bieten Beispielprogramme ähnlich dem Beispiel in Abschnitt 1.3.
- Geben Sie das Hello World-Programm ein. dann kompilieren und ausführen.
- Fügen Sie eine print-Anweisung hinzu, die eine zweite Nachricht nach dem Hello, World!.Sag etwas Witziges wie, Wie geht es dir?.Kompilieren Sie das Programm und führen Sie es erneut aus.
- Fügen Sie dem Programm einen Kommentar hinzu (irgendwo), kompilieren Sie es neu und führen Sie es erneut aus.Der neue Kommentar sollte das Ergebnis nicht beeinflussen.
Diese Übung mag trivial erscheinen, ist aber der Ausgangspunkt für viele der Programme, an denen wir arbeiten werden with.To debuggen Sie mit Zuversicht, Sie müssen Vertrauen in Ihre Programmierumgebung haben.
In einigen Umgebungen ist es leicht, den Überblick zu verlieren, welches Programm ausgeführt wird.Möglicherweise versuchen Sie, ein Programm zu debuggen, während Sie versehentlich ein anderes ausführen.Das Hinzufügen (und Ändern) von Druckanweisungen ist eine einfache Möglichkeit, um sicherzustellen, dass das Programm, das Sie betrachten, das Programm ist, das Sie ausführen.
Es ist eine gute Idee, so viele Fehler wie möglich zu begehen, damit Sie sehen, welche Fehlermeldungen der Compiler erzeugt.Manchmal sagt Ihnen der Compiler genau, was falsch ist, und alles, was Sie tun müssen, ist es zu beheben.Aber manchmal sind die Fehlermeldungen irreführend.Im Laufe der Zeit werden Sie ein Gefühl dafür entwickeln, wann Sie dem Compiler vertrauen können und wann Sie die Dinge selbst herausfinden müssen.
Probieren Sie ab dem Hello World-Programm jeden der folgenden Fehler aus.Nachdem Sie jede Änderung vorgenommen haben, kompilieren Sie das Programm, lesen Sie die Fehlermeldung (falls vorhanden) und beheben Sie den Fehler.
- Entfernen Sie eine der öffnenden geschweiften Klammern.
- Entfernen Sie eine der schließenden geschweiften Klammern.
- Schreiben Sie anstelle von
main
mian
. - Entferne das Wort
static
. - Entferne das Wort
public
. - Entferne das Wort
System
. - Ersetzen Sie
println
durchPrintln
. - Ersetzen Sie
println
durchprint
. - Eine Klammer streichen.
- Fügen Sie eine zusätzliche Klammer hinzu.