Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Hoofdstuk 1 — Introductie

Welkom bij Java Basis voor beginners! In dit hoofdstuk verkennen we wat programmeren in Java inhoudt, hoe een Java‑programma is opgebouwd en hoe je stap voor stap aan de slag gaat. We richten ons op absolute beginners: je hebt geen programmeerervaring nodig. Toch behandelen we meteen praktische voorbeelden zodat je al snel iets werkends ziet.

Doel van dit hoofdstuk:

  • Begrijpen wat Java is en waar het voor gebruikt wordt.
  • Leren hoe een minimaal Java‑programma eruitziet (structuur van een klasse en de main‑methode).
  • De basis van uitvoeren (runnen) en compileren begrijpen.
  • Kennismaken met de console (tekstuitvoer) en simpele fouten herkennen.

Wat is Java (kort): Java is een veelgebruikte, moderne programmeertaal die op heel veel systemen kan draaien. Je schrijft broncode in bestanden met de extensie .java. De Java‑compiler (javac) zet deze code om naar bytecode (.class‑bestanden) die door de Java Virtual Machine (JVM) wordt uitgevoerd. Het mooie is dat dezelfde bytecode op verschillende besturingssystemen kan werken (Windows, macOS, Linux). In deze cursus gebruiken we Java 21 (LTS), een recente langetermijnversie.

Waarom Java leren: Java is populair in bedrijfssoftware, Android (via Kotlin/Java interoperabiliteit), gameservers, data‑processing en nog veel meer. De taal heeft uitgebreide bibliotheken, goede tooling en een grote community. Het is ook een mooie opstap naar andere talen omdat veel concepten (variabelen, lussen, functies/methoden) overal terugkomen.

Eerste stappen: Om Java‑code uit te voeren, heb je een JDK (Java Development Kit) nodig. In Hoofdstuk 2 behandelen we installatie en tools. Voor nu volstaat het te weten dat je programma’s met javac compileert en met java start, of via je IDE (bijv. IntelliJ IDEA) direct op de groene Run‑knop klikt.

Belangrijke begrippen die je in dit hoofdstuk alvast ziet:

  • Klasse: een sjabloon waaruit objecten gemaakt kunnen worden; hierin schrijf je ook je startpunt (de main‑methode) voor consoleprogramma’s.
  • Methode: een herbruikbaar blokje code dat je kunt aanroepen; main is zo’n speciale methode.
  • Statement: een opdracht aan de computer, afgesloten met een puntkomma ;.
  • Console: het venster waar tekst verschijnt wanneer je System.out.println(...) gebruikt.

Laten we nu praktisch worden. Hieronder volgen korte, onafhankelijke codevoorbeelden die je direct kunt uitproberen. Kopieer het bestand in een nieuw .java‑bestand met dezelfde klassenaam, compileer en voer uit.

Voorbeeld 1: Het kleinste programma met uitvoer Introductie: Dit is je eerste minimale Java-programma dat één regel tekst naar de console print. Je leert waar de main-methode staat en hoe uitvoer werkt.

public class HalloWereld {
    public static void main(String[] args) {
        System.out.println("Hallo, wereld!");
    }
}

Toelichting: De bestandsnaam moet HalloWereld.java zijn, omdat de klasse HalloWereld heet. De main‑methode is het startpunt.

Voorbeeld 2: Meerdere regels printen Introductie: Dit voorbeeld laat zien hoe je meerdere regels kunt afdrukken en wat een lege regel is.

public class MeerdereRegels {
    public static void main(String[] args) {
        System.out.println("Eerste regel");
        System.out.println("Tweede regel");
        System.out.println("Derde regel");
    }
}

Tip: Elke aanroep van System.out.println print één regel en voegt een nieuwe regel toe.

Voorbeeld 3: Tekst samenvoegen (concatenatie) Introductie: Je leert strings samenvoegen met het plusteken en variabelen in zinnen gebruiken.

public class Concatenatie {
    public static void main(String[] args) {
        String voornaam = "Kim";
        String achternaam = "Jansen";
        System.out.println("Hallo, " + voornaam + " " + achternaam + "!");
    }
}

Hier gebruik je het +‑teken om strings samen te voegen.

Voorbeeld 4: Rekenen met gehele getallen Introductie: We oefenen rekenkundige operatoren met gehele getallen en zien wat gehele deling doet.

public class Rekenen {
    public static void main(String[] args) {
        int a = 12;
        int b = 5;
        System.out.println("Som: " + (a + b));
        System.out.println("Verschil: " + (a - b));
        System.out.println("Product: " + (a * b));
        System.out.println("Deling (geheel): " + (a / b));
    }
}

Let op: a / b met twee integers doet een gehele deling. 12/5 wordt 2, niet 2.4.

Voorbeeld 5: Kommagetallen gebruiken Introductie: Nu vergelijken we gehele deling met kommagetal-deling door double te gebruiken.

public class Kommagetallen {
    public static void main(String[] args) {
        double x = 12;
        double y = 5;
        System.out.println("Deling (double): " + (x / y)); // 2.4
    }
}

Wanneer minstens één operand double is, krijg je een kommagetal.

Voorbeeld 6: Commentaar toevoegen Introductie: Commentaar helpt jou en anderen de code te begrijpen; de compiler negeert het.

public class CommentaarDemo {
    public static void main(String[] args) {
        // Dit is een enkele regel commentaar
        /*
         Dit is een blokcommentaar over meerdere regels.
         Handig voor uitleg of het tijdelijk uitschakelen van code.
        */
        System.out.println("Commentaar uitgelegd");
    }
}

Commentaar wordt door de compiler genegeerd en helpt je code begrijpelijk houden.

Voorbeeld 7: Unicode en emoji Introductie: Je ziet hoe je Unicode en emoji in console-uitvoer gebruikt en waarom UTF‑8 belangrijk is.

public class UnicodeDemo {
    public static void main(String[] args) {
        System.out.println("Hallo \u263A"); // Unicode smiley
        System.out.println("Hallo 🙂");      // emoji (bronbestand moet UTF-8 zijn)
    }
}

Zorg dat je bestand in UTF‑8 gecodeerd is (standaard in moderne IDE’s).

Voorbeeld 8: Foutje maken en begrijpen Introductie: Fouten horen erbij; hier zie je een veelvoorkomende typefout en hoe de compiler je helpt.

public class FoutDemo {
    public static void main(String[] args) {
        // int a = "tekst"; // Dit geeft een compileerfout: type mismatch
        System.out.println("We laten de fout staan als commentaar");
    }
}

Elk type heeft regels; een int kan geen tekst bevatten. Je IDE helpt je fouten vroeg te zien.

Voorbeeld 9: Een eenvoudige methode aanroepen Introductie: We maken een eigen methode en roepen die meerdere keren aan om hergebruik te tonen.

public class MethodeDemo {
    static void groet(String naam) {
        System.out.println("Hallo, " + naam + "!");
    }
    public static void main(String[] args) {
        groet("Saar");
        groet("Bo");
    }
}

groet is een eigen methode die je hergebruikt. In latere hoofdstukken leer je alles over methoden.

Veelgemaakte beginnersvalkuilen:

  • Bestandsnaam en klassenaam komen niet overeen. Oplossing: zorg dat public class Naam in Naam.java staat.
  • Geen main‑methode. Oplossing: gebruik exact public static void main(String[] args).
  • Vergeten puntkomma ;. Oplossing: elke statement eindigt met ;.
  • Hoofdlettergevoeligheid: System is niet hetzelfde als system.
  • Niet‑UTF‑8 bronbestand waardoor emoji/accents raar tonen. Zet encoding op UTF‑8.

Hoe voer je een programma uit (korte stappen):

  1. Maak een bestand HalloWereld.java met de code uit Voorbeeld 1.
  2. Compileer via terminal: javac HalloWereld.java. Dit maakt HalloWereld.class.
  3. Voer uit: java HalloWereld (zonder .class).
  4. Of klik in je IDE op Run bij de main‑methode.

Koppeling met oefeningen: In de map java-workbook/src/chapter_1 vind je opdrachten die aansluiten op dit hoofdstuk. In java-solutions/src/chapter_1 staan voorbeeldoplossingen. Probeer altijd eerst zelf voordat je naar de uitwerking kijkt!

Samenvatting: Je hebt gezien hoe een simpel Java‑programma is opgebouwd en hoe je uitvoer op de console maakt. Je weet nu wat class, main, statements en strings zijn op hoofdlijnen. In de volgende hoofdstukken gaan we dieper in op tools, syntax en de bouwstenen van de taal.