Tietotyypit ja lausekkeet. Lewis & Loftus & Jukka Juslin 1

Koko: px
Aloita esitys sivulta:

Download "Tietotyypit ja lausekkeet. Lewis & Loftus & Jukka Juslin 1"

Transkriptio

1 Tietotyypit ja lausekkeet Lewis & Loftus & Jukka Juslin 1

2 Tietotyypit Perustavaa laatua olevia ohjelmoinnin käsitteitä Luku 2 käsittelee seuraavia: Merkkijonot Primitiivitietotyypit (eli alkeistietotyypit) Muuttujien esittely ja käyttös Ilmaisut ja operaattoreiden presedenssi Tiedon muuttaminen tyypistä toiseen Syötteen lukeminen käyttäjältä Lewis & Loftus & Jukka Juslin 2

3 Missä ollaan? Merkkijonot Muuttujat ja sijoittaminen Primitiivitietotyypit Ilmaisut Tiedon konvertointi (kastaus) Interaktiiviset ohjelmat Lewis & Loftus & Jukka Juslin 3

4 Merkkijono eli String String on merkkijono: tälläinen jono esitetään laittamalla lainausmerkit tekstin ympärille: Esimerkkejä: Tämä on String literaali." Ratapihantie 13" Y" Jokainen String on olio, joka määritellään Javassa String luokassa Jokainen String literaali esittää String oliota Lewis & Loftus & Jukka Juslin 4

5 println metodi ja String Olemme jo aikaisemmin kutsuneet println metodia tulostaaksemme Stringin System.out olio esittää kohdetta, jonne voimme Stringin lähettää System.out.println ( Ole mikä tähansa, mutta ole hyvä."); olio metodin nimi informaatio metodille (parametrit), tässä tapauksessa String Lewis & Loftus & Jukka Juslin 5

6 print metodi System.out oliossa oli myös tapa tulostaa Stringejä toisella tavalla print metodi on sama kuin println metodi, mutta tulostus ei vaihda riviä \n merkin avulla lopuksi (ns. Backslash merkit tulosteen ohjauksessa) Lewis & Loftus & Jukka Juslin 6

7 Stringien konkatenointi String konkatenointioperaattori plusssaa (+) käytetään liittämään yhteen Stringiin toinen Yksi kahvi " + ja maitoa" Plus-operaattoria voidaan myös käyttää liittämään numero Stringiin Yhtä String literaalia ei voi voi hajoittaa kahdelle riville ohjelmassa Lewis & Loftus & Jukka Juslin 7

8 Stringien konkatenointi + operaattoria käytetään myös aritmeettiseen summaukseen (vrt ) Mikä funktio toimii missäkin yhteydessä riippuu siitä minkälaisella tiedolla sitä kutsutaan (tämä liittyy myös ylikuormitukseen, jota käsittelemme myöhemmin) Jos molemmat operandit ovat Stringejä tai jos yksi operandi on String ja toinen esim. Int + suorittaa String konkatenaation Jos molemmat operandit ovat numeerisia, Java lisää ne toisiinsa (esim. 1+1) + operaattori evaluoidaan vasemmalta oikealle, mutta sulkeita voidaan käyttää muuntelemaan evaluointijärjestystä (pakottaa muutos) Lewis & Loftus & Jukka Juslin 8

9 Escapet merkkijonoissa Mitä jos haluamme tulostaa lainausmerkin? Seuraava rivi hämäisi kääntäjää, sillä toinen lainausmerkki tulkittaisiiin Stringin lopuksi: System.out.println ( Sanoin Moro" sinulle."); Escape komento ilmaisee jonon merkkejä, jotka esittävät erikoismerkkejä Eskape komento aloitetaan aina kenoviivalla (backslash vrt. slash, vrt. usa näppäimistö) System.out.println ( Sanoin \ Moro\" sinulle."); Lewis & Loftus & Jukka Juslin 9

10 Escape merkit Joitain Java escape merkkejä: Escape merkit \b \t \n \r \" \' \\ Tarkoitus backspace tab uusi rivi rivin vaihto (carriage return) double quote single quote backslash Lewis & Loftus & Jukka Juslin 10

11 Missä ollaan? Merkkijonot Muuttujat ja sijoittaminen Primitiivitietotyypit Ilmaisut Tiedon muuttaminen (kastaus) Interaktiiviset ohjelmat Grafiikka Lewis & Loftus & Jukka Juslin 11

12 Muuttujat muuttuja (tästä käytetään joskus myös nimikettä attribuutti) on muistissa olevan muistipaikan nimi Muuttuja pitää esitellä määrittelemällä muuttujan nimi ja minkätyyppistä tietoa se tulee sisältämään tietotyyppi Muuttujan nimi int summa; int laskuri, temp, tulos; Useita muuttujia voidaan luoda yhdellä esittelyllä. (vrt. taulukot ja hashit myöhemmin) Lewis & Loftus & Jukka Juslin 12

13 Muuttujan alustus Muuttujien esittelyn yhteydessä muuttujalle voidaan antaa lähtöarvo int summa = 0; int aloitusarvo = 32, max = 149; Kun muuttujaan viitateen ohjelmasta, sen senhetkistä arvoa käytetään Lewis & Loftus & Jukka Juslin 13

14 Sijoitus sijoitusoperaatio muuttaa muuttujan arvoa Sijoitusoperaattori on = merkki (huomaa epäjohdonmukaisuus matematiikan kanssa, vrt. == myöhemmin) yht = 55; Ilmaisu oikealla evaluoidaan ja tulos talletetaan vasemman puolen muuttujaan Arvo, joka oli yht muuttujassa ylikirjoitetaan Voit sijoittaa muuttujaan vain sellaisia arvoja, jotka ovat samaa tyyppiä kuin muuttuja Lewis & Loftus & Jukka Juslin 14

15 Vakiot Vakio on tavallinen muuttuja muuten, paitsi että se sisältää saman arvon koko olemassaolonsa ajan Kuten nimi ilmoittaa, kyseessä on vakio ei muuttuja Kääntäjä antaa virheilmoituksen, jos koitat muuttaa vakion arvoa Javassa käytämme final sanaa esitellessämme vakion: final int MIN_HEIGHT = 69; Lewis & Loftus & Jukka Juslin 15

16 Vakiot Vakiot ovat tärkeitä kolmen syyn takia Ensinnäkin, ne antavat merkityksen muuten maagisille numeroille Esimerkiksi, MAX_LOAD kertoo enemmän kuin vain luvun 250 esiintyminen koodissa Toiseksi, vakiot helpottavat ohjelman ylläpidettävyyttä Vakion arvo täytyy päivittää vain yhteen kohtaan ohjelmaa, vaikka sitä käytettäisiinkin monesta eri paikasta käsin Kolmanneksi, vakiot formaalisti kertovat että ko. Muuttujan arvo ei saa muuttua: näin vältetään toisten ohjelmoijien tekemiä virheitä hekin ymmärtävät että ko. Arvo on tarkoitus pitää vakiona Lewis & Loftus & Jukka Juslin 16

17 Missä ollaan? Merkkijonot Muuttujat ja sijoittaminen Primitiivitietotyypit Ilmaisut Tiedon konvertointi (kastaus) Interaktiiviset ohjelmat Lewis & Loftus & Jukka Juslin 17

18 Alkeistietotyypit (primitiivityypit) Javassa on kahdeksan primitiivitietotyyppiä Neljä näistä esittää kokonaislukuja: byte, short, int, long Kaksi näistä esittää desimaalilukuja: float, double (erottimena. merkki pääsääntöisesti) Yksi esittää merkkejä: char Ja yksi esittää boolean arvoja (true/false): boolean Lewis & Loftus & Jukka Juslin 18

19 Numeerinen primitiivitieto Eri numeeristen pirimitiivityyppien välinen ero on koko ja siksi ne pystyvät tallettamaan erisuuruisia lukuja: Tyyppi Koko Minimiarvo Maksimiarvo byte short int long 8 bits 16 bits 32 bits 64 bits ,768-2,147,483,648 < -9 x ,767 2,147,483,647 > 9 x float double 32 bits 64 bits +/- 3.4 x ja 7 desimaalia +/- 1.7 x ja 15 desimaalia Lewis & Loftus & Jukka Juslin 19

20 Merkit char muuttujaan talletetaan yksi merkki Merkit esitetään alaspäin osoittavissa hipsuissa (single quotes): Esimerkkejä: 'a' 'X' '7' '$' ',' '\n' char topgrade = 'A'; char terminator = ';', separator = ' '; Huomaa ero primitiivi char-muuttujan, joka tallettaa vain yhden merkin, ja String olion, joka tallettaa useita merkkejä, välillä Lewis & Loftus & Jukka Juslin 20

21 Merkistöt merkistö on järjestetty lista merkkejä, jossa jokainen merkki vastaa uniikkia numeroa char muuttuja Javassa voi periaatteessa tallettaa minkä tahansa merkin Unicode merkistötä (ko. Merkin näyttäminen ja syöttäminen ei silti ole välttämättä niin helppoa ) Unicode merkistö käyttää kunkin merkin tallentamiseen 16 bittiä, joten kullekin merkille on mahdollista 65,536 erilaista arvoa Unicode on kansainvälinen merkistö, sisältäen symboleja ja merkkejä monista maailman kielistä Lewis & Loftus & Jukka Juslin 21

22 Merkit ASCII merkistö ion vanhempi ja pienempi kuin Unicode, mutta on silti melko suosittu (ASCII 7-bit vs. ASCII 8-bit) esim. Windowsissa ASCII merkit ovat osajoukko Unicode merkistöstä, kuten: isot kirjaimet A, B, C, pienet kirjaimet a, b, c, pisteet Piste, puolipiste, numerot 0, 1, 2, erikoissymbolit &,, \, kontrollimerkit car. return, rivinvaihto, tab,... Lewis & Loftus & Jukka Juslin 22

23 Boolean boolean arvo esittää true tai false tilannetta Varatut sanat true ja false ovat ainoat validit arvot boolean tyypille boolean tehty = false; boolean muuttujaa voidaan myös käyttää esittämään mitä tahansa kahta tilaa: kuten esimerkiksi onko hehkulamppu päällä vai pois päältä Lewis & Loftus & Jukka Juslin 23

24 Missä ollaan? Merkkijonot Muuttujat ja sijoittaminen Primitiivitietotyypit Ilmaisut Tiedon muuttaminen (kastaus) Interaktiiviset ohjelmat Lewis & Loftus & Jukka Juslin 24

25 Ilmaisut (laskutoimitukset) ilmaisu koostuu yhdestä tai monista operaattoreista ja operandeista Aritmeettinen ilmaisu laskee numeeriset tulokset ja käyttää hyväkseen aritmeettisia operaattoreita: summa erotus kertolasku jako jakojäännös + - * / % Jos jompikumpi tai molemmat operandeista ovat desimaalilukuja -> myös tulos on desimaaliluku Lewis & Loftus & Jukka Juslin 25

26 Jako ja jakojäännös Jos kummatkin operandit ovat jakolaskussa ovat kokonaislukuja -> tulos on myös kokonaisluku (desimaalit dropataan pois, ei pyöristetä) 14 / 3 on 8 / 12 on 4 0 Jakojäännös operaattori (%) palauttaa palauttaa jakojäännöksen koitettuaan laittaa toisen operandin ensimmäiseen operandiin 14 % 3 on 2 8 % 12 on 8 Lewis & Loftus & Jukka Juslin 26

27 Operaattorien presedenssi Operaattoreita voidaan yhdistellä monimutkaisemman funktion aikaansaamiseksi: result = total + count / max - offset; Operaattoreilla on presedenssi, mikä määrää missä järjestyksessä laskutoimitus evaluoidaan Kertolasku, jakolasku ja jakojäännös evaluoidaan ennen summaa, erotusta ja Stringien konkatenaatiota Aritmeettiset operaattorit, joilla on sama presedenssi evaluoidaan vasemmalta oikella, mutta sulkeita voidaan käyttää (edelleen kuten matematiikassa) pakottamaan evaluointijärjestys toisin (huom. Älä käytä hakasulkeita tässä yhteydessä) Lewis & Loftus & Jukka Juslin 27

28 Operaattorien presedenssi Mikä on seuraavien funktioiden evaluointijärjestys? a + b + c + d + e a + b * c - d / e a / (b + c) - d % e a / (b * (c + (d - e))) Lewis & Loftus & Jukka Juslin 28

29 Funktiopuut Puut ovat ohjelmoijalle tärkeät: hakemistopuut, tietorakenteet yms. Tietyn funktion evaluointi voidaan näyttää puun avulla Operaattoreilla alempana puussa on korkeampi presedenssi ko. Lauseessa. Puun purkaminen aloitettaisiin siis alarivistä + a + (b c) / d a / - d b c Lewis & Loftus & Jukka Juslin 29

30 Sijoituslauseet Sijoituslauseella on alempi presedenssi kuin aritmeettisilla operaattoreilla Ensin lause = operaattorin oikealla puolella evaluoidaan vast = sum / 4 + MAX * lowest; Lopuksi tulos talletetaan muuttujaan vasemmalla puolella Lewis & Loftus & Jukka Juslin 30

31 Sijoituslauseet Sijoituslauseen oikealle ja vasemmalla puolella voi olla sama muuttuja (HUOMAA, sijoituslause on aivan eri asia kuin matematiikan yhtäsuurikuin merkki -> Javassa vastaava on ==) Ensin, yksi lisätään luku-muuttujan alkuperäiseen arvoon luku = luku + 1; Lopuksi tulos talletetaan takaisin lukuun (alkuperäinen arvo ylikirjoitetaan) Lewis & Loftus & Jukka Juslin 31

32 Inkrementointi ja dekrementointi Inkrementointi ja dekrementointi operaattorit käyttävät vain yhtä operandia Inkrementointi operaattori (++) lisää yhden operandiinsa dekrementointi operaattori (--) vähentää yhden operandistaan Lause luku++; on siis aivan sama kuin (mutta lyhyempi kirjoittaa) luku = luku + 1; Lewis & Loftus & Jukka Juslin 32

33 Inkrementointi ja dekrementointi Inkrementointi ja dekrementointi operaattoreita voidaan käyttää joko postfix muodossa: tai prefix muodossa: count++ ++count Kun nämä ovat osana laajempaa lausetta, näillä kahdella voi olla erilaiset vaikutukset (postfix suorittaa laskutoimitukset ennen, ennenkuin tekee esim. Inkrementaation, muussa tapauksessa inkrementaatio tehdään heti -> for-silmukka myöhemmin) Koska inkrementointi ja dekrementointi operaattoreilla on omat erikoiset käyttäytymisensä niiden käytössä tulee olla aluksi kohtuullisen varovainen Lewis & Loftus & Jukka Juslin 33

34 Sijoitusoperaattorit Usein teemme operaation muuttujalle ja sitten talletamme ko. muuttuneen arvon muuttujan vanhan arvon päälle Java tarjoaa sijoitusoperaattorit yksinkertaistamaan tätä prosessia (lyhyempi kirjoittaa ) Esimerkiksi lause on sama kuin num += count; num = num + count; Lewis & Loftus & Jukka Juslin 34

35 Sijoitusoperaattorit Javassa on monia sijoitusoperaattoreita, mukaanlukien seuraavat: Operaattori += -= *= /= %= Esimerkki x += y x -= y x *= y x /= y x %= y On sama kuin x = x + y x = x - y x = x * y x = x / y x = x % y Lewis & Loftus & Jukka Juslin 35

36 Sijoitusoperaattorit Sijoitusoperaattorin oikea puoli voi olla monimutkainen lause Oikean puolen lause kokonaisudessaan evaluoidaan ensin, sitten tulos yhdistetään alkuperäiseen muuttujaan Siksi result /= (total-min) % num; on sama kuin result = result / ((total-min) % num); Lewis & Loftus & Jukka Juslin 36

37 Sijoitusoperaattorit Joiden sijoitusoperaattoreiden käyttäytyminen riippuu operandien tyypistä Jos += operaattorit operandit ovat Stringejä, sijoitusoperaatio suorittaa Stringien konkatenaation Sijoitusoperaation käyttäytyminen (+=) on aina konsistentti sitä vastaavaan operaattorin kanssa (+) Lewis & Loftus & Jukka Juslin 37

38 Missä ollaan? Merkkijonot Muuttujat ja sijoittaminen Primitiivitietotyypit Ilmaisut Tiedon konvertointi (kastaus) Interaktiiviset ohjelmat Lewis & Loftus & Jukka Juslin 38

39 Tiedon muuntaminen Joskus on tarpeen muuntaa tietoa tyypistä toiseen Esimerkiksi, tietyssä tilanteessa voimme haluta käsitellä kokonaislukua (integer) desimaalilukuna (floating point) Nämä konversiot eivät muuta muuttujan tyyppiä tai siinä pidettyä arvoa ne ainoastaan muuntavat arvon osana laskutoimitusta Lewis & Loftus & Jukka Juslin 39

40 Tiedon konversio Konversiotilanteissa pitää olla varovainen, jotta vältyttäisiin tiedon hukkaamiselta Avartavia konversiot ovat turvallisia, sillä niissä tarkennetaan pienen tietotyypin esitystä suuremmaksi (kuten short:sta int:iin) Kaventavissa konversioissa voidaan hukata informaatiota, sillä niissä mennään suuremmasta tietotyypistä pienempään (kuten int:stä short:iin) Javassa konversiot voivat tapahtua jollakin seuraavasta kolmesta tavasta: sijoituksen tyyppimuunnos promootio kastaus (tyyppimuunnos) Lewis & Loftus & Jukka Juslin 40

41 Sijoituksen tyyppimuunnos Sijoituksen tyyppimuunnos tapahtuu kun yhden tyyppienn muuttuja sijoitetaan toisentyyppiseen muuttujaan Jos money on float muuttuja ja dollars on int muuttuja, seuraava sijoituslause muuntaa dollars muuttujassa olevan arvon float:ksi. money = dollars Vain avartavia muunnoksia voi tapahtua sijoituksessa Huomaa, että dollars muuttujassa olevan arvon tyyppi ei muuttunut Lewis & Loftus & Jukka Juslin 41

42 Tiedon muuntaminen Promootio tapahtuu automaattisesti, kun operaattorit muuntavat operandinsa Esimerkiksi, jos sum on float ja count on int, count:n arvo muutetaan automaattisesti desimaaliluvuksi (float), jotta seuraava laskutoimitus voidaan suorittaa: result = sum / count; Lewis & Loftus & Jukka Juslin 42

43 Kastaus (casting, eli tyyppimuunnos) Kastaus on voimakkain, ja vaarallisiin muunnoskeino Sekä laajentavia että supistavia tyyppimuunnoksia voisaan tehdä kastauksen avulla Kastaus tapahtuu laittamalla haluttu tyyppi sulkeisiin muutettavaksi halutun arvon eteen Esimerkiksi, jos total ja count ovat kokonaislukuja, mutta haluamme vastauksen desimaalilukuna, voimme kastata total muuttujan: result = (float) total / count; Lewis & Loftus & Jukka Juslin 43

44 Missä ollaan? Merkkijonot Muuttujat ja sijoittaminen Primitiivitietotyypit Ilmaisut Tiedon muuttaminen (kastaus) Interaktiiviset ohjelmat Lewis & Loftus & Jukka Juslin 44

45 Interaktiivinen ohjelma Ohjelmat tarvitsevat syötettä (inputtia), jonka perusteella toimia Scanner luokka tarjoaa helppokäyttöiset metodit lukea erityyppisiä syötteitä (numeroita tai tekstiä yms.) Scanner olio voidaan asettaa lukemaan syötettä useista lähteistä, mukaanlukien käyttäjän mahdollisuus syöttää tietoa näppäimistöltä Näppäimistön syöte esitetään System.in olion avulla Lewis & Loftus & Jukka Juslin 45

46 Syötteen lukeminen Seuraava rivi luo Scanner olion, joka ottaa syötettä vastaan näppäimistöltä: Scanner scan = new Scanner (System.in); new operaattori luo Scanner olion Kun luotu, Scanner oliota voidaan käyttää kutsumaan erityyppisiä input metodeita, kuten: vastausstringi = scan.nextline(); Lewis & Loftus & Jukka Juslin 46

47 Syötteen lukeminen Scanner luokka on osa java.util luokkakirjastoa, ja ko. Luokka pitää importata ohjelmaan, jotta sitä voidaan käyttää import java.util.scanner; nextline metodi lukee kaiken syötteen, kunnes rivinvaihto havaitaan Olion luomisen ja luokkakirjastojen yksityiskohtia valotetaan luvussa Lewis & Loftus & Jukka Juslin 47

48 Sanasyöte (tokens) Jollei muuten ilmoiteta, tyhjä tila ymmärretään sanojen, elementtien (tokenien) erottimena. Huomaa, että Java ei voi ymmärtää käsitettä sana, se näkee vain erilaisia merkkijonoja Tyhjä tila voi olla välilyönte(jä), tabeja tai rivinvaihtoja next metodi Scanner luokassa lukee lukee seuravaavan input tokenin ja palauttaa sen Stringinä Metodit kuten nextint ja nextdouble lukevat ko. Tyypin mukaista tietoa (ja palauttavat ko. Tyypin mukaista tietoa) Lewis & Loftus & Jukka Juslin 48

49 Missä ollaan? Merkkijonot Muuttujat ja sijoittaminen Primitiivitietotyypit Ilmaisut Tiedon muuttaminen (kastaus) Interaktiiviset ohjelmat Lewis & Loftus & Jukka Juslin 49

50 Yhteenveto Luvussa kaksi keskityimme seuraaviin: Merkkijonot Primitiivitietotyypit Muuttujien esittely ja käyttö Lauseet ja operaattoreiden presedenssi Tiedon konversiot Syötteen vastaanottaminen käyttäjältä Lewis & Loftus & Jukka Juslin 50

Java-kielen perusteet

Java-kielen perusteet Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, Vakio Tiedon merkkipohjainen tulostaminen Ohjelmointi (ict1tx006) Tunnus (5.3) Javan tunnus Java-kirjain Java-numero

Lisätiedot

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4)

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4) 2. Lisää Java-ohjelmoinnin alkeita Muuttuja ja viittausmuuttuja Vakio ja literaalivakio Sijoituslause Syötteen lukeminen ja Scanner-luokka 1 Muuttuja ja viittausmuuttuja (1/4) Edellä mainittiin, että String-tietotyyppi

Lisätiedot

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

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti: 1 (7) Tiedon lukeminen näppäimistöltä Scanner-luokan avulla Miten ohjelma saa käyttöönsä käyttäjän kirjoittamaa tekstiä? Järjestelmässä on olemassa ns. syöttöpuskuri näppäimistöä varten. Syöttöpuskuri

Lisätiedot

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

Javan perusteet. Ohjelman tehtävät: tietojen syöttö, lukeminen prosessointi, halutun informaation tulostaminen tulostus tiedon varastointi 1 Javan perusteet Ohjelmointi IPO-malli Java lähdekoodista suoritettavaksi ohjelmaksi Vakio Muuttuja Miten Javalla näytetään tietoa käyttäjälle, miten Javalla luetaan käyttäjän antama syöte Miten Javalla

Lisätiedot

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia. Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-ympäristö Java-ohjelma ja ohjelmaluokka

Lisätiedot

Java-kielen perusteita

Java-kielen perusteita Java-kielen perusteita Käyttäjän kanssa keskusteleva ohjelma 1 Kirjoittaminen konsolinäkymään //Java ohjelma, joka tulostaa konsoli-ikkunaan public class HeiMaailma { public void aja() { // kirjoitus ja

Lisätiedot

Taulukot. Jukka Harju, Jukka Juslin 2006 1

Taulukot. Jukka Harju, Jukka Juslin 2006 1 Taulukot Jukka Harju, Jukka Juslin 2006 1 Taulukot Taulukot ovat olioita, jotka auttavat organisoimaan suuria määriä tietoa. Käsittelylistalla on: Taulukon tekeminen ja käyttö Rajojen tarkastus ja kapasiteetti

Lisätiedot

Tietotyypit ja operaattorit

Tietotyypit ja operaattorit Tietotyypit ja operaattorit Luennossa tarkastellaan yksinkertaisten tietotyyppien int, double ja char muunnoksia tyypistä toiseen sekä esitellään uusia operaatioita. Numeeriset tietotyypit ja muunnos Merkkitieto

Lisätiedot

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

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++? JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: http://java.sun.com/docs/books/tutorial/index.html Vesterholm, Kyppö: Java-ohjelmointi,

Lisätiedot

Java-kielen perusteet

Java-kielen perusteet Java-kielen perusteet String-merkkijonoluokka 1 Ohjelmointikielten merkkijonot Merkkijonot ja niiden käsittely on välttämätöntä ohjelmoinnissa Valitettavasti ohjelmointikielten tekijät eivät tätä ole ottaneet

Lisätiedot

Java-kielen perusteita

Java-kielen perusteita Java-kielen perusteita valintalauseet 1 Johdantoa kontrollirakenteisiin Tähän saakka ohjelmissa on ollut vain peräkkäisyyttä eli lauseet on suoritettu peräkkäin yksi kerrallaan Tarvitsemme myös valintaa

Lisätiedot

Ehto- ja toistolauseet

Ehto- ja toistolauseet Ehto- ja toistolauseet 1 Ehto- ja toistolauseet Uutena asiana opetellaan ohjelmointilauseet / rakenteet, jotka mahdollistavat: Päätösten tekemisen ohjelman suorituksen aikana (esim. kyllä/ei) Samoja lauseiden

Lisätiedot

Java-kielen perusteet

Java-kielen perusteet 2 Java-kielen perusteet Tämän osan sisältö Syntaksi Ohjelma, luokka, metodi Tunnukset, muuttujat ja tyypit esittely, alustaminen, näkyvyyssäännöt Syöttö ja tulostus Metodit määrittely, kutsu, parametrit,

Lisätiedot

Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes)

Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes) Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes) Kääreluokista Javan alkeistietotyypit ja vastaavat kääreluokat Autoboxing Integer-luokka Double-luokka Kääreluokista Alkeistietotyyppiset muuttujat (esimerkiksi

Lisätiedot

Metodien tekeminen Javalla

Metodien tekeminen Javalla 1 Metodien tekeminen Javalla Mikä metodi on? Metodin syntaksi Metodi ja sen kutsuminen Parametreista Merkkijonot ja metodi Taulukot ja metodi 1 Mikä metodi on? Metodilla toteutetaan luokkaan toiminnallisuutta.

Lisätiedot

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4 Sisällys 12. Näppäimistöltä lukeminen Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä.. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit. Scanner-luokka.

Lisätiedot

Ohjausjärjestelmien jatkokurssi. Visual Basic vinkkejä ohjelmointiin

Ohjausjärjestelmien jatkokurssi. Visual Basic vinkkejä ohjelmointiin Ohjausjärjestelmien jatkokurssi Visual Basic vinkkejä ohjelmointiin http://www.techsoft.fi/oskillaattoripiirit.htm http://www.mol.fi/paikat/job.do?lang=fi&jobid=7852109&index=240&anchor=7852109 Yksiköt

Lisätiedot

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

Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin. 2. Ohjausrakenteet Ohjausrakenteiden avulla ohjataan ohjelman suoritusta. peräkkäisyys valinta toisto Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet

Lisätiedot

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

812341A Olio-ohjelmointi, 2016. Olio-ohjelmoinnin peruskäsitteet ja Java-kieli 812341A Olio-ohjelmointi, 2016 Olio-ohjelmoinnin peruskäsitteet ja Java-kieli Sisältö 1. Java-kieli 2. Luokka 3. Luokkakaaviot 4. Lisää Javaa Javalla 2 Java-kieli n Sun Microsystems tutkimusprojekti 1991

Lisätiedot

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

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen Metodit Metodien määrittely Metodin parametrit ja paluuarvo Metodien suorittaminen eli kutsuminen Metodien kuormittaminen 1 Mikä on metodi? Metodi on luokan sisällä oleva yhteenkuuluvien toimintojen kokonaisuus

Lisätiedot

1. Algoritmi 1.1 Sisällys Algoritmin määritelmä. Aiheen pariin johdatteleva esimerkki. Muuttujat ja operaatiot (sijoitus, aritmetiikka ja vertailu). Algoritmista ohjelmaksi. 1.2 Algoritmin määritelmä Ohjelmointi

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 15.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.2.2010 1 / 46 Merkkijonot Merkkijonojen avulla ohjelmassa voi esittää tekstitietoa, esim. nimiä, osoitteita ja

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 28.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 28.2.2011 1 / 46 Ohjelmointiprojektin vaiheet 1. Määrittely 2. Ohjelman suunnittelu (ohjelman rakenne ja ohjelman

Lisätiedot

etunimi, sukunimi ja opiskelijanumero ja näillä

etunimi, sukunimi ja opiskelijanumero ja näillä Sisällys 1. Algoritmi Algoritmin määritelmä. Aiheen pariin johdatteleva esimerkki. ja operaatiot (sijoitus, aritmetiikka ja vertailu). Algoritmista ohjelmaksi. 1.1 1.2 Algoritmin määritelmä Ohjelmointi

Lisätiedot

Olio-ohjelmointi Javalla

Olio-ohjelmointi Javalla 1 Olio-ohjelmointi Javalla Olio-ohjelmointi Luokka Attribuutit Konstruktori Olion luominen Metodit Olion kopiointi Staattinen attribuutti ja metodi Yksinkertainen ohjelmaluokka Ohjelmaluokka 1 Olio-ohjelmointi

Lisätiedot

C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa.

C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa. Taulukot C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa. Taulukon muuttujilla (muistipaikoilla) on yhteinen nimi. Jokaiseen yksittäiseen

Lisätiedot

AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin

AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin Raimo Nikkilä Aalto-yliopiston sähkötekniikan korkeakoulu - Automaation tietotekniikan tutkimusryhmä 17. tammikuuta 2013

Lisätiedot

815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset

815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset Harjoituksen aiheena ovat aliohjelmat ja abstraktit tietotyypit sekä olio-ohjelmointi. Tehtävät tehdään C-, C++- ja Java-kielillä.

Lisätiedot

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen päivämäärä, oma nimi ja opiskelijanumero. Vastaa kaikkiin tehtäviin omille konsepteilleen.

Lisätiedot

Johdatus Ohjelmointiin

Johdatus Ohjelmointiin Johdatus Ohjelmointiin Syksy 2006 Viikko 2 13.9. - 14.9. Tällä viikolla käsiteltävät asiat Peruskäsitteitä Kiintoarvot Tiedon tulostus Yksinkertaiset laskutoimitukset Muuttujat Tiedon syöttäminen Hyvin

Lisätiedot

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen Taulukot: Array Taulukko Javassa pitää aina perustaa (new) Yksinkertaisessa tilanteessa taulukon koko tiedetään etukäteen ja

Lisätiedot

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa();

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa(); Sisällys 7. Oliot ja viitteet Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen. Viitteiden käsittelyä: sijoitus, vertailu ja varautuminen null-arvoon. Viite metodin paluuarvona.. 7.1 7.2 Olio

Lisätiedot

Java-kielen perusteita

Java-kielen perusteita Java-kielen perusteita Toistorakenne (while, do-while, for) 1 While- lause while-lauseen rakenne on seuraava: while (ehtolauseke) lause Kun ehtolausekkeen arvo on totta, lause suoritetaan. Lause suoritetaan

Lisätiedot

13 Operaattoreiden ylimäärittelyjä

13 Operaattoreiden ylimäärittelyjä 248 13 C++-kielessä voidaan operaattoreita ylimäärittää. Ylimääriteltävää operaattoria voidaan pitää ikäänkuin metodina, joka esitellään luokan esittelyssä ja määritellään luokan ulkopuolella kuten metoditkin.

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 16.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 16.2.2010 1 / 41 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti

Lisätiedot

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

Lauseet. Ehdollinen lause. Tämän osan sisältö. Ehdollinen lause. Esimerkkejä. Yksinkertainen ehto. Lohkosulut ja sisennys. Ehdollinen lause if 3 Lauseet Lue kirjasta s. 54-84 Tämän osan sisältö Ehdollinen lause if Looginen lauseke vertailut AND-operaattori &&, & OR-operaattori, NOT-operaattori! Valintalause switch Toistolauseet while for do while

Lisätiedot

Taulukot. Taulukon määrittely ja käyttö. Taulukko metodin parametrina. Taulukon sisällön kopiointi toiseen taulukkoon. Taulukon lajittelu

Taulukot. Taulukon määrittely ja käyttö. Taulukko metodin parametrina. Taulukon sisällön kopiointi toiseen taulukkoon. Taulukon lajittelu Taulukot Taulukon määrittely ja käyttö Taulukko metodin parametrina Taulukon sisällön kopiointi toiseen taulukkoon Taulukon lajittelu esimerkki 2-ulottoisesta taulukosta 1 Mikä on taulukko? Taulukko on

Lisätiedot

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python 8. marraskuuta 2010 Ohjelmointi Perusteet Peruskäsitteitä Olio-ohjelmointi Pythonin alkeet Esittely Esimerkkejä Muuttujat

Lisätiedot

Java kahdessa tunnissa. Jyry Suvilehto

Java kahdessa tunnissa. Jyry Suvilehto Java kahdessa tunnissa Jyry Suvilehto Ohjelma Ohjelmointiasioita alkeista nippelitietoon n. 45 min Tauko 10 min Oliot, luokat ja muut kummajaiset n. 45 min Kysykää Sisältöä ei oikeasti ole 2x45 min täytteeksi,

Lisätiedot

C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. Operaatioiden suoritusjärjestys

C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. Operaatioiden suoritusjärjestys Loogisia operaatioita - esimerkkejä Tänään on lämmin päivä ja perjantai Eilen satoi ja oli keskiviikko tai tänään on tiistai. On perjantai ja kello on yli 13 Ei ole tiistai tai ei sada. Ei pidä paikkaansa,

Lisätiedot

Taulukot, silmukat ja muut joka koodin pikku veijarit

Taulukot, silmukat ja muut joka koodin pikku veijarit Taulukot, silmukat ja muut joka koodin pikku veijarit Janne Käki 7.9.6 MERKKI liikenne jono METRI para laku MOGARI ATRI psyki buutti ESINE pelottelu ellistäminen runsauden kuono TUNTI SARVI kusi assistentti

Lisätiedot

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

Vertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004 Vertailulauseet Ehtolausekkeet Ehdot, valintalausekkeet Boolean-algebra == yhtäsuuruus!= erisuuruus < pienempi suurempi >= suurempi tai yhtäsuuri Esimerkkejä: int i=7; int j=10;

Lisätiedot

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python 31. tammikuuta 2009 Ohjelmointi Perusteet Pythonin alkeet Esittely Esimerkkejä Muuttujat Peruskäsitteitä Käsittely

Lisätiedot

815338A Ohjelmointikielten periaatteet 2014-2015

815338A Ohjelmointikielten periaatteet 2014-2015 815338A Ohjelmointikielten periaatteet 2014-2015 IV.2 Imperatiivinen ohjelmointi lauseet ja lausekkeet Sisältö 1. Yleistä lausekkeista 2. Presedenssi- ja assosiaatiosäännöt 3. Tyyppimuunnokset 4. Vertailulausekkeet

Lisätiedot

C-kieli mahdollistaa hyvin tiiviin ja samalla sekavan tavan esittää asioita, kuitenkin hyvän ohjelman tulisi olla mahdollisimman helppolukuinen ja

C-kieli mahdollistaa hyvin tiiviin ja samalla sekavan tavan esittää asioita, kuitenkin hyvän ohjelman tulisi olla mahdollisimman helppolukuinen ja 1. C-kieli yleiskäyttöinen ohjelmointikieli, standardoitu 1990. siirrettävä laiteläheinen pieni ydin, monimutkaiset kokonaisuudet rakennetaan aliohjelmakirjastojen avulla. direktiivit ja esikääntäjien

Lisätiedot

Rajapinta (interface)

Rajapinta (interface) 1 Rajapinta (interface) Mikä rajapinta on? Rajapinta ja siitä toteutettu luokka Monimuotoisuus ja dynaaminen sidonta Rajapinta vs periytyminen 1 Mikä rajapinta on? Rajapintoja käytetään, kun halutaan määritellä

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 1.4.2009 T-106.1208 Ohjelmoinnin perusteet Y 1.4.2009 1 / 56 Tentti Ensimmäinen tenttimahdollisuus on pe 8.5. klo 13:00 17:00 päärakennuksessa. Tämän jälkeen

Lisätiedot

Osoitin ja viittaus C++:ssa

Osoitin ja viittaus C++:ssa Osoitin ja viittaus C++:ssa Osoitin yksinkertaiseen tietotyyppiin Osoitin on muuttuja, joka sisältää jonkin toisen samantyyppisen muuttujan osoitteen. Ohessa on esimerkkiohjelma, jossa määritellään kokonaislukumuuttuja

Lisätiedot

Osoittimet. Mikä on osoitin?

Osoittimet. Mikä on osoitin? Osoittimet 7 Osoittimet On aika siirtyä käsittelemään osoittimia, C++:lle elintärkeätä ominaisuutta. Osoittimet ovat tärkeitä, koska ne luovat perustan muistin dynaamiselle varaukselle ja käytölle. Ne

Lisätiedot

Taulukot. Taulukon käsittely. Tämän osan sisältö. Esimerkki. Taulukon esittely ja luonti. Taulukon alustaminen. Taulukon koko

Taulukot. Taulukon käsittely. Tämän osan sisältö. Esimerkki. Taulukon esittely ja luonti. Taulukon alustaminen. Taulukon koko 5 Taulukot Tämän osan sisältö Taulukon esittely ja luonti Taulukon alustaminen Taulukon koko Taulukon käsittely indeksointi peräkkäiskäsittely hajakäsittely harva taulukko Taulukon järjestäminen Kaksiulotteinen

Lisätiedot

JAVA-OHJELMOINNIN PERUSTEET. Sisältö 1. JAVA OHJELMOINTI... 2 2. LÄHTEITÄ... 19 3. HARJOITUKSET... 20 4. MUUTAMA MALLIRATKAISU...

JAVA-OHJELMOINNIN PERUSTEET. Sisältö 1. JAVA OHJELMOINTI... 2 2. LÄHTEITÄ... 19 3. HARJOITUKSET... 20 4. MUUTAMA MALLIRATKAISU... 1 JAVA-OHJELMOINNIN PERUSTEET Sisältö 1. JAVA OHJELMOINTI... 2 2. LÄHTEITÄ... 19 3. HARJOITUKSET... 20 4. MUUTAMA MALLIRATKAISU... 27 2 1. JAVA OHJELMOINTI Kurssin tavoite ensimmäinen ohjelmointikurssi

Lisätiedot

1. luento. Ohjelmointi (C) T0004 Syksy 2003. 1. luento. 1. luento. 1. luento. 1. luento. kurssin sisältö ja tavoitteet työmuodot.

1. luento. Ohjelmointi (C) T0004 Syksy 2003. 1. luento. 1. luento. 1. luento. 1. luento. kurssin sisältö ja tavoitteet työmuodot. EVTEK Teknillinen ammattikorkeakoulu Ohjelmointi (C) T0004 Syksy 2003 Olli Hämäläinen kurssin sisältö ja tavoitteet työmuodot luennot 1-2/2003 laboratorioharjoitukset 1-2/2003 kotitehtävät, laboratoriokerrat

Lisätiedot

Harjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

Harjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: Harjoitus 7 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: class Lintu //Kentät private int _siivenpituus; protected double _aivojenkoko; private bool _osaakolentaa; //Ominaisuudet public int

Lisätiedot

Merkkien ja merkkijonojen käsittelyä Javalla

Merkkien ja merkkijonojen käsittelyä Javalla 1 Merkkien ja merkkijonojen käsittelyä Javalla char String Merkkijonon lukeminen käyttäjältä String-luokan metodeja matches-metodi ja esimerkkejä säännöllisistä lausekkeista (engl. regular expressions)

Lisätiedot

Merkkijono määritellään kuten muutkin taulukot, mutta tilaa on varattava yksi ylimääräinen paikka lopetusmerkille:

Merkkijono määritellään kuten muutkin taulukot, mutta tilaa on varattava yksi ylimääräinen paikka lopetusmerkille: Merkkijonot C-kielessä merkkijono on taulukko, jonka alkiot ovat char -tyyppiä. Taulukon viimeiseksi merkiksi tulee merkki '\0', joka ilmaisee merkkijonon loppumisen. Merkkijono määritellään kuten muutkin

Lisätiedot

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

Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä Sisällys 11. Javan toistorakenteet Laskuri- ja lippumuuttujat.. Tyypillisiä ohjelmointivirheitä: Silmukan rajat asetettu kierroksen verran väärin. Ikuinen silmukka. Silmukoinnin lopettaminen break-lauseella.

Lisätiedot

Osio2, olio-ohjelmointi: Luokkien ja olioiden käyttäminen Jukka Juslin

Osio2, olio-ohjelmointi: Luokkien ja olioiden käyttäminen Jukka Juslin Osio2, olio-ohjelmointi: Luokkien ja olioiden käyttäminen Jukka Juslin Jukka Juslin 1 Luokkien ja olioiden käyttäminen Voimme luoda mielenkiintoisia ohjelmia käyttämällä Java API:sta jo löytyviä luokkia

Lisätiedot

Ohjelmoinnin perusteet Pythonilla. Teemu Sirkiä, 2015

Ohjelmoinnin perusteet Pythonilla. Teemu Sirkiä, 2015 Ohjelmoinnin perusteet Pythonilla Teemu Sirkiä, 2015 Päivitetty 16.9.2015 Yleistä Materiaali sisältää lähinnä Aalto-yliopiston Ohjelmoinnin peruskurssi Y1:n harjoitustehtävissä tarvittavia keskeisiä asioita

Lisätiedot

Tietueet. Tietueiden määrittely

Tietueet. Tietueiden määrittely Tietueet Tietueiden määrittely Tietue on tietorakenne, joka kokoaa yhteen eri tyyppistä tietoa yhdeksi asiakokonaisuudeksi. Tähän kokonaisuuteen voidaan viitata yhteisellä nimellä. Auttaa ohjelmoijaa järjestelemään

Lisätiedot

Informaatioteknologian laitos Olio-ohjelmoinnin perusteet / Salo 15.2.2006

Informaatioteknologian laitos Olio-ohjelmoinnin perusteet / Salo 15.2.2006 TURUN YLIOPISTO DEMO III Informaatioteknologian laitos tehtävät Olio-ohjelmoinnin perusteet / Salo 15.2.2006 1. Tässä tehtävässä tarkastellaan erääntyviä laskuja. Lasku muodostaa oman luokkansa. Laskussa

Lisätiedot

Muuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency, Date, Object, String, Variant (oletus)

Muuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency, Date, Object, String, Variant (oletus) VISUAL BASIC OHJEITA Kutsuttava ohjelma alkaa kometoparilla Sub... End Sub Sub ohjelmanimi()...koodia... End Sub Muuttujat Muuttujan esittely Muuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency,

Lisätiedot

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Tietorakenneluokkia 2: HashMap, TreeMap

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Tietorakenneluokkia 2: HashMap, TreeMap Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Tietorakenneluokkia 2: HashMap, TreeMap Tietorakenneluokkia ja -rajapintoja Java tarjoaa laajan kokoelman tietorakennerajapintoja ja - luokkia. Aiemmin

Lisätiedot

Kielioppia: toisin kuin Javassa

Kielioppia: toisin kuin Javassa Object Pascal Pascal kielen oliolaajennus (Inprise/Borland:n oma) luokat Voit uudelleenkäyttää luomiasi objekteja esim. komponentteja Periytyminen Kielioppia: toisin kuin Javassa Ei eroa isojen ja pienien

Lisätiedot

Kappale 20: Kantaluvut

Kappale 20: Kantaluvut Kappale 20: Kantaluvut 20 Johdanto: Kantaluvut... 328 Kantalukujen syöttäminen ja muuntaminen... 329 Matemaattiset toiminnot Hex- ja Bin-luvuilla... 330 Bittien vertaileminen ja manipulointi... 331 Huom!

Lisätiedot

KAAVAT. Sisällysluettelo

KAAVAT. Sisällysluettelo Excel 2013 Kaavat Sisällysluettelo KAAVAT KAAVAT... 1 Kaavan tekeminen... 2 Kaavan tekeminen osoittamalla... 2 Kaavan kopioiminen... 3 Kaavan kirjoittaminen... 3 Summa-funktion lisääminen... 4 Suorat eli

Lisätiedot

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

Sisällys. 19. Olio-ohjelmointia Javalla. Yleistä. Olioiden esittely ja alustus Sisällys 19. Olio-ohjelmointia Javalla Olioiden esittely ja alustus. Metodit Yleistä metodeista. Mihin metodeja tarvitaan? Metodien määrittely. Omat metodit: nimeäminen, paikka, kutsuminen, parametrit

Lisätiedot

2. Olio-ohjelmoinista lyhyesti 2.1

2. Olio-ohjelmoinista lyhyesti 2.1 2. Olio-ohjelmoinista lyhyesti 2.1 Sisällys Yleistä. Oliot ja luokat. Attribuutit. Olioiden esittely ja alustus. Rakentajat. Olion operaation kutsuminen. 2.2 Yleistä Olio-ohjelmointia käsitellään hyvin

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2011 1 / 39 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle

Lisätiedot

1. Ohjelmoinnin perusteet, kesä 2012... 2 1.1 Aloittaminen... 2 1.2 Tulostaminen... 6 1.3 Muuttujat... 8 1.4 if-rakenne... 12 1.5 Metodit... 15 1.

1. Ohjelmoinnin perusteet, kesä 2012... 2 1.1 Aloittaminen... 2 1.2 Tulostaminen... 6 1.3 Muuttujat... 8 1.4 if-rakenne... 12 1.5 Metodit... 15 1. 1. Ohjelmoinnin perusteet, kesä 2012.......................................................................... 2 1.1 Aloittaminen........................................................................................

Lisätiedot

8.1 Murtoluvun määritelmä - murtoluvulla tarkoitetaan aina osaa (osia) jostakin kokonaisuudesta

8.1 Murtoluvun määritelmä - murtoluvulla tarkoitetaan aina osaa (osia) jostakin kokonaisuudesta 8. Murtoluvun määritelmä - murtoluvulla tarkoitetaan aina osaa (osia) jostakin kokonaisuudesta - oheisessa kuvassa ympyrä on jaettu kolmeen yhtä suureen osaan, joista kukin osa on yksi kolmasosa koko ympyrästä

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 24.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 24.1.2011 1 / 36 Luentopalaute kännykällä alkaa tänään! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 15.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.3.2010 1 / 56 Tiedostoista: tietojen tallentaminen ohjelman suorituskertojen välillä Monissa sovelluksissa ohjelman

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 14.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 14.2.2011 1 / 55 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.2.2011 1 / 37 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti

Lisätiedot

Valitse ruudun yläosassa oleva painike Download Scilab.

Valitse ruudun yläosassa oleva painike Download Scilab. Luku 1 Ohjeita ohjelmiston Scilab käyttöön 1.1 Ohjelmiston lataaminen Ohjeet ohjelmiston lataamiseen Windows-koneelle. Mene verkko-osoitteeseen www.scilab.org. Valitse ruudun yläosassa oleva painike Download

Lisätiedot

Muistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö C-ohjelmassa

Muistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö C-ohjelmassa ssa ohjelman käytössä suoritusaikana oleva muisti jakautuu neljään osaan: koodisegmentti datasegmentti pinosegmentti (stack) kasa (heap) ssa ohjelman koodisegmentti sisältää käännetyn ohjelmakoodin sisältö

Lisätiedot

LUKU 5 MUUTTUJAT JA MUUT JAVA-OHJELMIEN PERUSELEMENTIT. import java.util.* ;

LUKU 5 MUUTTUJAT JA MUUT JAVA-OHJELMIEN PERUSELEMENTIT. import java.util.* ; LUKU 5 MUUTTUJAT JA MUUT JAVA-OHJELMIEN PERUSELEMENTIT Nyt, lopultakin, aloitamme tietokoneohjelmoinnin opiskelun Java-ohjelmointikielellä. Muuttujat ovat oleellisia elementtejä tietokoneohjelmissa. Niitä

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 30.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 30.9.2015 1 / 27 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 9.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 9.2.2009 1 / 35 Listat Esimerkki: halutaan kirjoittaa ohjelma, joka lukee käyttäjältä 30 lämpötilaa. Kun lämpötilat

Lisätiedot

Ohjelmointi Tunnilla 1 (5) 13.10.2014. Viikko 7 tuntitehtäviä: metodien tekeminen Javalla

Ohjelmointi Tunnilla 1 (5) 13.10.2014. Viikko 7 tuntitehtäviä: metodien tekeminen Javalla 1 (5) Viikko 7 tuntitehtäviä: metodien tekeminen Javalla 1. Tee ohjelma (kalvoesimerkkinä), joka kysyy asunnon myyntihinnan ja laskee asunnon myynnistä maksettavan välityspalkkion. Välityspalkkion on 3,44%

Lisätiedot

Metodien tekeminen Javalla

Metodien tekeminen Javalla 1 Metodien tekeminen Javalla Mikä metodi on? Metodin syntaksi Metodi ja sen kutsuminen Parametreista Merkkijonot ja metodi Taulukot ja metodi 1 Mikä metodi on? Metodilla toteutetaan luokkaan toiminnallisuutta.

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 25.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 25.2.2009 1 / 34 Syötteessä useita lukuja samalla rivillä Seuraavassa esimerkissä käyttäjä antaa useita lukuja samalla

Lisätiedot

VIII. Osa. Liitteet. Liitteet Suoritusjärjestys Varatut sanat Binääri- ja heksamuoto

VIII. Osa. Liitteet. Liitteet Suoritusjärjestys Varatut sanat Binääri- ja heksamuoto Osa VIII Liitteet Liitteet A B C Suoritusjärjestys Varatut sanat Binääri- ja heksamuoto Osa VIII A. Liite Operaattoreiden suoritusjärjestys On tärkeää ymmärtää, että operaattoreilla on prioriteettinsa,

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 26.1.2009 T-106.1208 Ohjelmoinnin perusteet Y 26.1.2009 1 / 33 Valintakäsky if syote = raw_input("kerro tenttipisteesi.\n") pisteet = int(syote) if pisteet >=

Lisätiedot

Listarakenne (ArrayList-luokka)

Listarakenne (ArrayList-luokka) Listarakenne (ArrayList-luokka) Mikä on lista? Listan määrittely ArrayList-luokan metodeita Listan läpikäynti Listan läpikäynti indeksin avulla Listan läpikäynti iteraattorin avulla Listaan lisääminen

Lisätiedot

Sisältö Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko metodin parametrina. Taulukko ja HelloWorld-ohjelma. Ta

Sisältö Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko metodin parametrina. Taulukko ja HelloWorld-ohjelma. Ta 22. Taulukot 22.1 Sisältö Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko metodin parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 22.2 Yleistä

Lisätiedot

TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD)

TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD) TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD) Ohjelmointikäytännöt 21/3/11 Mikko Vuorinen Metropolia Ammattikorkeakoulu 1 Sisältö 1) Mitä on hyvä koodi? 2) Ohjelmointikäytäntöjen merkitys? 3) Koodin asettelu

Lisätiedot

6/20: Tietorakenteita

6/20: Tietorakenteita Ohjelmointi 1 / syksy 2007 6/20: Tietorakenteita Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/20 Opelta lähti

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 3.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 3.2.2010 1 / 36 Esimerkki: asunnon välityspalkkio Kirjoitetaan ohjelma, joka laskee kiinteistönvälittäjän asunnon

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 7.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 7.2.2011 1 / 39 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti

Lisätiedot

PHP tehtävä 3 Atte Pekarinen TIKT13A 4.12.2014

PHP tehtävä 3 Atte Pekarinen TIKT13A 4.12.2014 PHP-kielen perusteet 3.1 Mitä tarkoittaan heredoc? Milloin sitä kannattaa käyttää? Kirjoita esimerkki sen käyttämisestä. Heredoc on ominaisuus PHP-koodaamisessa, jolla voidaan kirjoittaa pitkiä tekstejä

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 11.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 11.2.2009 1 / 33 Kertausta: listat Tyhjä uusi lista luodaan kirjoittamalla esimerkiksi lampotilat = [] (jolloin

Lisätiedot

ICT1TN004. Skriptikielet. Heikki Hietala

ICT1TN004. Skriptikielet. Heikki Hietala Skriptikielet Heikki Hietala Skriptikielet Skriptikielet eli komentosarjakielet ovat ohjelmointikieliä, joilla automatisoidaan tehtäviä Toisaalta niitä käytetään käyttöjärjestelmälle ominaisia tehtäviä

Lisätiedot

Operaattorin ylikuormitus ja käyttäjän muunnokset

Operaattorin ylikuormitus ja käyttäjän muunnokset 13 Operaattorin ylikuormitus ja käyttäjän muunnokset Luvussa 7, "Ominaisuudet, taulukot ja indeksoijat," opit, miten luokan yhteydessä käytetään ohjelmallisesti []-operaattoria, jolloin objektia voidaan

Lisätiedot

4. oppitunti. Ilmaukset ja ohjelmalauseet. Osa

4. oppitunti. Ilmaukset ja ohjelmalauseet. Osa Osa I 4. oppitunti Ilmaukset ja ohjelmalauseet Ohjelma ei todellisuudessa ole mitään muuta kuin joukko komentoja, jotka suoritetaan peräkkäin. Monipuolisuutta ohjelmaan saadaan, kun ohjelmassa haaraudutaan

Lisätiedot

12 Mallit (Templates)

12 Mallit (Templates) 12 Mallit (Templates) Malli on määrittely, jota käyttämällä voidaan luoda samankaltaisten aliohjelmien ja luokkien perheitä. Malli on ohje kääntäjälle luoda geneerisestä tyyppiriippumattomasta ohjelmakoodista

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 27.1.2010 T-106.1208 Ohjelmoinnin perusteet Y 27.1.2010 1 / 37 If-käsky toistokäskyn sisällä def main(): HELLERAJA = 25.0 print "Anna lampotiloja, lopeta -300:lla."

Lisätiedot

Verilogvs. VHDL. Janne Koljonen University of Vaasa

Verilogvs. VHDL. Janne Koljonen University of Vaasa Verilogvs. VHDL Janne Koljonen University of Vaasa Sälää Huom! Verilogistauseita versioita: 1995, 2001 ja 2005. Kommentit Javasta tutut // ja /* */ ovat kommenttimerkkejä. Case sensitivity Isot ja pienet

Lisätiedot