previous next Up Title Contents Index

Syntaksi

Switch...case -rakenteen kieliopillinen muoto on seuraava:

    switch (lauseke)
    {
        case tapausvakio1:
            lauseita;
            break;
        case tapausvakio2:
            lauseita;
            break;
        case tapausvakio3:
            ...
        default:
        lauseita;
    }
Switch...case rakenteessa voi olla case-vaihtoehtoja 127 kappaletta. Lisäksi siinä voi olla default-osa, johon tullaan ellei yksikään case-vaihtoehdoista vastaa lausekkeen arvoa. Jos default-osa puuttuu eikä mikään tapausvakio vastaa lausekkeen arvoa, ohjelman suoritus jatkuu switch-rakennetta seuraavasta lauseesta.
Tapausvakiot ovat nimensä mukaisesti vakioita. Niiden arvot tulee näin ollen voida ratkaista jo ohjelman käännösvaiheessa. Tämä tarkoittaa, että tapausvakioina ei voi olla muuttujia. Vakiolausekkeiden arvojen on lisäksi oltava kokonaislukutyyppisiä (char, int, long).
Break-lauseet, joihin yksittäiset case-haarat päättyvät, eivät ole pakollisia. Mikäli ohjelmassa on haarauduttu case-osaan, jonka lopusta puuttuu break-lause, ohjelman kontrolli "valuu" seuraavaan case-osaan. Vasta, kun törmätään seuraavaan break-lauseeseen, kontrolli siirtyy pois switch-rakenteesta. Joissain tilanteissa tämä voi olla jopa toivottava toimintamalli.

previous next Up Title Contents Index