
Cursus Java programmeren
Beheers Java vanaf de basis en schrijf code die daadwerkelijk werkt in de praktijk. Deze cursus neemt je mee van het installeren van de JDK tot het bouwen van multithreaded, geteste en goed gestructureerde Java-applicaties. Elk concept wordt ondersteund door hands-on coderen, zodat je snel vertrouwen opbouwt.
Wat je gaat leren:
Je leert Java-programma's schrijven, compileren en debuggen met behulp van de kernfundamenten van de taal, waaronder datatypes, control flow en methoden. Van daaruit pas je objectgeoriënteerde principes toe om schone, herbruikbare klassen en typehiërarchieën te ontwerpen. Je behandelt excepties op de juiste manier, beheert gegevens met het Collections Framework en verwerkt deze met behulp van lambda's en streams. De cursus behandelt ook bestand I/O, multithreading, unit testing met JUnit 5 en professionele hulpmiddelen zoals Maven, Git en statische analyse. Na afloop heb je de vaardigheden om productiekwaliteit Java-applicaties te bouwen en te onderhouden.
Hoe je praktisch studeert Cursus Java programmeren
Hoe je oefent Cursus Java programmeren
Voor bedrijven die hun team willen trainen
Bij Dedika voor bedrijven bevat de cursus oefeningen en voorbeelden die zijn afgestemd op jouw organisatie en precies zoals jouw bedrijf het nodig heeft.
Cursusinhoud
8 Hoofdstukken • 40 LessenDuur tussen 4 en 360 uren (jij beslist)
Hoofdstuk 1VerbergenVerberg detailsBekijk detailsJava-omgeving en basisprincipes van de taal
Java-omgeving en basisprincipes van de taal
Les 1 • Console-invoer en -uitvoer
Gebruikersinvoer lezen met Scanner en resultaten afdrukken met System.out. Maakt interactieve programma's mogelijk die in de hele cursus worden gebruikt.
Les 2 • Primitieve gegevenstypen en variabelen
Variabelen declareren en initialiseren met behulp van Java's acht primitieve typen. Verbindt typeselectie met geheugenefficiëntie en correctheid.
Les 3 • De Java Development Kit installeren
JDK configureren, PATH-variabelen instellen en installatie verifiëren. Legt de toolchain vast waar elk volgend hoofdstuk van afhankelijk is.
Les 4 • Structuur van een Java-programma
De anatomie van een Java-bronbestand onderzoeken: pakketdeclaraties, imports, klassebody en de main-methode. Biedt de sjabloon die in elke codeeroefening wordt gebruikt.
Les 5 • Operatoren en expressies
Rekenkundige, relationele, logische en bitsgewijze operatoren toepassen om expressies te bouwen. Regels voor operatorprecedentie voorkomen logische fouten in latere hoofdstukken.
Hoofdstuk 2VerbergenVerberg detailsBekijk detailsControlestroom en programmalogica
Controlestroom en programmalogica
Les 1 • Conditionele statements
if-, else-if- en else-blokken gebruiken om programmalogica te vertakken. Legt de basis voor besluitvorming die vereist is voor elk volgend algoritme.
Les 2 • Lusconstructies
Codeblokken herhalen met while-, do-while- en for-lussen. Iteratie is het kernmechanisme achter gegevensverwerking in latere hoofdstukken.
Les 3 • Geneste lussen en patroonproblemen
Meerdere lussen combineren om tweedimensionale problemen op te lossen, zoals matrixdoorloop en patroonafdrukken. Bouwt algoritmisch denken op voor array-hoofdstukken.
Les 4 • Switch-statements en -expressies
Selecteren uit meerdere uitvoeringspaden met behulp van switch. Introduceert moderne switch-expressies die beschikbaar zijn in recente Java-versies.
Les 5 • Luscontrolestatements
Lusuitvoering wijzigen met break, continue en gelabelde statements. Voorkomt oneindige lussen en maakt vroegtijdige uittreding in complexe iteraties mogelijk.
Hoofdstuk 3VerbergenVerberg detailsBekijk detailsMethoden en herbruikbaarheid van code
Methoden en herbruikbaarheid van code
Les 1 • Variabele scope en methodeontwerp
Lokale, blok- en klassenscope beheren om voorspelbare methoden te schrijven. Goede scopediscipline vermindert bugs in multi-methodeprogramma's.
Les 2 • Methodeoverloading
Meerdere methoden definiëren met dezelfde naam maar verschillende parameterlijsten. Toont compile-time polymorfisme dat in de hele Java-API wordt gebruikt.
Les 3 • Grondbeginselen van recursie
Problemen oplossen door methoden zichzelf te laten aanroepen met een basisgeval. Recursie vormt de basis voor boomdoorloop en verdeel-en-heersalgoritmen die later worden behandeld.
Les 4 • Methoden definiëren en aanroepen
Statische methoden schrijven met parameters en retourtypen. Legt de modulaire structuur vast die objectgeoriënteerd ontwerp in latere hoofdstukken uitbreidt.
Les 5 • Parameterdoorgeven en retourwaarden
Onderscheid maken tussen pass-by-value-semantiek voor primitieven en referenties. Voorkomt veelvoorkomende bugs wanneer methoden gegevens wijzigen.
Hoofdstuk 4VerbergenVerberg detailsBekijk detailsArrays en tekenreeksmanipulatie
Arrays en tekenreeksmanipulatie
Les 1 • Multidimensionale arrays
Tweedeimensionale en onregelmatige arrays maken en doorlopen. Maakt matrixbewerkingen en rastergebaseerd probleemoplossen mogelijk.
Les 2 • Arrays sorteren en doorzoeken
Bubble sort, selection sort en binary search op arrays implementeren. Bouwt algoritmische intuïtie op vóór het hoofdstuk over het Collections Framework.
Les 3 • StringBuilder voor efficiënte tekstconstructie
StringBuilder gebruiken om strings in lussen te bouwen zonder overmatige objectcreatie. Lost direct prestatieproblemen op die worden veroorzaakt door tekenreeksconcatenatie.
Les 4 • String-klasse en veelgebruikte methoden
Tekst manipuleren met String-methoden zoals substring, split en replace. Tekenreeksverwerking is essentieel voor bestands-I/O en API-integratie.
Les 5 • Eendimensionale arrays
Enkel-dimensionale arrays declareren, initialiseren en doorlopen. Arrays vormen de basis voor verzamelingen en algoritme-implementaties die nog komen.
Hoofdstuk 5VerbergenVerberg detailsBekijk detailsGrondbeginselen van objectgeoriënteerd programmeren
Grondbeginselen van objectgeoriënteerd programmeren
Les 1 • De Object-klasse en toString
toString, equals en hashCode uit de root-Object-klasse overschrijven. Correcte overschrijvingen zijn vereist voor verzamelingen en debuggen.
Les 2 • Inkapseling en toegangsmodifiers
Velden beschermen met private toegang en ze blootstellen via getters en setters. Inkapseling handhaaft invarianten en vermindert koppeling.
Les 3 • Klassen en objecten
Klassen definiëren met velden en methoden, vervolgens objecten instantiëren. Verschuift het denken van procedureel naar objectgeoriënteerd ontwerp.
Les 4 • Statische leden en hulpklassen
Statische velden en methoden gebruiken voor gedeelde toestand en hulpfuncties. Verduidelijkt wanneer klasse-niveau versus instantie-niveau leden geschikt zijn.
Les 5 • Constructors en initialisatie
Constructors schrijven om objecttoestand bij creatie te initialiseren. Correcte initialisatie voorkomt null-pointer-fouten in complexe programma's.
Hoofdstuk 6VerbergenVerberg detailsBekijk detailsOvererving, polymorfisme en interfaces
Overerving, polymorfisme en interfaces
Les 1 • Overerving en het extends-sleutelwoord
Subklassen maken die velden en methoden van een superklasse overerven. Overerving vermindert duplicatie en modelleert is-een-relaties.
Les 2 • Casten en typecontrole
Veilig casten tussen typen en type-identiteit tijdens runtime verifiëren. Voorkomt ClassCastException in polymorfe code.
Les 3 • Interfaces en meervoudige typecontracten
Interfaces declareren om gedragscontracten te specificeren, onafhankelijk van de klassehiërarchie. Interfaces maken meervoudige typeconformiteit en losse koppeling mogelijk.
Les 4 • Abstracte klassen en methoden
Abstracte klassen definiëren die een contract afdwingen zonder volledige implementatie. Abstracte typen modelleren onvolledige concepten die subklassen moeten voltooien.
Les 5 • Methode-overriding en runtime-polymorfisme
Superklasse-methoden overschrijven om subklasse-specifiek gedrag te bieden. Runtime-polymorfisme maakt flexibel, uitbreidbaar applicatieontwerp mogelijk.
Hoofdstuk 7VerbergenVerberg detailsBekijk detailsUitzonderingsafhandeling en robuuste code
Uitzonderingsafhandeling en robuuste code
Les 1 • try-catch-finally-blokken
Risicovolle code in try-blokken plaatsen en herstellen in catch-blokken. finally zorgt ervoor dat opruimcode altijd wordt uitgevoerd, ongeacht de uitkomst.
Les 2 • Uitzonderingshiërarchie en -typen
Navigeren door Java's uitzonderingshiërarchie: Throwable-, Error- en Exception-subtypen. Inzicht in de hiërarchie bepaalt welke uitzonderingen moeten worden opgevangen of gedeclareerd.
Les 3 • Uitzonderingen gooien en declareren
throw gebruiken om fouten te signaleren en throws om gecontroleerde uitzonderingen te declareren. Correcte declaratie dwingt aanroepers af om fouten af te handelen of door te geven.
Les 4 • Aangepaste uitzonderingsklassen
Domeinspecifieke uitzonderingstypen maken door Exception of RuntimeException uit te breiden. Aangepaste uitzonderingen bevatten betekenisvolle context voor aanroepers.
Les 5 • Try-with-Resources en AutoCloseable
Resources automatisch sluiten met try-with-resources. Elimineert resourcelekken die vaak voorkomen bij bestands- en netwerk-I/O-code.
Hoofdstuk 8VerbergenVerberg detailsBekijk detailsCollections Framework en generieken
Collections Framework en generieken
Les 1 • Hulpmethoden voor verzamelingen en sorteren
De Collections-klasse en Comparator gebruiken om verzamelingen te sorteren, te shufflen en te doorzoeken. Sorteren op basis van Comparator is essentieel voor aangepaste sorteervereisten.
Les 2 • Queue-, Deque- en Stack-bewerkingen
Elementen verwerken in FIFO- en LIFO-volgorde met Queue en Deque. Deze structuren vormen de basis voor plannings-, parseer- en graafalgoritmen.
Les 3 • Generieken en typeveiligheid
Klassen en methoden parametriseren met typevariabelen om onveilige casts te elimineren. Generieken vormen de basis van het hele Collections Framework.
Les 4 • List-interface en implementaties
Geordende, index-toegankelijke elementen opslaan met ArrayList en LinkedList. Lijsten zijn het meest gebruikte verzamelingstype in Java-applicaties.
Les 5 • Set- en Map-interfaces
Unieke elementen beheren met Set en sleutel-waardeparen met Map. Deze interfaces lossen verschillende gegevensmodelleringsproblemen op in echte applicaties.
Jouw geldig certificaat van voltooiing
Deze cursus is voor jou:
Carrièreswitcher: wil een verkoopbare technische vaardigheid om volledig van sector te wisselen.
Student: heeft praktische Java-ervaring nodig die verder gaat dan wat cursussen normaal bieden.
Zelfgeleerde programmeur: heeft hiaten in de basiskennis en wil een gestructureerd pad vooruit.
IT-professional: ondersteunt Java-systemen maar heeft nooit zelfstandig productiecode geschreven.
Hobbyistische ontwikkelaar: bouwt kleine scripts en is klaar voor grotere, georganiseerde projecten.
Niet-CS-afgestudeerde: begon in een technische rol en heeft Java nodig om daarin te groeien.
Wat onze studenten zeggen
Jullie lessen zijn perfect. Ik heb het jaarpakket aangeschaft en heb eindelijk de mogelijkheid om verschillende onderwerpen die mij interesseren te volgen zonder van platform te hoeven wisselen... bedankt voor alles wat jullie doen, ik heb jullie al aan anderen aanbevolen...

Ik vind het fijn hoe de lessen direct ter zake zijn en hoe ik tussen hoofdstukken kan wisselen en content kan overslaan die ik niet nodig heb.

Ik vind de content en de manier van presenteren en transcriptie van video's geweldig, wat het proces versnelt!

Het platform is snel en eenvoudig te gebruiken. De diversiteit aan content en de aanvullende video's helpen enorm bij het leren.

Belangrijkste opleidingen
FAQ
Wie is Dedika?
Is het certificaat geldig in Nederland?
Zijn de cursussen gratis?
Wat is de studielast van de cursus?
Hoe zien de cursussen eruit?
Hoe werken de cursussen?
Wat is de duur van de cursussen?
Wat zijn de kosten of prijzen van de cursussen?
Wat is een EAD- of online cursus en hoe werkt het?
PDF-cursus




















