Na het bestuderen van dit hoofdstuk wordt van je verwacht dat je:
Leren programmeren is vooral een kwestie van veel doen. We raden je aan alle opdrachten in deze cursus zo zelfstandig mogelijk uit te werken om zodoende "vlieguren" te maken.
Maak een logische bestandsstructuur voor je projecten en geef betekenisvolle namen zodat je later gemakkelijk een opdracht terug kunt vinden
Java is als programmeertaal sinds de introductie in de jaren '90
onverminderd populair. Het is een objectgeorienteerde taal (vaak
afgekort met OO - "Object Oriented"). Dit betekent dat verschillende
onderdelen van een programmeertaak worden uitgevoerd door
verschillende objecten. Bekijk onderstaande video om een idee te
krijgen wat objectgeoriënteerd programmeren betekent. Je hoeft
het nog niet allemaal te begrijpen!
Een computer doet niets uit zichzelf. Voor iedere taak die uitgevoerd moet worden moet de computer instructies krijgen. Het hart van een computer is de processor die eenvoudige opdrachten kan uitvoeren, zoals twee getallen in het werkgeheugen plaatsen en deze vervolgens bij elkaar optellen.
a = 5; b = 6; c = a + b;
Allereerst heb je een tekstverwerker nodig om de broncode in te schrijven. De broncode is geschreven in een programmeertaal. In ons geval is dat de programmeertaal Java. Er zijn verschillende gespecialiseerde editors om code mee te schrijven, maar je kunt ook een simpel kladblok gebruiken.
Toen computers pas bestonden werden programma's direct in machinetaal geschreven. Inmiddels hoeven we als programmeur niet meer te weten hoe de machinetaal eruitziet van de computer die we gebruiken. Om code om te zetten in machinetaal heb je een compiler nodig. De meeste programmeertalen bestaan uit een combinatie van Engelse woorden en tekens die speciale betekenis hebben. Dat begrijpt een computer niet. De broncode die je hebt ingetikt, moet vertaald worden in machinetaal. Machinetaal is een reeks opdrachten in enen en nullen die de processor begrijpt. De compiler vertaalt de broncode in machinetaal.
Ten derde heb je een linker nodig. Je hoeft gelukkig niet alles te schrijven in je broncode. Als je bijvoorbeeld een tekst op het scherm wil zetten, gebruik je daarvoor in Java de opdracht drawString. Hoe dan precies tekens en letters op het scherm komen, hoef je niet te weten. Dat staat in de zogenaamde klassenbibliotheek. Om je een indruk te geven van de standaard Java bibliotheek vind je in de Web Links een verwijzing naar de Java API (Application Programming Interface). De linker haalt uit de klassenbibliotheek de benodigde code. De linker leent als het ware een stukje code uit de bibliotheek en zet dat in jouw programma. Het gaat per klasse om ongeveer 1500 definities en het is heel moeilijk. To link in het Engels betekent letterlijk verbinden.
Vroeger had de programmeur inderdaad drie verschillende programma's nodig. Nu zijn deze drie onderdelen gebundeld in een zogenaamde Integrated Development Environment en werken daardoor beter samen. IntelliJ, NetBeans en Eclipse zijn voorbeelden van dergelijke IDE's.
Iedere programmeur maakt fouten. Het testen van applicaties en het opsporen van fouten (debuggen) is zelfs een specialisme binnen het vak.
Als er tijdens het compileren een foutmelding wordt gegeven, dan ga je terug naar de broncode om de fout te verhelpen. Je applet zal dan niet uitgevoerd worden. Dat gebeurt alleen maar als de broncode helemaal goed is. Als de compiler een foutmelding geeft, dan zal ook het nummer van de regel worden getoond waarin de fout is opgetreden.
Een foutmelding van de compiler is altijd een fout tegen de regels van de taal. Dergelijke fouten worden meestal al door je code editor opgemerkt en zijn vaak vrij gemakkelijk op te sporen. Een logische fout is wat lastiger. Het is een fout waardoor het programma niet doet wat het moet doen. Je hebt waarschijnlijk ergens een denkfout gemaakt.
De JDK is de java development kit. Om een java programma op een computer te compileren en uit te voeren moet de nodige software geïnstalleerd zijn. In andere cursussen gaan we met Google App Engine werken. App Engine werkt met java versie 7, dus het is wel zo handig om deze meteen te installeren. Installeer een voor jouw computer geschikte versie. Voor de meeste computers kun je de 64 bits versie kiezen.
Als je op een Windows machine werkt, is het raadzaam om een systeem variabele aan te maken die het systeem vertelt waar java zich bevindt. Dit doe je als volgt:
windows-toets
+ x → Systeem
), en klik in het linker zijmenu
op geavanceerde systeeminstellingen
. Klik onderin het
scherm op Omgevingsvariabelen
. Klik onder Systeemvariabelen
op nieuw. Geef de variabele de naam JAVA_HOME en voer als waarde
het pad in naar je java installatie (bijvoorbeeld C:\Program
Files\Java\jdk1.7.0_51).
Installeer een zogenaamde Integrated Development Environment (IDE)
waarmee je Java code kunt schrijven. In deze cursus gebruiken we Eclipse.
Kies
Eclipse IDE for java EE developers
. Let op dat als je een 64 bit jdk hebt geïnstalleerd, je ook
een 64 bit versie van Eclipse moet installeren. Nadat je Eclipse
hebt gedownload kun je de map eventueel naar een andere lokatie
verplaatsen/uitpakken, de map openen en eclipse starten door op het
toepassingsbestand (met het Eclipse icoontje) te dubbelklikken.
Open Eclipse en klik eventueel het welkom scherm weg. Klik op
File
en kies
New
→
Project...
In het New Project scherm kies je Java Project.
Standaard staat
Use default location
aangevinkt. Dit zorgt er voor dat Eclipse het project opslaat in de
huidige workspace map. Dit kun je eventueel veranderen als
je je project op een andere lokatie (Bijvoorbeeld Google Drive of
Dropbox) wilt opslaan.
Open het project in de explorer en klik met je rechtse muisknop op
de src map, kies
New
→
Class
. Geef je klasse een naam die begint met een hoofdletter. Je mag
geen leestekens of spaties gebruiken. Een nieuw woord in de naam
begin je met een hoofdletter. Je zou bijvoorbeeld de naam
MijnEersteJavaKlasse kunnen gebruiken. Kopieer de volgende
(gearceerde) code in je klasse en klik op het
Run
icoontje in de menubalk:
public class MijnEersteJavaKlasse { public static void main(String[] args) { System.out.println("Dit is mijn eerste java klasse!"); } }
Als het goed is zie je tekst
Dit is mijn eerste java klasse!
in je console verschijnen.
We gaan onze projecten voor deze en volgende cursussen met elkaar delen via GitHub, de grootste online Open Source community waar sofware ontwikkelaars hun code met elkaar delen en samenwerken aan projecten met behulp van het git versiebeheersysteem. Maak een account aan als je dat nog niet hebt.
Installeer git op je computer. Open een terminal venster en typ het volgende commando om te testen of het werkt:
git version
Als git goed geïnstalleerd is, wordt het huidige versienummer weergegeven. Als het commando in Windows niet wordt herkend moet je waarschijnlijk een omgevingsvariabele toevoegen (zie installatie JDK) Voeg in dat geval het volgende pad toe achter de waarde van je PATH. Check of git daadwerkelijk in deze map is geïnstalleerd en let op de puntkomma!
;C:\Program Files (x86)\Git\cmd
Om je op weg te helpen hebben we op GitHub een repository voor je gemaakt die je kunt gebruiken voor de uitwerking van de opdrachten die je in deze cursus gaat maken. Ga als volgt te werk:
fork
hem. Hiermee maak je een eigen kopie van de
repo die je kunt gaan gebruiken
https://github.com/
je
gebruikersnaam/inleiding-java.git
)
git clone https://github.com/[je gebruikersnaam]/inleiding-java.gitDe repo wordt naar je computer gekopieerd en is automatisch gelinkt met je online (remote) repository op GitHub.
File
→ Import...
→ Existing
project into workspace
. Browse naar de map waar het project zich
bevindt (de map direct boven de src map) en importeer het project.
Als het goed is ziet Eclipse automatisch dat het een git repo is;
achter de projectnaam staat [inleiding-java master].
Hallo roc-dev!
System.out.println("Hallo roc-dev!");
Team
→ Commit...
Er verschijnt nu een scherm waarin je een commit message moet
maken. Dit is er voor bedoeld om veranderingen gemakkelijk te
kunnen terugvinden. De eerste regel is een korte beschrijving.
Volgende regels zijn voor een eventueel uitgebreider beschrijving.
Nadat je je wijzigingen hebt doorgevoerd is je lokale
repo up to date.
Team
en kies
nu Push to upstream
. Als het goed is worden je
wijzigingen nu naar GitHub geüpload. Open je project op
GitHub en check of de wijzigingen zijn doorgevoerd.
edit
icoontje, wijzig iets aan de tekst en commit
de wijziging. Om de wijziging met je lokale repo te synchroniseren
ga je in Eclipse weer naar Team, kies Fetch from
upstream
. Dit haalt de evt wijzigingen die aangebracht zijn in je
online repo op. Om de wijzigingen in je lokale git repo op te
nemen ga je nogmaals naar Team
en kies je voor Pull
.
Als je op GitHub zelf een repository maakt, moet je een
.gitignore
bestand toevoegen. Hierin staan de bestanden en bestandstypen die
niet gesynchroniseerd moeten worden. Op GitHub vind je veel
voorgedefinieerde .gitignore bestanden die je kunt gebruiken. Nadat
je op GitHub een lege repo hebt aangemaakt kun je hem clonen naar
je computer. In de lege map kun je nu een project aanmaken of een
bestaand project kopiëren.
Je kunt de repository gebruiken voor de opdrachten van deze cursus.
Om het overzichtelijk te houden kun je per hoofdstuk een package
maken. Als je in je repository een nieuw bestand maakt, moet die
eerst aan de index worden toegevoegd met
Team
→
Add to index
voor je de wijzigingen kunt committen.