Think Java 2nd Ed.
het doel van dit boek is om je te leren denken als een computerwetenschapper.Deze manier van denken combineert een aantal van de beste eigenschappen van de wiskunde, engineering, en natuurwetenschappen.Net als wiskundigen gebruiken computerwetenschappers formele talen om ideeën aan te duiden—in het bijzonder berekeningen.Net als ingenieurs ontwerpen ze dingen, assembleren ze componenten tot systemen en evalueren ze afwegingen tussen alternatieven.Net als wetenschappers observeren ze het gedrag van complexe systemen, vormen ze hypothesen en testen ze voorspellingen.
een belangrijke vaardigheid voor een computerwetenschapper is probleem solving.It omvat het vermogen om problemen te formuleren, creatief na te denken over oplossingen, en oplossingen duidelijk uit te drukken en accurately.As het blijkt dat het proces van het leren programmeren van computers een uitstekende kans is om probleemoplossende vaardigheden te ontwikkelen.Op één niveau leer je Java-programma ‘ s te schrijven, een nuttige vaardigheid op zich.Maar op een ander niveau, je zal programmeren gebruiken als een middel om een end.As we gaan mee, dat einde zal duidelijker worden.
1.1 Wat Is een Computer?
wanneer mensen het woord computer horen, denken ze vaak aan een desktop of laptop.Het is niet verrassend dat het zoeken naar “computer” op Google Images (https://images.google.com/) rijen en rijen van dit soort machines weergeeft.Echter, in een meer algemene zin, een computer kan elk type apparaat dat gegevens opslaat en verwerkt.
Dictionary.com definieert een computer als ” een programmeerbaar elektronisch apparaat dat is ontworpen om gegevens te accepteren, voorgeschreven wiskundige en logische bewerkingen op hoge snelheid uit te voeren en de resultaten van deze bewerkingen weer te geven.Mainframes, desktop-en laptopcomputers, tablets en smartphones zijn enkele van de verschillende soorten computers.”
elk type computer heeft zijn eigen unieke ontwerp, maar intern delen ze allemaal hetzelfde type hardware.De twee belangrijkste hardwarecomponenten zijn processors (of CPU ‘ s) die eenvoudige berekeningen uitvoeren en geheugen (of RAM) dat Tijdelijk informatie opslaat.Figuur 1.1 laat zien hoe deze componenten eruit zien.
figuur 1.1: voorbeeld processor en geheugen hardware.
gebruikers zien en communiceren over het algemeen met touchscreens, Toetsenborden en monitoren, maar het zijn de processors en het geheugen die de werkelijke berekening uitvoeren.Tegenwoordig is het vrij standaard, zelfs voor een smartphone, om ten minste acht processors en vier gigabytes (vier miljard cellen) geheugen.
1.2 Wat Is Programmeren?
een programma is een reeks instructies die specificeert hoe een berekening op computerhardware moet worden uitgevoerd.De berekening kan iets wiskundig zijn, zoals het oplossen van een systeem van vergelijkingen of het vinden van de wortels van een veelterm.Het kan ook een symbolische berekening zijn, zoals het zoeken en vervangen van tekst in een document of (vreemd genoeg) het samenstellen van een programma.
de details zien er anders uit in verschillende talen, maar een paar basisinstructies verschijnen in zowat elke taal:
invoer: Gegevens ophalen van het toetsenbord, een bestand, een sensor of een ander apparaat. uitvoer: gegevens weergeven op het scherm, of gegevens verzenden naar een bestand of ander apparaat. wiskunde: voer elementaire wiskundige bewerkingen uit zoals optellen en delen. beslissing: Controleer op bepaalde voorwaarden en voer de juiste code uit. herhaling: Voer een actie herhaaldelijk uit, meestal met enige variatie.
geloof het of niet, meer is er niet.Elk programma dat je ooit hebt gebruikt, maakt niet uit hoe ingewikkeld, bestaat uit kleine instructies die veel lijken op these.So je kunt programmeren zien als het proces van het afbreken van een grote, complexe taak in kleinere en kleinere subtaken.Het proces gaat door totdat de subtaken eenvoudig genoeg zijn om te worden uitgevoerd met de elektronische circuits die door de hardware worden geleverd.
1.3 Het Hello World programma
traditioneel is het eerste programma dat je schrijft wanneer je een nieuwe programmeertaal leert het “Hello World” programma.Het enige wat het doet is de output van de woorden Hello, World! naar de screen.In Java, het ziet er als volgt uit:
wanneer dit programma draait, wordt het volgende weergegeven:
Hallo, wereld!
merk op dat de uitvoer geen aanhalingstekens bevat.
Java-programma ‘ s bestaan uit klasse-en methodedefinities, en methoden bestaan uit statements.Een statement is een regel code die een basisactie uitvoert.In het Hello World programma is deze regel een print statement dat een bericht aan de gebruiker weergeeft:
systeem.uit.println (“Hallo, wereld!”);
System.out.println
toont resultaten op het scherm; de naam println
staat voor “print line”.In dit boek zullen we proberen om “display” te zeggen als we de uitvoer naar het scherm bedoelen.het is verwarrend dat print zowel “display on the screen”als “send to the printer” betekent.in dit boek zullen we proberen “display” te zeggen als we output naar het scherm bedoelen.Zoals de meeste statements eindigt het print statement op een puntkomma (;
).
Java is “hoofdlettergevoelig”, wat betekent dat hoofdletters en kleine letters niet hetzelfde zijn.In het Hello World programma moet System
beginnen met een hoofdletter; system
en SYSTEM
werken niet.
een methode is een benoemde reeks statements.Dit programma definieert een methode genaamd main
:
public static void main (String args)
de naam en het formaat van main
zijn speciaal: wanneer het programma draait, begint het bij het eerste statement in main
en eindigt wanneer het laatste statement wordt voltooid.Later ziet u programma ‘ s die meer dan één methode definiëren.
dit programma definieert een klasse met de naam Hello
.Voor nu, een klasse is een verzameling van methoden; we hebben hier later meer over te zeggen.U kunt een klasse elke naam geven die u wilt, maar het is gebruikelijk om te beginnen met een hoofdletter.De naam van de klasse moet overeenkomen met de naam van het bestand waarin het zich bevindt, dus deze klasse moet in een bestand met de naam Hello staan.Java.
Java gebruikt accolades ({
en }
) om dingen te groeperen together.In Hallo.java, de buitenste accolades bevatten de klasse definitie, en de binnenste accolades bevatten de methode definitie.
de regel die begint met twee schuine strepen (//
) is een commentaar, wat een beetje Engelse tekst is die de code verklaart.Wanneer Java //
ziet, negeert het alles vanaf daar tot aan het einde van de regel.Opmerkingen hebben geen effect op de uitvoering van het programma, maar ze maken het makkelijker voor andere programmeurs (en je toekomstige zelf) om te begrijpen wat je bedoelde te doen.
1.4 Java-programma ‘ s compileren
de programmeertaal die u in dit boek leert is Java, Een taal op hoog niveau.Andere high-level talen die je misschien hebt gehoord van zijn Python, C en C++, PHP, Ruby, en JavaScript.
voordat ze kunnen worden uitgevoerd, moeten programma ‘ s in hoge talen worden vertaald in een lage taal, ook wel “machinetaal”genoemd.Deze vertaling kost enige tijd, wat een klein nadeel is van talen op hoog niveau.Maar talen op hoog niveau hebben twee grote voordelen:
- het is veel gemakkelijker om te programmeren in een taal op hoog niveau.Programma ‘ s nemen minder tijd om te schrijven, ze zijn korter en gemakkelijker te lezen, en ze hebben meer kans om correct te zijn.
- talen op hoog niveau zijn draagbaar, wat betekent dat ze kunnen draaien op verschillende soorten computers met weinig of geen wijzigingen.Low-level programma ‘ s kunnen draaien op slechts één soort computer.
twee soorten programma ‘ s vertalen talen op hoog niveau naar talen op laag niveau: tolken en compilers.An interpreter leest een programma op hoog niveau en voert het uit, wat betekent dat het doet wat het programma says.It verwerkt het programma een beetje op een moment, afwisselend het lezen van lijnen en het uitvoeren van berekeningen.Figuur 1.2 toont de structuur van een tolk.
figuur 1.2: hoe geïnterpreteerde talen worden uitgevoerd.
in tegenstelling, een compiler leest het hele programma en vertaalt het volledig voordat het programma begint te draaien.Het programma op hoog niveau heet de broncode.Het vertaalde programma heet de objectcode, of het uitvoerbare programma.Zodra een programma is gecompileerd, kunt u het herhaaldelijk uitvoeren zonder verdere vertaling van de bron code.As een resultaat, gecompileerde programma ‘s lopen vaak sneller dan geà nterpreteerd programma’ s.
merk op dat objectcode, als lage taal, niet overdraagbaar is.U kunt geen uitvoerbaar bestand gecompileerd voor een Windows-laptop op een Android-telefoon, voor example.To Start een programma op verschillende soorten machines, het moet meerdere gecompileerd zijn times.It het kan moeilijk zijn om broncode te schrijven die compileert en correct draait op verschillende soorten machines.
om dit probleem aan te pakken, wordt Java zowel gecompileerd als geïnterpreteerd.In plaats van broncode direct te vertalen naar een uitvoerbaar bestand, genereert de Java-compiler code voor een virtuele machine.Deze “denkbeeldige” machine heeft de functionaliteit die gemeenschappelijk is voor desktops, laptops, tablets, telefoons, enz.De taal, genaamd Java byte code, ziet eruit als object code en is gemakkelijk en snel te interpreteren.
als gevolg hiervan is het mogelijk om een Java programma op een machine te compileren, de byte code over te dragen naar een andere machine, en de byte code op die andere machine uit te voeren.Figuur 1.3 toont de stappen van het ontwikkelingsproces.De Java compiler is een programma genaamd javac.It vertaalt .java bestanden in .klasse bestanden die de resulterende byte code op te slaan.De Java interpreter is een ander programma, genaamd java, dat is een afkorting voor “Java Virtual Machine” (JVM).
figuur 1.3: Het proces van het compileren en uitvoeren van een Java-programma.
de programmeur schrijft broncode in het bestand Hello.java en gebruikt javac om het te compileren.Als er geen fouten zijn, slaat de compiler de bytecode in het dossier op Hello.class.To start het programma, de programmeur gebruikt java om de byte code te interpreteren.Het resultaat van het programma wordt dan weergegeven op het scherm.
hoewel het ingewikkeld lijkt, zijn deze stappen voor u geautomatiseerd in de meeste ontwikkelomgevingen.Meestal hoeft u slechts op een knop te drukken of een enkel commando in te typen om uw programma te compileren en te interpreteren.Aan de andere kant is het belangrijk om te weten welke stappen er op de achtergrond gebeuren, dus als er iets mis gaat kun je erachter komen wat het is.
1.5 twee berichten
weergeven U kunt zoveel statements plaatsen als u wilt in de main
methode.Als u bijvoorbeeld meer dan één regel uitvoer wilt weergeven:
zoals dit voorbeeld ook laat zien, kunt u opmerkingen aan het einde van een regel en op regels zelf plaatsen.
zinnen die tussen aanhalingstekens staan worden strings genoemd, omdat ze een reeks tekens bevatten die in het geheugen aan elkaar zijn geregen.Tekens kunnen letters, cijfers, leestekens, symbolen, spaties, tabs, enz.zijn.
System.out.println
voegt een speciaal teken toe, een nieuwe regel genaamd, dat naar het begin van de volgende regel gaat.Als u geen nieuwe regel aan het einde wilt, kunt u print
gebruiken in plaats van println
:
In dit voorbeeld voegt het eerste statement geen nieuwe regel toe, dus de uitvoer verschijnt op een enkele regel:
Vaarwel, wrede wereld
merk op dat er een spatie is aan het einde van de eerste tekenreeks, die in de uitvoer verschijnt net voor het woord cruel.
1.6 opmaak broncode
in Java broncode zijn enkele spaties vereist.Je hebt bijvoorbeeld minstens één spatie tussen woorden nodig, dus dit programma is niet legaal:
publicclassGoodbye{ publicstaticvoidmain (String args) { systeem.uit.print (“Goodbye,”); systeem.uit.println (“wrede wereld”); }}
maar de meeste andere ruimtes zijn optioneel.Bijvoorbeeld, Dit programma is legaal:
de nieuwe regels zijn facultatief, too.So we kunnen dit gewoon schrijven:
het werkt nog steeds, maar het programma wordt steeds moeilijker te lezen.Newlines en spaces zijn belangrijk voor het visueel organiseren van uw programma, waardoor het makkelijker wordt om het programma te begrijpen en fouten te vinden wanneer ze zich voordoen.
veel editors formatteren automatisch broncode met consistent inspringen en regeleinden.Bijvoorbeeld, in DrJava (zie Bijlage A. 1) kunt u uw code inspringen door alle tekst te selecteren (Ctrl+A) en op de Tab-toets te drukken.
organisaties die veel software ontwikkelen hebben meestal strikte richtlijnen voor het formatteren van broncode.Google publiceert bijvoorbeeld zijn Java-coderingsstandaarden voor gebruik in open source-projecten: https://google.github.io/styleguide/javaguide.html.
u zult deze richtlijnen nu waarschijnlijk niet begrijpen, omdat ze verwijzen naar taalfuncties die u nog niet hebt gezien.Maar je zou kunnen verwijzen naar hen periodiek als je dit boek leest.
1.7 met behulp van Escape Sequences
is het mogelijk om meerdere uitvoerregels met slechts één regel code weer te geven.Je hoeft Java alleen maar te vertellen waar je de regeleinden moet zetten:
de uitvoer bestaat uit twee regels, elk eindigend met een nieuwregelteken:
Hallo!Hoe gaat het?
elk \n
is een escape-reeks, of twee tekens van broncode die een enkel teken vertegenwoordigen.(De backslash kunt u ontsnappen aan de tekenreeks om speciale tekens te schrijven.) Er is geen spatie tussen \n
en How
.Als je daar een spatie toevoegt, zal er een spatie zijn aan het begin van de tweede regel.
\n
newline \t
tabblad \"
dubbele aanhalingstekens \
backslash Tabel 1.1: Common escape-reeksen
Java heeft een totaal van acht escape-reeksen, en de vier meest gebruikte zijn vermeld in Tabel 1.1.Als u bijvoorbeeld aanhalingstekens in tekenreeksen wilt schrijven, moet u ze ontsnappen met een backslash:
systeem.uit.println (“ze zei \” hallo!voor mij.”);
het resultaat is als volgt::
ze zei: “hallo!”voor mij.
1.8 Wat Is Informatica?
dit boek laat opzettelijk enkele details over de Java-taal weg (zoals de andere escape sequences), omdat ons belangrijkste doel is je te leren denken als een computerwetenschapper.Het begrijpen van berekeningen is veel waardevoller dan alleen maar leren hoe je code schrijft.
als u meer wilt weten over Java zelf, onderhoudt Oracle een officiële set tutorials op zijn website (https://thinkjava.org/tutorial).De” taal Basics “tutorial, te vinden onder” het leren van de Java taal”, is een goede plek om te beginnen.
een van de meest interessante aspecten van het schrijven van programma ‘ s is beslissen hoe een bepaald probleem op te lossen, vooral wanneer er meerdere oplossingen zijn.Er zijn bijvoorbeeld tal van manieren om een lijst met getallen te sorteren en elke weg heeft zijn advantages.In om te bepalen welke weg het beste is voor een bepaalde situatie, hebben we technieken nodig om oplossingen formeel te beschrijven en te analyseren.
een algoritme is een reeks stappen die specificeert hoe een probleem moet worden opgelost.Sommige algoritmen zijn sneller dan andere, en sommige gebruiken minder ruimte in het computergeheugen.Informatica is de wetenschap van algoritmen, met inbegrip van hun ontdekking en analysis.As je leert algoritmen te ontwikkelen voor problemen die je nog niet eerder hebt opgelost, je leert te denken als een computerwetenschapper.
het ontwerpen van algoritmen en het schrijven van code is moeilijk en foutgevoelig.Om historische redenen worden programmeerfouten bugs genoemd, en het proces om ze op te sporen en te corrigeren wordt genoemd debugging.As je leert je programma ‘ s te debuggen, je ontwikkelt nieuwe probleemoplossende vaardigheden.Je moet creatief denken wanneer onverwachte fouten gebeuren.
hoewel het frustrerend kan zijn, is debuggen een intellectueel rijk, uitdagend en interessant onderdeel van de computer science.In sommige manieren, debuggen is als detective werk.Je wordt geconfronteerd met aanwijzingen, en je moet de processen en gebeurtenissen afleiden die hebben geleid tot de resultaten die je ziet.Nadenken over het corrigeren van programma ‘ s en het verbeteren van hun prestaties leidt soms zelfs tot de ontdekking van nieuwe algoritmen.
1.9 Debugprogramma ‘ s
het is een goed idee om dit boek voor een computer te lezen, zodat u de voorbeelden kunt uitproberen terwijl u bezig bent.U kunt veel van de voorbeelden direct uitvoeren in het deelvenster interacties van DrJava (zie Bijlage A. 2).Maar als je de code in een bronbestand zet, is het makkelijker om variaties uit te proberen.
wanneer u experimenteert met een nieuwe functie, moet u ook proberen fouten te maken.Bijvoorbeeld, in het Hello World programma, wat gebeurt er als je een van de aanhalingstekens weglaat?Wat als je beide weglaat?Wat als u println
verkeerd spelt?Dit soort experimenten helpen je te herinneren wat je leest.Ze helpen ook bij het debuggen, omdat je leert wat de foutmeldingen mean.It het is beter om nu en opzettelijk fouten te maken dan later en per ongeluk.
debuggen is als een experimentele wetenschap: zodra je een idee hebt over wat er mis gaat, verander je je programma en probeer het opnieuw.Als uw hypothese juist was, dan kunt u het resultaat van de wijziging voorspellen, en u neemt een stap dichter bij een werkend programma.Als je hypothese verkeerd was, moet je met een nieuwe komen.
programmeren en debuggen moeten hand in hand gaan.Schrijf niet alleen een heleboel code en voer dan trial-and-error debugging totdat het allemaal werkt.In plaats daarvan, beginnen met een programma dat iets doet en maak kleine wijzigingen, debuggen ze als je gaat, totdat het programma doet wat je wilt.Op die manier heb je altijd een werkend programma, en het isoleren van fouten zal gemakkelijker zijn.
een goed voorbeeld van dit principe is het Linux-besturingssysteem, dat miljoenen regels van code.It begon als een eenvoudig programma Linus Torvalds gebruikt om de Intel 80386 chip te verkennen.Volgens Larry Greenfield in de Linux Users’ Guide, “Een van Linus’ eerdere projecten was een programma dat zou schakelen tussen het afdrukken van AAAA en BBBB.Dit evolueerde later naar Linux.”
ten slotte brengt programmeren soms sterke emoties naar boven.Als u worstelt met een moeilijke bug, kunt u zich boos, moedeloos of beschaamd voelen.Vergeet niet dat je niet alleen bent, en vrijwel elke programmeur heeft soortgelijke ervaringen gehad.Aarzel niet om contact op te nemen met een vriend en vragen te stellen!
1.10 woordenschat
in het hele boek proberen we elke term de eerste keer te definiëren it.At aan het einde van elk hoofdstuk nemen we de nieuwe termen en hun definities op in volgorde van uiterlijk.Als u wat tijd besteedt aan het leren van deze woordenschat, zult u gemakkelijker de volgende hoofdstukken kunnen lezen.
probleemoplossing: het proces van het formuleren van een probleem, het vinden van een oplossing, en het uitdrukken van de oplossing. hardware: de elektronische en mechanische componenten van een computer, zoals CPU ‘ s, RAM en harde schijven. processor: Een computerchip die eenvoudige instructies zoals elementaire rekenkunde en logica uitvoert. geheugen: Circuits die gegevens opslaan zolang de computer is ingeschakeld.Niet te verwarren met permanente opslagapparaten zoals harde schijven en flash. programma: een reeks instructies die aangeeft hoe taken op een computer moeten worden uitgevoerd.Ook bekend als”software”. programmeren: de toepassing van probleemoplossing voor het maken van uitvoerbare computerprogramma ‘ s. statement: onderdeel van een programma dat één stap van een algoritme specificeert. Print statement: een statement dat ervoor zorgt dat de uitvoer op het scherm wordt weergegeven. methode: Een bepaalde volgorde van verklaringen. klasse: voor nu, een verzameling van verwante methoden.(Je zult later zien dat er veel meer aan de hand is.) commentaar: een deel van een programma dat informatie bevat over het programma, maar geen effect heeft wanneer het programma draait. high-level language: een programmeertaal die is ontworpen om gemakkelijk te lezen en te schrijven voor mensen. low-level language: een programmeertaal die is ontworpen om gemakkelijk te draaien voor een computer.Ook wel “machinetaal”genoemd. draagbaar: de mogelijkheid van een programma om te draaien op meer dan één soort computer. interpreteren: Een programma in een taal van hoog niveau uitvoeren door het regel voor regel te vertalen en onmiddellijk de bijbehorende instructies uit te voeren. compileren: een programma in een hogere taal in een lagere taal vertalen, in één keer, ter voorbereiding op latere uitvoering. broncode: EEN programma in een taal op hoog niveau, voordat het gecompileerd wordt. objectcode: de uitvoer van de compiler, na het vertalen van het programma. uitvoerbaar bestand: een andere naam voor objectcode die klaar is om op specifieke hardware te draaien. virtuele machine: een emulatie van een echte machine. De JVM stelt een computer in staat om Java programma ‘ s uit te voeren. byte code: een speciaal soort object code gebruikt voor Java programma ‘ s.Byte code is vergelijkbaar met object code, maar het is draagbaar als een high-level taal. string: een reeks tekens; het primaire gegevenstype voor tekst. newline: een speciaal teken dat het einde van een tekstregel aangeeft.Ook bekend als” line ending”,” end of line “(EOL), of”line break”. escape sequence: een reeks code die een speciaal teken vertegenwoordigt wanneer gebruikt in een string. algoritme: een procedure of formule voor het oplossen van een probleem, met of zonder een computer. informatica: De wetenschappelijke en praktische benadering van de berekening en de toepassingen ervan. bug: een fout in een programma. debugging: het proces van het vinden en verwijderen van fouten.
1.11 oefeningen
aan het einde van elk hoofdstuk bevatten we oefeningen die je kunt doen met de dingen die je hebt geleerd.We moedigen u aan om op zijn minst elk probleem te proberen.Je kunt niet alleen leren programmeren door erover te lezen; Je moet oefenen.
voordat u Java-programma ‘ s kunt compileren en uitvoeren, moet u misschien een paar tools downloaden en installeren.Er zijn veel goede opties, maar we raden DrJava, dat is een “integrated development environment” (IDE) goed geschikt voor beginners.Instructies voor het starten zijn in Bijlage A.
de code voor dit hoofdstuk is in de CH01 directory van ThinkJavaCode2.Zie pagina ?? voor instructies over het downloaden van de repository.Voordat u met de oefeningen begint, raden wij u aan de voorbeelden samen te stellen en uit te voeren.
computerwetenschappers hebben de vervelende gewoonte om gewone Engelse woorden te gebruiken om iets anders te betekenen dan hun gewone Engelse betekenis.Bijvoorbeeld, in het Engels, verklaringen en opmerkingen zijn hetzelfde, maar in programma ‘ s zijn ze anders.
- in computer jargon, wat is het verschil tussen een statement en een commentaar?
- wat betekent het om te zeggen dat een programma draagbaar is?
- in het Nederlands, wat betekent het woord compileren?
- Wat is een uitvoerbaar bestand? Waarom wordt dat woord gebruikt als zelfstandig naamwoord?
de woordenschat aan het einde van elk hoofdstuk is bedoeld om woorden en zinnen te belichten die een speciale betekenis hebben in de informatica.Als je bekende woorden ziet, neem dan niet aan dat je weet wat ze betekenen!
voordat u iets anders doet, ontdek dan hoe u een Java-programma compileert en uitvoert.Sommige omgevingen bieden voorbeeldprogramma ‘ s die vergelijkbaar zijn met het voorbeeld in Paragraaf 1.3.
- typ het Hello World-programma in; compileer het en voer het uit.
- voeg een afdrukstatement toe dat een tweede bericht weergeeft na de Hello, World!.Zeg iets grappigs als, Hoe gaat het?.Compileer en voer het programma opnieuw uit.
- voeg een commentaar toe aan het programma (overal), compileer het opnieuw en voer het opnieuw uit.De nieuwe opmerking mag geen invloed hebben op het resultaat.
deze oefening lijkt misschien triviaal, maar het is de startplaats voor veel van de programma ‘ s die we gaan werken with.To debug met vertrouwen, moet u vertrouwen hebben in uw programmeeromgeving.
in sommige omgevingen is het gemakkelijk om uit het oog te verliezen welk programma wordt uitgevoerd.Misschien probeert u het ene programma te debuggen terwijl u per ongeluk een ander programma uitvoert.Het toevoegen (en veranderen) van print statements is een eenvoudige manier om er zeker van te zijn dat het programma dat je bekijkt het programma is dat je draait.
het is een goed idee om zoveel fouten te maken als je maar kunt bedenken, zodat je ziet welke foutmeldingen de compiler produceert.Soms vertelt de compiler je precies wat er mis is, en alles wat je hoeft te doen is het repareren.Maar soms zijn de foutmeldingen misleidend.Na verloop van tijd zul je een gevoel ontwikkelen voor wanneer je de compiler kunt vertrouwen en wanneer je zelf dingen moet uitzoeken.
begin met het Hello World Programma, probeer elk van de volgende fouten uit.Nadat u elke wijziging, compileren van het programma, lees de foutmelding (als er een is), en vervolgens de fout te herstellen.
- Verwijder een van de openende accolades.
- Verwijder een van de sluitende accolades.
- in plaats van
main
, schrijfmian
. - verwijder het woord
static
. - verwijder het woord
public
. - verwijder het woord
System
. - vervang
println
doorPrintln
. - vervang
println
doorprint
. - één haakje schrappen.
- voeg een extra haakje toe.