2.9.2008ict1td002 - Copyright Raine Kauppinen 1 Alkuarvot ja tyyppimuunnokset (1/5)  Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int.

Slides:



Advertisements
Samankaltaiset esitykset
15. Loogiset operaatiot.
Advertisements

@ Leena Lahtinen Helia Ohjelman perusrakenteet 1. PERÄKKÄISRAKENNE 2. VALINTARAKENNE 3. TOISTORAKENNE.
Olio-ohjelmoinnin perusteet luento 3: Muuttujista ja funktioista Sami Jantunen LTY/Tietotekniikan osasto.
© Jukka Harju, Viittausmuuttujat. © Jukka Harju, Viittaukset •Viittausmuuttuja sisältää tiedon siitä missä muistipaikassa olio.
JavaScript (c) Irja & Reino Aarinen, 2007
VBA –ohjelmoinnin perusteet
Ohjelman perusrakenteet
1 Ehtolausekkeet Ehdot, valintalausekkeet Boolean-algebra.
Rakenteinen ohjelmointi
Taulukot: Array Taulukko Javassa pitää aina perustaa (new)
Taulukoiden määrittely, käsittely ja kopiointi Vaihtoehdot taulukoille
22. Taulukot.
Ohjelmointitaito (ict1td002, 12 op) Syksy 2008
Näytölle tulostaminen. 7.2 Sisällys System.out.println - ja System.out.print -operaatiot. Tulostus erikoismerkeillä. Edistyneempää tulosteiden.
Sovellusohjelman suunnittelu & toteutus
Java-ohjelmointi Opas ammattimaiseen osaamiseen Luku 4 Toistolauseet
TIETOKONEOHJELMAN RAKENNE OHJELMALLA ON KAKSI OSAA  MÄÄRITYSOSA TIETOJEN KUVAUKSIA VARTEN  SUORITUSOSA TIETOJEN KÄSITTELYÄ VARTEN.
Yksinkertaiset graafiset syöttö- ja tulostustoiminnot.
Ehto- ja toistolauseet
Poikkeustenkäsittely  Mitä poikkeustenkäsittely tarkoittaa?  Poikkeuksen käsitteleminen  Poikkeusluokkien hierarkia  Poikkeuksen heittäminen 1.
Toiston tekeminen Javalla  Mikä toistorakenne on?  while toistorakenne  do-while toistorakenne  for toistorakenne 1.
Ohjelmoinnin tekniikkaa Sisällys for -lause lyhemmin. Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely.
TAULUKKO YKSIULOTTEINEN TAULUKKO. TAULUKKO  Taulukon tarkoitus Ohjelmassa tarvitaan paljon samantyyppisiä samaan kohdealueeseen kuuluvia muuttujia Näitä.
Ohjelman perusrakenteet
Pseudokoodi Tietokoneohjelmien perusidea:
13. Hyvä ohjelmointitapa (osa 1)
Visual Basic -ohjelmointi
String-vertailusta ja Scannerin käytöstä (1/2)
Metodit – Arvotyyppi Ellei metodi palauta arvoa, sen arvotyyppi on void Tällöin ”return;”-lauseke ei ole metodissa pakollinen, vaikka sen käyttö on sallittua.
11. Javan toistorakenteet
Algoritmi-harjoituksia…
SQL Standardoitu kieli, jonka avulla voidaan
4. Attribuutit 4.1. Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2.
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen
@ Leena Lahtinen Toistorakenne Ohjelmassa toistetaan tiettyjä toimenpiteitä monta kertaa peräkkäin Toisto noudattaa sille kuuluvia tarkkoja standardoituja.
@ Leena Lahtinen TIETOKONEOHJELMAN RAKENNE OHJELMALLA ON KAKSI OSAA:  MÄÄRITYSOSA TIETOJEN KUVAUKSIA VARTEN  SUORITUSOSA TIETOJEN KÄSITTELYÄ.
RAKENNUSPALIKOITA SEINÄJOEN KANSALAISOPISTO Jussi Rasku Aki Sirviö.
ict1td002 - Copyright Raine Kauppinen 1 Tietovirrat  Tietovirran käsite  Tietovirtojen käyttö  Tekstitiedoston luku  Tekstitiedoston kirjoitus.
2. Lisää Java-ohjelmoinnin alkeita
Aakkosnumeerinen tieto Tarkoittaa kaikkea muuta tietoa paitsi laskentaan tarkoitettuja lukuja Muuttujan tietosisältö on siis tekstitietoa Muuttujan tietotyypiksi.
Visual Basic -ohjelmointi
Antti-Jussi Lakanen Nuorten peliohjelmointi 2009 / Jyväskylän yliopisto.
Kontrollirakenteet laajemmin
For-toistolausetMyn1 for-toistolause for-lauseen rakenne on: for(aloituslauseke; lauseke; lopetuslauseke) lause; Puolipisteiden on oltava aina paikoillaan,
Visual Basic -ohjelmointi
Javascript 2: Ohjelmointikielen ominaisuudet Jaana Holvikivi Metropolia.
Visual Basic -ohjelmointi
Valintarakenne valintarakenne alkaa aina kysymyksellä eli ehdolla ehto tarkoittaa, että muuttujan sisältöä verrataan toisen muuttujan sisältöön tai vakioon.
For-toistolausetMyn1 for-toistolause for-lauseen rakenne on: for(aloituslauseke; lauseke; lopetuslauseke) lause; Puolipisteiden on oltava aina paikoillaan,
Ohjausrakenteet Määräävät ohjelmakoodin suoritusjärjestyksen Ehtolause if – else on muotoa if (lauseke) lause1 else lause2 Jos lauseke on tosi, niin suoritetaan.
String-vertailusta ja Scannerin käytöstä (1/2)
Toistorakenne Toistorakennetta käytetään ohjelmissa sellaisissa tilanteissa, joissa jotain tiettyä ohjelmassa tapahtuvaa toimenpidekokonaisuutta halutaan.
13. Loogiset operaatiot.
for-toistolause for-lauseen rakenne on:
Aakkosnumeerinen tieto
do-while -toistolause
Toisto Toistolausekkeet for, while(ehto){…} ja do {…} while(ehto)
do-while -toistolause
9. Aritmeettiset operaatiot
10. Javan ohjausrakenteet
9. Aritmeettiset operaatiot
16. Ohjelmoinnin tekniikkaa
14. Hyvä ohjelmointitapa.
7. Näytölle tulostaminen
Kontrollirakenteet laajemmin
13. Loogiset operaatiot.
Ohjelman perusrakenteet
4. Luokan testaus ja käyttö olion kautta
16. Ohjelmoinnin tekniikkaa
Esityksen transkriptio:

ict1td002 - Copyright Raine Kauppinen 1 Alkuarvot ja tyyppimuunnokset (1/5)  Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int luku = 123;  Alkuarvon on oltava muuttujan tietotyypin mukainen, esimerkiksi int-muuttujilla kokonaisluku, double- muuttujilla desimaaliluku ja String-muuttujilla merkkijono.  Muuttujalle on turvallisinta antaa aina jokin sopiva alkuarvo.

ict1td002 - Copyright Raine Kauppinen 2 Alkuarvot ja tyyppimuunnokset (2/5)  Alkuarvoa ei ole välttämätöntä antaa, jolloin pelkkä muuttujan esittely riittää, esimerkiksi: int summa; double cm; String ika;  Tällöin on huolehdittava siitä, että ohjelmaan ei voi jäädä tilannetta, missä muuttujaa yritetään käyttää ilman, että sille on annettu sijoituslauseella arvoa – muutoin seurauksena on virheilmoitus.

ict1td002 - Copyright Raine Kauppinen 3 Alkuarvot ja tyyppimuunnokset (3/5)  (Viittaus)muuttujille annetaan usein alkuarvoksi tyhjää tarkoittava arvo null, jos muuttujalle ei ole esittelyn yhteydessä anneta varsinaista käyttökelpoista arvoa.  Tyhjäarvoa käytetään esimerkiksi seuraavasti: String vastaus = null;  Tyhjäarvo on tosiaan sijoitettu muuttujaan, kokeile esimerkiksi tulostaa se: String vastaus = null; System.out.prinln(”Arvona on ”+vastaus);

ict1td002 - Copyright Raine Kauppinen 4 Alkuarvot ja tyyppimuunnokset (4/5)  Sijoituslauseita käytetäessä on joskus tarpeen sijoittaa muuttujaan arvo, joka ei alun perin ole muuttujan tyyppiä (esimerkiksi muuttaa desimaaliluku kokonaisluvuksi).  Osan tyyppimuunnoksista Java tekee automaattisesti (esimerkiksi kokonaisluvun voi sijoittaa desimaalilukumuuttujaan), mutta useimmissa tapauksissa tyyppimuunnos on kirjoitettava näkyviin.  Kaikki tyyppejä ei kuitenkaan voi muuntaa ristiin.

ict1td002 - Copyright Raine Kauppinen 5 Alkuarvot ja tyyppimuunnokset (5/5)  Tyyppimuunnoksen tekemisestä käytetään englannissa termiä casting (suomalaisittain kastaus).  Esimerkkejä tyyppimuunnoksista: double luku = 12; //automaattinen, luvuksi 12.0 int luku2 = (int)5.75; //luku2:n arvoksi 5 luku = 3.14; //sijoituslause luku2 = (int)luku; //luku2:n arvoksi 3  Huom: Käsin tehdyn tyyppimuunnoksen järkevyydestä vastaa ohjelmoija!

ict1td002 - Copyright Raine Kauppinen 6 3. Vertailu ja ehtolause (if-else if-else)  Olemme tähän asti käyttäneet ohjelmoinnin perusrakenteista vain peräkkäisyyttä, eli lauseet suoritetaan peräkkäin yksi kerrallaan.  Monipuolisempien ohjelmien tekeminen vaatii muutamia muita rakenteita, joista ensimmäisenä käsittelemme ehtolauseen (eli valinnan).  Ehtolausetta varten tarvitsemme ensin vertailun käsitteen.

ict1td002 - Copyright Raine Kauppinen 7 Vertailu (1/5)  Vertailulla tarkoitetaan operaatiota, jossa kahta arvoa (esimerkiksi lukua, muuttujan arvoa tai lausekkeen arvoa) verrataan toisiinsa.  Esimerkiksi vertailu ”Onko a pienempi kuin b?” kirjoitetaan a < b.  Javassa vertailun tulos on totuusarvo (boolean, joka on joko epätosi tai tosi, eli true tai false - esimerkiksi vertailun 1<2 tulos on true), vrt. laskutoimituksen tulos, esimerkiksi yhteenlaskun 1+4, jonka tulos on 5.

ict1td002 - Copyright Raine Kauppinen 8 Vertailu (2/5)  Vertailuoperaattorit Javassa ovat seuraavat: == yhtä suuri kuin!= erisuuri kuin suurempi kuin <=pienempi tai yhtä suuri kuin >=suurempi tai yhtä suuri kuin  Huomaa ero yhtä suuruusoperaattorin (==) ja sijoitusoperaattorin välillä (=): int luku1 = 5; luku1 = 5; // luku1 saa arvon 5 luku1 == 5; // onko luku1 yhtä suuri kuin 5?

ict1td002 - Copyright Raine Kauppinen 9 Vertailu (3/5)  Vertailun tuloksen voi esimerkiksi sijoittaa boolean- tyyppisen muuttujan arvoksi: int testi = 5; boolean onkoSuurempi = false; testi = 4; // testi saa arvon 4 onkoSuurempi = (luku1 > 5); // false testi = 8; onkoSuurempi = (luku1 > 5); // true

ict1td002 - Copyright Raine Kauppinen 10 Vertailu (4/5)  Käytettävissä ovat myös seuraavat operaattorit: ! NOT (looginen ei) &&AND (looginen ja) ||OR (looginen tai)  Näitä käytetään lausekkeiden kanssa, loogista eitä yhden ja muita kahden lausekkeen kanssa (näitä voi myös yhdistellä): !(lauseke) (lauseke) && (lauseke) (lauseke) || (lauseke)

ict1td002 - Copyright Raine Kauppinen 11 Vertailu (5/5)  Esimerkkejä: int a = 5; int b = 7; boolean c = false; c = !(c); // c saa arvon false c = (a 0); // c saa arvon true c = (a==b) || (b>0); // c saa arvon true c = ((a 0)) || (b>a); // true

ict1td002 - Copyright Raine Kauppinen 12 Ehtolause (if-else) (1/3)  Ehtolauseella voidaan ehdon perusteella valita, mitä tehdään seuraavaksi.  Yksinkertaisessa muodossa ehtolauseen rakenne on seuraavanlainen: if (ehto) { // lauseet, jotka suoritetaan, jos ehto on // tosi } else { // lauseet, jotka suoritetaan, jos ehto on // epätosi }

ict1td002 - Copyright Raine Kauppinen 13 Ehtolause (if-else) (2/3)  Ehtolauseen ehtona on lauseke, jolla on totuusarvo (usein esimerkiksi looginen vertailu tms.).  Lauseen else-osaa ei tarvitse kirjoittaa, jos ehdon ollessa epätosi ei tarvitse tehdä mitään, siis if (ehto) { // lauseet, jotka suoritetaan, jos // ja vain jos ehto on tosi }

ict1td002 - Copyright Raine Kauppinen 14 Luentoesimerkki 3.1 Tee ohjelma, joka kysyy käyttäjältä kokonaisluvun. Jos luku oli suurempi kuin 125, ohjelma tulostaa näytölle ”Lukusi on yli 125”, muuten ohjelma tulostaa näytölle ”Lukusi alle tai tasan 125”. Talleta ratkaisusi tiedostoon Vertailu.java.

ict1td002 - Copyright Raine Kauppinen 15 Ehtolause (if-else) (3/3)  Pidemmässä muodossa rakenne on seuraavanlainen (else if-osia voi olla useita): if (ehto1) { // lauseet, jotka suoritetaan, jos ehto1 on // tosi } else if (ehto2){ // lauseet, jotka suoritetaan, jos ehto2 on // tosi } else { // lauseet, jotka suoritetaan, jos mikään // ehdoista ei ollut tosi }

ict1td002 - Copyright Raine Kauppinen 16 Luentoesimerkki 3.2 Tee ohjelma, joka kysyy käyttäjän iän. Jos ikä on yli 30, ohjelma tulostaa ”Olet yli kolmekymppinen”. Jos ikä on yli 18, mutta alle 30, ohjelma tulostaa ”Olet vuotias”. Jos ikä on alle 18, ohjelma tulostaa ”Olet alaikäinen”. Talleta ratkaisusi tiedostoon Ika.java.

ict1td002 - Copyright Raine Kauppinen Toistolauseet while- ja do-while (1/3)  Toistolauseen avulla samoja lauseita voidaan toistaa, kunnes jokin ehto lakkaa olemasta tosi.  Toistolauseista while-lauseen rakenne on seuraava: while (ehto) { // lauseet, joita toistetaan, kunnes // ehto on epätosi }  Tässä tapauksessa ehto testataan ennen toistoa, mikä tarkoittaa, että toiston sisällä olevia lauseita ei välttämättä suoriteta kertaakaan.

ict1td002 - Copyright Raine Kauppinen 18 Toistolauseet while- ja do-while (2/3)  Mitä seuraava ohjelmanpätkä tekee? int luku = 1; boolean jatketaan = true; while (jatketaan) { luku = luku * luku; System.out.println(luku); luku++; }  Entä miten kauan ohjelman suoritus jatkuu?

ict1td002 - Copyright Raine Kauppinen 19 Luentoesimerkki 3.3 Tee ohjelma, joka tulostaa näytölle desimaaliluvut kymmenestä viiteenkymmeneen 0,5:n välein. Käytä while-lausetta. Talleta ratkaisusi tiedostoon Luvut.java.

ict1td002 - Copyright Raine Kauppinen 20 Toistolauseet while- ja do-while (3/3)  Toistolauseista do-while -lauseen rakenne on seuraava: do { // lauseet, joita toistetaan, kunnes // ehto on epätosi } while (ehto);  Tässä tapauksessa ehto testataan toiston jälkeen, joten toiston sisällä olevat lauseet suoritetaan ainakin kerran.  Myöhemmin opitaan vielä yksi toistorakenne, for-lause.

ict1td002 - Copyright Raine Kauppinen 21 Luentoesimerkki 3.4 Tee ohjelma, joka kysyy käyttäjältä kokonaislukuja, kunnes käyttäjä antaa luvuksi -1. Ohjelma tulostaa näytölle jokaisen luvun antamisen jälkeen ko. luvun neljännen potenssin. Käytä do-while-lausetta. Talleta ratkaisusi tiedostoon Lasku.java.