Komanda 'if'

Last modified by superadmin on 2018-01-12 20:38

Komanda 'if'

if (expr) statement

vai arī

if (expr) statement else statement

Aplūkosim piemēru - garo gadu noteikšanu. Saskaņā ar Gregora kalendāra reformu, garie gadi ir visi tie, kas dalās ar 4, bet nedalās ar 100, vai arī tie, kas dalās ar 400. Uzrakstīsim funkciju, kas saņem veselu argumentu - gada skaitli un atgriež Būla vērtību "true" tieši tad, ja tas ir garais gads.

Slikts stils: 

public boolean function garais(int year) {
    if (year%4 == 0) {
        if (year%100 == 0) {
            if (year%400 == 0) return true;
else return false;
}
else return true;
    }
else return false;
}

Šis kods nav visai labs tāpēc, ka mēs necenšamies sākt ar tiem gadījumiem, kuri ir visbiežākie un kuros atbildi var pateikt uzreiz. Var rakstīt īsāk: 

public boolean function garais(int year) {
    if (year%4 != 0) return false;
else if (year%100 != 0) return true;
else if (year%400 != 0) return false;
else return true;
}

Vispārīgs princips - ja "if" komanda savukārt sastāv no "if", tad labāk jaunos "if" rakstīt zem "else", nevis tūlīt aiz nosacījuma. Programma tādējādi kļūst pārskatāmāka.

Tags:
Created by Kalvis Apsītis on 2008-05-04 16:50
    
This wiki is licensed under a Creative Commons 2.0 license
XWiki Enterprise 6.4 - Documentation