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 3 — Je eerste Java‑programma (van idee tot uitvoer)

In dit hoofdstuk ga je van niets naar een écht werkend programma. Je leert:

  • Hoe je een klasse met een main‑methode schrijft en uitvoert (Java 21).
  • Hoe je meerdere regels tekst en variabelen print.
  • Hoe je eenvoudige berekeningen doet en resultaten toont.
  • Hoe je invoer van de gebruiker leest en die verwerkt.
  • Hoe je kleine stukjes code (methoden) gebruikt en hergebruikt.
  • Hoe je meerdere klassen samen laat werken in een mini‑projectje.

We wisselen uitleg af met korte, direct uitvoerbare voorbeelden. Kopieer elk voorbeeld naar een .java‑bestand met dezelfde klassenaam, compileer met javac en voer uit met java (of gebruik de Run‑knop in je IDE).

Voorbeeld 1 — Het allereerste programma Introductie: Je eerste “Hello, world” laat zien hoe je een klasse met main schrijft en uitvoert.

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

Compileren en uitvoeren:

javac Hello.java
java Hello

Je zou in de console Hallo, wereld! moeten zien.

Voorbeeld 2 — Meerdere regels en lege regel Introductie: Demonstratie van meerdere println-aanroepen en een lege regel.

public class RegelsDemo {
    public static void main(String[] args) {
        System.out.println("Regel 1");
        System.out.println(); // lege regel
        System.out.println("Regel 3");
    }
}

println() zonder tekst print alleen een nieuwe regel.

Voorbeeld 3 — Variabelen en eenvoudige expressies Introductie: Je leert variabelen declareren en eenvoudige rekenexpressies evalueren.

public class VariabelenDemo {
    public static void main(String[] args) {
        int a = 7;
        int b = 5;
        System.out.println("a = " + a);
        System.out.println("b = " + b);
        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));
    }
}

Gehele deling rondt naar beneden; 7/5 is 1.

Voorbeeld 4 — Kommagetallen voor preciezere deling Introductie: Door doubles te gebruiken krijg je een kommagetalresultaat bij deling.

public class DoubleDemo {
    public static void main(String[] args) {
        double x = 7;
        double y = 5;
        System.out.println("Deling (double) = " + (x / y)); // 1.4
    }
}

Minstens één operand moet double zijn voor een kommagetal.

Voorbeeld 5 — String‑concatenatie en escape‑tekens Introductie: We voegen tekst samen en gebruiken escape‑tekens voor speciale symbolen.

public class TekstDemo {
    public static void main(String[] args) {
        String naam = "Kim";
        System.out.println("Hallo, \"" + naam + "\"!"); // aanhalingstekens escapen
        System.out.println("Pad: C:\\Users\\Kim");       // backslash escapen
        System.out.println("Nieuwe\nregel");               // \n = newline
    }
}

Escape‑tekens beginnen met \.

Voorbeeld 6 — Lees invoer met Scanner Introductie: Met Scanner lees je tekst van de gebruiker en verwerk je die in je programma.

import java.util.Scanner;

public class InvoerDemo {
    public static void main(String[] args) {
        try (Scanner sc = new Scanner(System.in)) {
            System.out.print("Wat is je naam? ");
            String naam = sc.nextLine();
            System.out.print("Hoe oud ben je? ");
            int leeftijd = Integer.parseInt(sc.nextLine());
            System.out.println("Hallo, " + naam + ", je bent " + leeftijd + " jaar.");
        }
    }
}

Tip: we gebruiken nextLine() en parsen expliciet naar int om beginnersfouten met nextInt() te voorkomen.

Voorbeeld 7 — Een eigen methode maken en aanroepen Introductie: We isoleren herhaalde logica in een methode en roepen die opnieuw aan.

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

Met methoden kun je herhaling verminderen en je code logischer indelen.

Voorbeeld 8 — Beslisstructuur (if/else) op basis van invoer Introductie: Met een if/else neem je een beslissing op basis van invoer van de gebruiker.

import java.util.Scanner;

public class IfElseDemo {
    public static void main(String[] args) {
        try (Scanner sc = new Scanner(System.in)) {
            System.out.print("Voer een getal in: ");
            int n = Integer.parseInt(sc.nextLine());
            if (n % 2 == 0) {
                System.out.println(n + " is even");
            } else {
                System.out.println(n + " is oneven");
            }
        }
    }
}

Hier zie je een eenvoudige beslissing op basis van een voorwaarde.

Voorbeeld 9 — Een eenvoudige lus (for) om herhaling te automatiseren Introductie: De for-lus herhaalt code een vast aantal keren en gebruikt een teller.

public class ForDemo {
    public static void main(String[] args) {
        for (int i = 1; i <= 5; i++) {
            System.out.println("i = " + i);
        }
    }
}

Lussen behandelen we dieper in een later hoofdstuk, maar hier zie je alvast de vorm.

Voorbeeld 10 — Meerdere klassen laten samenwerken Introductie: Je ziet hoe twee hulpkklassen samenwerken met een hoofdklasse die de applicatie start.

public class App {
    public static void main(String[] args) {
        Helper.groet("Kim");
        int uitkomst = Rekenaar.som(3, 4);
        System.out.println("Som = " + uitkomst);
    }
}

class Helper {
    static void groet(String naam) {
        System.out.println("Hallo, " + naam);
    }
}

class Rekenaar {
    static int som(int a, int b) {
        return a + b;
    }
}

Je mag meerdere klassen in één bestand zetten zolang er maximaal één public klasse is en de bestandsnaam overeenkomt met die klasse (hier App).

Veelgemaakte beginnersfouten en tips

  • Verkeerde bestandsnaam: public class Hello moet in Hello.java staan.
  • Geen main‑methode: zorg voor exact public static void main(String[] args).
  • Vergeten puntkomma; IDE waarschuwt je met een rode golf.
  • Onjuiste encoding: stel je project in op UTF‑8, anders kunnen emoji/accents raar tonen.
  • Console blijft niet open bij dubbelklikken in sommige omgevingen: voer programma’s uit via terminal of IDE, niet door op .class te dubbelklikken.

Mini‑stapjes naar je eigen app

  1. Maak Hello.java en run het.
  2. Voeg variabelen toe en print een rekensom.
  3. Lees invoer met Scanner en verwerk die in een zin.
  4. Stop herhaalde code in een eigen methode.
  5. Splits functionaliteit over meerdere klassen.

Koppeling met oefeningen

  • Ga naar java-workbook/src/chapter_3.md voor oefeningen die aansluiten op dit hoofdstuk (eigen methode, print vs println, enz.).
  • Check java-solutions/src/chapter_3.md voor voorbeeldantwoorden (kijk pas na het proberen!).

Samenvatting Je hebt nu een ‘van nul naar iets’ pad gevolgd: printen, rekenen, invoer lezen, methoden gebruiken en meerdere klassen laten samenwerken. Dit vormt de basis voor alle volgende hoofdstukken. In Hoofdstuk 4 duiken we dieper in de basissyntax en regels waar Java zich aan houdt.