Ylös Edellinen Seuraava Otsikkosivu Hakemisto Sisällys

10.1.2 Ehdolla suoritettava useita lauseita

Jos esimerkiksi luvut pitäisi vaihtaa keskenään, täytyisi meidän voida suorittaa useita lauseita muuttujien vaihtamiseksi. Java- kielessä voidaan lausesuluilla kasata joukko lauseita yhdeksi lauseeksi (lohko, koottu lause, block):

Vinkki
A

Sisennä kauniisti

	if ( a > b ) {
	  t = a; 
	  a = b; 
	  b = t;
	}

Huomautus! Lauseiden kirjoittaminen samalle riville ei auttaisi mitään, sillä

	if ( a > b ) t = a; a = b; b = t;
	/*  vastaisi loogisesti rakennetta: */
	if ( a > b ) t = a; 
	a = b; 
	b = t; 

Koodia voidaan kuitenkin usein lyhentää kirjoittamalla asioita samalle riville:

	if ( a > b ) {
	  t = a; a = b; b = t;
	}
	/* tai joskus jopa */
	if ( a > b ) { t = a; a = b; b = t; }

Niin kauan kuin todella hallitsee asian, voi olla helpointa laittaa aina if- lauseen ainoakin suoritettava lause lausesulkuihin

	if ( a > b ) {
	  tulosta(a);
	}

Mikäli sulkuja ei olisi, täytyisi toisen lauseen lisäyksen yhteydessä muistaa lisätä myös sulut (tosin eihän hyvin suunniteltua ohjelmaa tarvinnut enää jälkeenpäin paikata?).

Tehtävä 10.1 vaihda

Esitä pöytätestin avulla miksei vaihtaminen onnistu pelkästään lauseilla:
a = b; b = a;

Tehtävä 10.2 abs

Kirjoita funktio
int itseisarvo(int i) ,
joka palauttaa i:n itseisarvon (negat. muutet. posit.).

Tehtävä 10.3 jarjesta2

Kirjoita aliohjelma
void tulosta2(int a, int b) ,
joka tulostaa luvut suuruusjärjestyksessä .

Tehtävä 10.4 maksimi ja minimi

Kirjoita funktio
int maksimi(int a, int b) ,
joka palauttaa suuremman kahdesta luvusta.
Kirjoita vastaava funktio minimi.


Ylös Edellinen Seuraava Otsikkosivu Hakemisto Sisällys