A J# programozási nyelv

Utasítások, vezérlési szerkezetek



Utasítás lehet: kifejezés, üres utasítás, szekvencia, összetett utasítás, elágazás, ciklus

A legtöbb utasítást le kell zárni egy utasítás lezáróval, ami a ";" karakter.

Értékadás, üres utasítás

Ha az utasítás elmarad, akkor üres utasításról beszélünk.

;

Értékadás:
Az értékadás szintén egy kifejezés, aminek az értéke a balodal új értéke. Értéket adni csak balértékeknek lehet. (lásd a Típusok, típuskonstrukciók c. fejezetet) Ennek szintaktikája a következő:

változónév = kifejezés ;

public int i, j = 10, k = i+j*2; private const double d; d = (double)i * 3.14;

Öszetett utasítás:
Kapcsos zárójelet közé írt utasítás.

int i, j; if(1==1) { i = 1; j = 2; }

Szekvencia

A szekvencia egyszerűen az utasítások egymásután írása, az utasítások egy listája.

public int i, j = 10, k = i+j*2; private const double d; d = (double)i * 3.14;

Elágazás

Egyszerű elagazás:

Függő else probléma: mindig a legutolsó if-hez tartozik

int i = 0; if(1==2) i = 1; else if(2==2) i = 2; else i = 3;

Összetett elágazás:
Fordítási időben ismert konstans kifejezés alapján lehet csak összetett utasítást készíteni. A különböző ágak a kifejezés lehetséges értékei esetén hajtódnak végre. Lehetőség van tetszőleges érték esetén végrehajtandó utasítássorozat megadására is, feltéve, ha egyik másik ág sem hajtódhat végre.
Szintaktikája:
    switch(kifejezés) {
        case érték1: utasítás
        …
        default: utasítás
    }
Egy ág végrehajtásából a break utasítással lehet kilépni. Nem kötelező break-kel kilépni az ágból. Így lehet több egymást követő esetet is összefogni egy kezelő résszel. Ezt akkor is megtehetjük, ha nem hagyjuk üresen az utasítás részt.

int i = 0; int j = 0; switch(i) { case 0: ++j; case 1: j += 10; break; case 2: j = 100; default: j = 0; }

Ciklus

Három féle ciklus van. Ebből kettő lényegében véve azonos, csak kényelmi szempontból különböznek.

While cilkus:
Utasítást csak akkor hajtja végre, ha a kifejezés igaz, különben SKIP-el egyenértékű

    while(logikai kifejezés) utasítás
For ciklus:
    for(kifejezés1; logikai kifejezés; kifejezés2) utasítás ;
Ezzel ekvivalens:
    kifejezés1;
    while(logikai kifejezés) {
        utasítás;
        kifejezés2;
    }
Do-while cilkus:
Egyszer mindenféleképpen végrehajtja az utasítást
    do utasítás while(logikai kifejezés);

Vezérlésátadó utasítások

Break:
Az aktuálisan végrehajtott blokkból lép ki. A vezérlés a következő utasításra adódik át.

Continue:
Ciklusmagban megszakítja a ciklusmag utasításainak a végrehajtását, a vezérlést a feltétel kiértékelésére adja át.

for(int i=0; true; ++i) { if(i>10) break; if(i>5) continue: System.out.println(i); }