11. Javan valintarakenteet 11.1

Samankaltaiset tiedostot
11. Javan valintarakenteet 11.1

12. Javan toistorakenteet 12.1

12. Javan toistorakenteet 12.1

11. Javan toistorakenteet 11.1

Java-kielen perusteita

13. Loogiset operaatiot 13.1

Lohkot. if (ehto1) { if (ehto2) { lause 1;... lause n; } } else { lause 1;... lause m; } 15.3

Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä

Sisällys. 12. Javan toistorakenteet. Yleistä. Laskurimuuttujat

13. Loogiset operaatiot 13.1

Lohkot. if (ehto1) { if (ehto2) { lause 1;... lause n; } } else { lause 1;... lause m; } 16.3

Java-kielen perusteet

Sisällys. 15. Lohkot. Lohkot. Lohkot

14. Hyvä ohjelmointitapa 14.1

13. Hyvä ohjelmointitapa (osa 1) 13.1

Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.

Metodien tekeminen Javalla

Ehto- ja toistolauseet

5/20: Algoritmirakenteita III

Java-kielen perusteet

7. Näytölle tulostaminen 7.1

Vertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

Javan perusteet. Ohjelman tehtävät: tietojen syöttö, lukeminen prosessointi, halutun informaation tulostaminen tulostus tiedon varastointi

Ehto- ja toistolauseet

8. Näppäimistöltä lukeminen 8.1

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.

Sisällys JAVA-OHJELMOINTI Osa 3: Laskennan ohjaus. Lohkolause (block) Peräkkäinen laskenta. Lohkon käyttö. Esimerkki

Ohjelmointiharjoituksia Arduino-ympäristössä

Lauseet. Ehdollinen lause. Tämän osan sisältö. Ehdollinen lause. Esimerkkejä. Yksinkertainen ehto. Lohkosulut ja sisennys. Ehdollinen lause if

8. Näppäimistöltä lukeminen 8.1

16. Ohjelmoinnin tekniikkaa 16.1

9. Periytyminen Javassa 9.1

Sisällys. 17. Ohjelmoinnin tekniikkaa. Aritmetiikkaa toisin merkiten. for-lause lyhemmin

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

1. Omat operaatiot 1.1

Sisällys. 16. Ohjelmoinnin tekniikkaa. Aritmetiikkaa toisin merkiten. Aritmetiikkaa toisin merkiten

16. Ohjelmoinnin tekniikkaa 16.1

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen

Olio-ohjelmointi Javalla

20. Javan omat luokat 20.1

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

Sisällys. 20. Javan omat luokat. Java API. Pakkaukset. java\lang

Lista luokan sisällä

Sisältö. 2. Taulukot. Yleistä. Yleistä

Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista

17. Javan omat luokat 17.1

9. Periytyminen Javassa 9.1

Luokka Murtoluku uudelleen. Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista.

Sisältö. 22. Taulukot. Yleistä. Yleistä

Ohjelmointi 2 / 2010 Välikoe / 26.3

ITKP102 Ohjelmointi 1 (6 op)

Sisällys. 16. Lohkot. Lohkot. Lohkot

Ohjausrakenteet. Valinta:

Muuttujat ja kontrolli. Ville Sundberg

7. Oliot ja viitteet 7.1

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?

// Tulostetaan double-tyyppiseen muuttujaan "hinta" tallennettu // kertalipun hinta ja vaihdetaan riviä. System.out.printf("%.1f euros.

Luokan muodostimet (Constructors)

Mikä yhteyssuhde on?

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

5. HelloWorld-ohjelma 5.1

812341A Olio-ohjelmointi, Olio-ohjelmoinnin peruskäsitteet ja Java-kieli

Tapahtumapohjainen ohjelmointi. Juha Järvensivu 2007

Metodien tekeminen Javalla

Javan perusteita. Janne Käki

Rinnakkaisohjelmointi, Syksy 2006

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

Tietorakenteet. JAVA-OHJELMOINTI Osa 5: Tietorakenteita. Sisällys. Merkkijonot (String) Luokka String. Metodeja (public)

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä

14. Poikkeukset 14.1

on ohjelmoijan itse tekemä tietotyyppi, joka kuvaa käsitettä

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

// Tulostetaan double-tyyppiseen muuttujaan "hinta" tallennettu // kertalipun hinta ja vaihdetaan riviä. System.out.printf("%.1f euros.

Listarakenne (ArrayList-luokka)

14. Poikkeukset 14.1

Java-kielen perusteita

Informaatioteknologian laitos Olio-ohjelmoinnin perusteet / Salo

Sisällys. 3. Pseudokoodi. Johdanto. Johdanto. Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen.

Ohjelmoinnin perusteet, syksy 2006

Kompositio. Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma

Java kahdessa tunnissa. Jyry Suvilehto

Sisällys. 6. Muuttujat ja Java. Muuttujien nimeäminen. Muuttujien nimeäminen. salinovi tai syntymapaiva

6. Muuttujat ja Java 6.1

Rajapinta (interface)

public static void main (String [] args)

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen. Ohjausrakenteet:

JAVA-OHJELMOINNIN PERUSTEET. Sisältö 1. JAVA OHJELMOINTI LÄHTEITÄ HARJOITUKSET MUUTAMA MALLIRATKAISU...

Ohjelmointi 1 / 2009 syksy Tentti / 18.12

12. Näppäimistöltä lukeminen 12.1

19. Olio-ohjelmointia Javalla 19.1

Tapahtumapohjainen ohjelmointi. Juha Järvensivu 2008

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

Sisällys. 19. Olio-ohjelmointia Javalla. Yleistä. Olioiden esittely ja alustus

Luokan sisällä on lista

Pakkauksen kokoaminen

Ohjelmoinnin perusteet Y Python

Transkriptio:

11. Javan valintarakenteet 11.1

Sisällys If- ja if-else-lauseet. Orpo else. Valintaa toisin: switch-lause. 11.2

If-lause Merkitään varatulla sanalla if. Kuvaa yksisuuntaisen päätöksen: rakenteen lauseet suoritetaan vain ehdon ollessa totta. toteutuessa. false true Aaltosulkeet voidaan jättää pois, jos rakenteeseen liittyy vain yksi lause. if () { 11.3

If-lause public class Vertailija1 { public static void main(string[] args) { // Vertailtavat arvot. int x; int y; if (x == y) { // Tulostetaan, jos x ja y ovat yhtä suuret. System.out.println(x + " == " + y); 11.4

If-else-lause Merkitään varatuilla sanoilla if ja else. Kuvaa kaksisuuntaisen päätöksen: if-osaan liittyvät lauseet suoritetaan ehdon ollessa totta, muuten suoritetaan else-osaan liittyvät lauseet. Else-osalla ei ole omaa ehtoa. true if () { else { false 11.5

If-else-lause public class Vertailija2 { public static void main(string[] args) { if (x == y) { // Tulostetaan, jos x ja y ovat yhtä suuret. System.out.println(x + " == " + y); else { // Tulostetaan, kun x ja y ovat erisuuret. System.out.println(x + "!= " + y); 11.6

Sisäkkäiset valinnat Monisuuntaiset päätökset voidaan ilmaista sisäkkäisillä päätöksillä. Sisennysten merkitys ohjelman rakenteen selkeyttäjänä korostuu rakenteiden monimutkaistuessa. Oheinen rakenne (Vertailija3) ilmaisee kolmisuuntaisen päätöksen. // Ulompi rakenne. if (x < y) { System.out.println(x + " < " + y); else { // Sisempi rakenne. if (x == y) { System.out.println(x + " == " + y); else { // Totta, kun ehdot epätosia. System.out.println(x + " > " + y); 11.7

Peräkkäiset valinnat Sisäkkäiset valintarakenteet voidaan korvata peräkkäisillä valinnoilla, jos rakenteiden ehdot sulkevat toisensa pois. // (x == y) == false ja (x > y) == false if (x < y) { System.out.println(x + " < " + y); // (x < y) == false ja (x > y) == false if (x == y) { System.out.println(x + " == " + y); // (x < y) == false ja (x == y) == false if (x > y) { System.out.println(x + " > " + y); 11.8

Ole tarkkana operaattoreiden kanssa Ehtolausekkeessa voidaan tehdä vahingossa sijoitus, koska sijoitusoperaattori (=) palauttaa sijoitetun arvon. boolean teese; // Päätellään pitäisikö tehdä // vai ei: muuttujan arvoksi // asetetaan true, jos tehdään. // Virhe. Tehdään aina. if (teese = true) // Virhe. Ei tehdä koskaan. if (teese = false) // Oikein, mutta epähuomiossa // tehty virhe on mahdollinen. if (teese == true) if (teese == false) // Oikein. Virhettä ei voida tehdä, // koska operaattoreita ei käytetä. if (teese) 11.9

Orpo else Valintarakenteita yhdistettäessä ei ole aina selvää mihin ifosaan else-osa liittyy. Orpo else -ongelma (dangling else): Onko lause x; else lause y; lause x; vai lause x; else else lause y; lause y; 11.10

Orpo else Javassa orpo else-osa liittyy aina lähimpään vapaaseen if-osaan. else lause x; lause y; Koottuja lauseita käyttämällä voidaan vaikuttaa oletussuoritusjärjestykseen. Koodia muotoilemalla ei voida määrätä mihin ifosaan orpo else liittyy. 11.11

Orpo else lause x; else lause y; Else liittyy jälkimmäiseen if-osaan. { lause x; else lause y; Else liittyy ensimmäiseen if-osaan. 11.12

switch-lause switch (arvo) { case vakio 1: lause k;... case vakio 2: lause l;...... default: lause m;... 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. 11.13

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."); 11.14

switch-lause // Valitaan toiminto switch-rakenteella. switch (valinta) { case LISAA: System.out.println("Lisään..."); case POISTA: System.out.println("Poistan..."); case HAE: System.out.println("Haen..."); case LOPETA: System.out.println("Lopetan..."); default: System.out.println("Virhe."); 11.15