I200:Juhtimisstruktuurid: Difference between revisions

From ICO wiki
Jump to navigationJump to search
(Created page with "right|300px Juhtimisstruktuurid on programmeerija põhilised tööriistad, nagu ehitajal on haamer ja kruvikeeraja. Siin käsitleme kahte liiki: "ku…")
 
No edit summary
Line 4: Line 4:


"Kui" tüüpi juhtimisstruktuurid on if, switch ja try-catch. "Kuni" tüüpi tsüklid on while, for, foreach ja do..while.
"Kui" tüüpi juhtimisstruktuurid on if, switch ja try-catch. "Kuni" tüüpi tsüklid on while, for, foreach ja do..while.
{| border="1" style="border-collapse:collapse"
! style="width: 20%;"|
! style="width: 27%;"|if
! style="width: 27%;"|switch
! style="width: 27%;"|try-catch
|-
! eesmärk
| Teha programmis keeruliste tingimustega valikuid (==, !=, <=)
| Teha paljude variantidega, aga lihtsama tingimusega (ainult ==), valikuid.
| Try-catch on nagu if-else, ainult, et on mõeldud veaohtlike koodijuppidele.
|-
! näidis ülesanne
| Kui punkte on 50 või rohkem, saab tudeng ainest läbi. Kui on vähem, siis ei saa.
| Järgmise aasta ilmateade: kui on suvi, paistab päike; kui on talv, sajab lund, kevadel ja sügisel sajab vihma.
| Loe kõvakettalt fail üles, kui millegipärast toiming ebaõnnestub, anna sellest teada.
|-
! näite lahendus
|
    <syntaxhighlight lang="Java">
    int punkte = 55;
    if (punkte >= 50) {
        System.out.println("tudeng sai ainest läbi");
    } else {
        System.out.println("tudeng ei saanud ainest läbi");
    }
    </syntaxhighlight>
|
<syntaxhighlight lang="Java">
    String aastaaeg = "kevad";
    switch (aastaaeg) {
        case "talv":
            System.out.println("Sajab lund");
            break;
        case "suvi":
            System.out.println("Päike");
            break;
        case "kevad": // kevade ja sügise tulemus on sama
        case "sügis":
            System.out.println("Sajab vihma");
            break;
    }
    </syntaxhighlight>
|
    <syntaxhighlight lang="Java">
    BufferedReader br;
    try {
        br = new BufferedReader(new FileReader("file.txt"));
    } catch (FileNotFoundException e) {
        System.out.println("Faili ei loetud, sest:");
        e.printStackTrace(); // prindib detailse errori
    }
    </syntaxhighlight>
|}

Revision as of 13:33, 16 April 2015

Juhtimisstruktuurid on programmeerija põhilised tööriistad, nagu ehitajal on haamer ja kruvikeeraja. Siin käsitleme kahte liiki: "kui" ja "kuni", ehk "kui" tingimus on täidetud käitu sedasi ja "kuni" tingimus on täidetud käitu sedasi. Muud neil vahet polegi, kui ühed juhivad programmi kulgemist vaid ühe korra ja teised panevad ühe koodi jupi tsükliliselt kordama.

"Kui" tüüpi juhtimisstruktuurid on if, switch ja try-catch. "Kuni" tüüpi tsüklid on while, for, foreach ja do..while.

if switch try-catch
eesmärk Teha programmis keeruliste tingimustega valikuid (==, !=, <=) Teha paljude variantidega, aga lihtsama tingimusega (ainult ==), valikuid. Try-catch on nagu if-else, ainult, et on mõeldud veaohtlike koodijuppidele.
näidis ülesanne Kui punkte on 50 või rohkem, saab tudeng ainest läbi. Kui on vähem, siis ei saa. Järgmise aasta ilmateade: kui on suvi, paistab päike; kui on talv, sajab lund, kevadel ja sügisel sajab vihma. Loe kõvakettalt fail üles, kui millegipärast toiming ebaõnnestub, anna sellest teada.
näite lahendus
    int punkte = 55;
    if (punkte >= 50) {
        System.out.println("tudeng sai ainest läbi");
    } else {
        System.out.println("tudeng ei saanud ainest läbi");
    }
    String aastaaeg = "kevad";
    switch (aastaaeg) {
        case "talv":
            System.out.println("Sajab lund");
            break;
        case "suvi":
            System.out.println("Päike");
            break;
        case "kevad": // kevade ja sügise tulemus on sama
        case "sügis":
            System.out.println("Sajab vihma");
            break;
    }
    BufferedReader br;
    try {
        br = new BufferedReader(new FileReader("file.txt"));
    } catch (FileNotFoundException e) {
        System.out.println("Faili ei loetud, sest:");
        e.printStackTrace(); // prindib detailse errori
    }