10 javan valintarakenteet
Download
Skip this Video
Download Presentation
10. Javan valintarakenteet

Loading in 2 Seconds...

play fullscreen
1 / 11

10. Javan valintarakenteet - PowerPoint PPT Presentation


  • 120 Views
  • Uploaded on

10. Javan valintarakenteet. Sisällys. if - ja if - else -lauseet. Orpo else . Valintaa toisin: switch -lause. if (ehto) { // true lause 1; ... lause n ; }. if (ehto) { // true lause 1; ... lause n ; } else { // false lause 1; ... lause m ; }.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' 10. Javan valintarakenteet' - amena-ayala


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
sis llys
Sisällys
  • if- ja if-else-lauseet.
  • Orpo else.
  • Valintaa toisin: switch-lause.
if ja if else lauseet
if (ehto) { // true

lause 1;

...

lause n;

}

if (ehto) { // true

lause 1; ...

lause n;

}

else { // false

lause 1; ...

lause m;

}

if- ja if-else-lauseet
  • Lähes samoin kuin pseudokoodissa. Ehtolauseke esitettävä Javan operaatioin.
  • Jos n = 1 tai m = 1, niin koottua lausetta ei tarvita.
if ja if else lauseet1
if- ja if-else-lauseet

/* Tutkitaan ovatko luvut yhtä suuret.

*/

public class Samatko {

public static void main(String[] args) {

// Esitellään ja alustetaan luvut.

int luku1 = 1;

int luku2 = 3;

// Vertaillaan.

if (luku1 == luku2)

System.out.println("Luvut yhtä suuret.");

else

System.out.println("Luvut eri suuret.");

}

}

if ja if else lauseet2
if- ja if-else-lauseet

public class PolttaaPolttaa {

public static void main(String[] args) {

int lampo = 26; // Myös lämpö-tunnus toimisi.

if (lampo > 15) // > 15

if (lampo < 25) // 15 < lampo < 25

System.out.println("Sopiva!");

else // >= 25

System.out.println("Alkaa olla liian kuuma!");

else // <= 15

System.out.println("Alkaa olla liian kylmä!");

}

}

orpo else
Orpo else
  • Valintarakenteita yhdistettäessä ei ole aina selvää mihin if-osaan else-osa liittyy.
  • Orpo else -ongelma (dangling else): Onko if (ehto) if (ehto) lause x; else lause y;

if (ehto) if (ehto)

if (ehto) if (ehto)

lause x; vai lause x;

elseelse

lause y; lause y;

orpo else1
Javassa orpo else-osa liittyy aina lähimpään vapaaseen if-osaan.

if (ehto)

if (ehto)

lause x;

else

lause y;

Sisentämällä valinta-rakenteista saadaan ymmärrettävämpiä.

Koodia muotoilemalla ei kuitenkaan voida määrätä mihin if-osaan orpo else liittyy.

Koottuja lauseita käyttämällä voidaan vaikuttaa oletussuoritus-järjestykseen.

Orpo else
orpo else2
if (ehto)

if (ehto)

lause x;

else

lause y;

else liittyy jälkimmäiseen if-osaan.

if (ehto) {

if (ehto)

lause x;

}

else

lause y;

else liittyy ensimmäiseen if-osaan.

Orpo else
switch lause
switch (arvo) {

case vakio 1:

lause k; ...

break;

case vakio 2:

lause l; ...

break;

...

default:

lause m; ...

break;

}

Valinta arvojen tai vakioiden avulla.

Arvon oltava char, byte, short tai int.

Javan 1.7-versiosta alkaen String-tyyppi sallittu.

Jos break-lause puuttuu jostakin valinnasta, niin tästä kohdasta alkanut suoritus jatkuu, kunnes kohdataan seuraava break-lause tai valintarakenne loppuu.

break-lauseen unohtuminen jostakin valinnasta on varsin yleinen ohjelmointivirhe.

default-osa suoritetaan, jos mitään muuta lauseen osaa ei suoriteta.

Lause sopii hyvin erilaisten valikoiden toteuttamiseen.

switch-lause
switch lause1
switch-lause

// Ohjelma, jossa on valikko.

public class Rekisteri {

public static void main(String[] args) {

// Ohjelman tuntemat

// komennot vakioina

final char LISAA = \'l\';

final char POISTA = \'p\';

final char HAE = \'h\';

final char LOPETA = \'e\';

// Muuttuja, johon luetaan käyttäjän

// näppäimistöltä antama valinta.

char valinta;

// Valitaan toiminto if-else-rakenteilla.

if (valinta == LISAA) {

System.out.println("Lisään..."); …

}

else if (valinta == POISTA) {

System.out.println("Poistan..."); …

}

else if (valinta == HAE)

System.out.println("Haen..."); …

}

else if (valinta == LOPETA) {

System.out.println("Lopetan..."); …

}

else

System.out.println("Virhe.");

}

}

switch lause2
switch-lause

// Valitaan toiminto switch-rakenteella.

switch (valinta) {

case LISAA:

System.out.println("Lisään..."); …

break;

case POISTA:

System.out.println("Poistan..."); …

break;

case HAE:

System.out.println("Haen..."); …

break;

case LOPETA:

System.out.println("Lopetan..."); …

break;

default:

System.out.println("Virhe.");

break;

}

ad