Olio-ohjelmoinnin perusteita Java-kielellä

Koko: px
Aloita esitys sivulta:

Download "Olio-ohjelmoinnin perusteita Java-kielellä"

Transkriptio

1 Java perusteet Sivu 1(146) Sisältö Olio-ohjelmoinnin perusteita Java-kielellä Sisällysluettelo Olio-ohjelmoinnin perusteita Java-kielellä...1 Sisällysluettelo...1 Opintojakson sisältö pääkohdittain...8 Edeltävät opinnot...8 Opintojakson tavoitteet...8 Oppimateriaali...8 Opetusmuodot...9 Java-ohjelmoijan työvälineet...10 IDE-sovelluskehittimet...10 NetBeans Ikkunan osat...11 Asetukset...11 Projektin luonti...11 Luokan luominen...12 Avustavia toimintoja...12 Komentoriviargumentit...12 Uuden luokan määrittäminen käynnistäväksi eli pääluokaksi (main)...13 Virheiden jäljitys eli debuggaus...13 Ohjelma perusosat...14 Yleistä Java-kielestä...14 Yleiset ohjelman perusosat...14 Kielioppi eli syntaksi...14 Java-kielen oppimateriaali...15 Tunnisteet...15 Nimeämiskäytäntöjä...15 Varatut sanat...15 Kommentit...16 Esimerkkejä...16 Ohjelman perusosat, harjoituksia...17 Harjoitus Harjoitus Tieto muistissa...18 Muistipaikat...18 Tietotyypit...18 Bitit ja tavut...18 Luvut...19 Merkkitietotyyppi...20 Totuusarvotietotyyppi...20 Rakenteiset tietotyypit...20 Vakiot (literaalit)...20 Kokonaislukuvakiot...20 Liukulukuvakiot...21 Merkkivakiot...21 Merkkijonovakiot...22

2 Java perusteet Sivu 2(146) Sisältö Erikoismerkit...22 Missä vakioita on?...23 Nimetyt vakiot...23 Muuttujat...25 Muuttujien alustus...25 Tietomuodon muuntaminen (konversio)...25 Numeerisen tietotyypin konversio (cast-konversio, castaus )...26 Lukujen muotoilu...26 Esimerkkiohjelma ympyrän ala...26 Tieto muistissa, harjoituksia...28 Harjoitus Harjoitus Harjoitus Lausekkeet, operaattorit ja operandit...29 Lauseke...29 Operaattorit...29 Operandit...30 Sijoitusoperaattorit...30 Aritmeettiset operaattorit...30 Vertailuoperaattorit...31 Loogiset operaattorit...32 Muut operaattorit...32 Lausekkeet, operaattorit ja operandit, harjoituksia...33 Harjoitus Harjoitus Harjoitus Harjoitus Lauseet...34 Lause...34 Ohjausrakenteet...34 Peräkkäisrakenne...35 Valintarakenne...35 if-lause...35 switch -case -lausepari...36 Toistorakenne eli silmukat, loopit...36 Lukumääräinen toisto for...37 Alkuehtoinen toisto while...38 Loppuehtoinen toisto do-while...38 Lauselohkot...39 Hyppy- ja haarautumislauseet...39 Lauseet, harjoituksia...41 Harjoitus Harjoitus Harjoitus Harjoitus Harjoitus Harjoitus Olio-ohjelmoinnin perusteita...42 Mistä oliokielellä ohjelmoitu ohjelma koostuu?...42 Luokat ja oliot...42

3 Java perusteet Sivu 3(146) Sisältö Ominaisuudet ja muuttujat...43 Metodit...43 Valmiiden luokkien käyttäminen...43 Muodostimet...43 Viittaukset...44 Mikä viittaus (reference) on?...44 Viittaustyypit...44 Alustamaton viittaus...44 Viittausesimerkki...44 Missä oliot ovat?...45 Esimerkkiluokka Esimerkkiluokka Esimerkkiluokka Viittausten asettaminen...47 Merkkijono-olioiden sisällön vertailu...47 Luokat ja oliot, harjoituksia...49 Harjoitus 1: API-luokat...49 Harjoitus Harjoitus Harjoitus Lisäharjoitus Lisäharjoitus Merkkijonot...52 Merkkijonot Java-kielessä...52 String-luokka...52 Merkkijonojen yhdistely...53 Tärkeimpiä merkkijonometodeita...53 Merkkijonojen vertailusta...53 Konversiot...54 StringBuffer-luokka...54 Esimerkkiohjelma...54 Merkkijonot, harjoituksia...56 Harjoitus Harjoitus Harjoitus Tehtävä Tehtävä Tehtävä Lisätehtävä Lisäharjoitus Lisäharjoitus Taulukot...59 Rakenteisia tietotyyppejä...59 Taulukko...59 Taulukon määrittely ja alustus...59 Indeksit...60 Taulukkoesimerkki Taulukkoesimerkki Taulukon koko...61 Moniulotteiset taulukot...61

4 Java perusteet Sivu 4(146) Sisältö Taulukon kopioiminen...63 Taulukko argumenttina...64 Komentoriviargumentit taulukkona...64 Taulukot, harjoituksia...65 Harjoitus Tehtävä Tehtävä Tehtävä Tehtävä Harjoitus Tehtävä Tehtävä Tehtävä Harjoitus Harjoitus Harjoitus Lisäharjoitus Lisäharjoitus Vektorit ja muut kokoelmat...68 Mikä kokoelma on?...68 Listat ja joukot...68 Vector...69 Vektoriesimerkki Vektoriolion muodostaminen...70 Elementtien lisäys vektoriin...70 Vektorin olioiden lukumäärä...70 Onko olio vektorissa?...71 Tietyssä paikassa oleva olio...71 Elementin korvaaminen toisella...71 Elementtien järjestäminen...72 Binäärihaku...72 Viittausten tyhjentäminen...72 Vektoriesimerkki TreeMap luokka...74 TreeMap-esimerkki...74 Elementtien lisäys...76 Haku avaimella...76 Kokoelman läpikäynti...76 Elementin poistaminen...77 Kokoelmat, harjoituksia...78 Harjoitus Harjoitus Tehtävä Tehtävä Lisätehtävä Lisätehtävä Harjoitus Tehtävä Lisätehtävä Lisätehtävä

5 Java perusteet Sivu 5(146) Sisältö Lisäharjoitus Aliohjelmat...82 Ohjelman jakaminen osiin...82 Ohjelmamoduulit...82 Pääohjelma...82 Aliohjelma...83 Aliohjelmatyypit...83 Metodit...84 Metodin otsikko...84 Parametrit ja argumentit...84 Olio argumenttina...85 Argumenttien arvojen muuttaminen...86 Metodin runko...86 Metodien kutsuminen (käyttäminen)...87 Metodien käyttäminen proseduurien tavoin...87 Metodien järjestys lähdeohjelmassa...87 Esimerkki itse kirjoitetusta metodista...87 Aliohjelmat, harjoituksia...89 Harjoitus Harjoitus Harjoitus Lisäharjoitus Lisäharjoitus Poikkeukset...91 Mitä poikkeukset ovat?...91 Poikkeuskäsittelyn lauseet...91 Esimerkki poikkeuskäsittelystä...92 Joka tapauksessa suoritettavat lauseet (finally)...93 Poikkeukset, harjoituksia...94 Harjoitus Harjoitus Lisäharjoitus Luokat ja oliot...95 Luokka...95 Uuden luokan määrittely...95 Käytännön työohjeita...95 Luokan esittely...95 Luokan määrittely...96 Olio- ja luokkakohtaiset muuttujat...98 Oliokohtaiset muuttujat...98 Luokka(kohtaiset)muuttujat...99 Luokkakohtaiset vakiot...99 Muodostimet...99 Muodostimien määrittely Muodostimien käyttäminen Ylimääritys - Overloading methods Olio- ja luokkakohtaiset metodit Oliokohtaiset metodit Luokkakohtaiset metodit Tiedon kätkeminen eli kapselointi...102

6 Java perusteet Sivu 6(146) Sisältö Luku- ja kirjoitusmetodit Saantimetodit (lukumetodit) Asetusmetodit (kirjoitusmetodit) Metodien kutsuminen olioviittauksen avulla Esimerkkiohjelma Valmiit eli API luokat Luokat ja oliot, harjoituksia Harjoitus 1: API-luokat Harjoitus Harjoitus Harjoitus Lisäharjoitus Lisäharjoitus Pakkaukset Saanti- eli suojausmääreet Nimiavaruus Pakkauksen määrittely lähdeohjelmassa Nimetön pakkaus Luokkien sisällyttäminen käännökseen API-luokkien pakkaukset Mistä kääntäjä löytää pakkauksen? Classpath Luokkien hakujärjestys Periytyminen Perusteita Final-luokat Esimerkki luokan periytymisestä Object-luokka Mitä periytyy? Muodostimet Uudet jäsenet Ylikirjoittaminen eli peittäminen - Override Abstrakti luokka Sisäluokka (Inner Class) Liittymä (interface) Pysyvät oliot (Persistent objects) ja serialisointi Periytyminen, harjoituksia Harjoitus Harjoitus Harjoitus Harjoitus Liittymät (interface) Käyttötarkoitus Liittymän määrittely Liittymän käyttäminen Esimerkki API kirjastoon kuuluvan liittymän käytöstä Tiedostot ja sarjoittaminen Tiedostot Javassa Merkkivirrat Binäärivirrat...126

7 Java perusteet Sivu 7(146) Sisältö Puskurointi Näppäimistön lukeminen Perinteisten levytiedostojen käsittely Rivien lukeminen tekstitiedostosta Tietueiden käsittely tekstimuodossa Rivien kirjoittaminen tekstitiedostoon Java ja HTML HTML-esimerkki HTML-esimerkki Dynaamisen HTML-sivun esimerkki Perustietotyyppien lukeminen ja kirjoittaminen Esimerkki tekstitiedoston kopioinnista Olioiden sarjoittaminen Tiedoston loppumisen havaitseminen sarjoituksessa Oliotaulukon sarjoittaminen Tiedoston loppumisen testaaminen sarjoituksessa Tiedostot, harjoituksia Harjoitus Tehtävä Tehtävä Lisätehtävä Harjoitus Lisäharjoitus Tehtävä Tehtävä Tehtävä Tehtävä Java-ohjelmat tuotantokäytössä Sovelluksen jakelu JAR-tiedosto Manifest-tiedosto Mitä tiedostoja ja missä Luokan käynnistys Käynnistyksen helpottaminen Jakelun suunnittelu...146

8 Java perusteet Sivu 8(146) Sisältö Opintojakson sisältö pääkohdittain Johdanto tietojenkäsittelyyn Ohjelmistotuotanto Java-ohjelmoijan työvälineet Ohjelman perusosat Tieto muistissa Lausekkeet, operaattorit ja operandit Lauseet Olio-ohjelmoinnin perusteita Merkkijonot Taulukot Aliohjelmat Poikkeukset Luokat ja oliot Pakkaukset Periytyminen Liittymät Tiedostot ja sarjoittaminen Kokoelmat Java-ohjelmat tuotantokäytössä Edeltävät opinnot Tämän opintojakson menetyksellinen suorittaminen ei välttämättä edellytä perustietoja ohjelmoinnista, mutta jonkin ohjelmointikielen perusteiden ja olio-ohjelmoinnin peruskäsitteiden tuntemisesta on hyötyä. Opintojakson tavoitteet Opintojakson tavoitteena on antaa opiskelijalle perusvalmiudet ohjelmoinnin ymmärtämiseen ja osaamiseen. Toisena tavoitteena on antaa perusosaaminen Java-kielellä ohjelmointiin. Oppimateriaali The Java Tutorial on koostesivu Sun-yhtiön erilaisista Java-oppimateriaaleista, jossa linkki Learning the Java Language vie Javaperuskielen oppimateriaalisivustoon. Tästä oppimateriaalista käytetään tässä sivustossa myöhemmin nimitystä Sunin oppimateriaali. Jokaisen asiakokonaisuuden lopussa on tehtäviä ja kysymyksiä sekä niiden vastaukset. Näitä voi käyttää itseopiskelumateriaalina. Osoitteesta saat noudetuksi edellä mainitun dokumentaation omalle koneellesi, jollin Internet-yhteyttä ei tarvitse pitää koko ajan avoinna Javan API-luokkien (API = Application Programming Interface) dokumentaation kotisivu on Koska versiot vaihtuvat melko tiheästi, on sieltä linkit jokaiseen eri version dokumentaatioihin.

9 Java-artikkelisarja Suomenkielisiä oppikirjoja (tässä vain joitakin hyllystä poimintoja): Java perusteet Sivu 9(146) Sisältö Cay S. Horstmann & Gary Cornell: Inside Java 2, Oy Edita Ab IT Press, ISBN (syvällisiin yksityiskohtiin menevä kirja, jossa on myös vihjeitä C++- ja Visual Basic -ohjelmoijille) Juha Peltomäki - Pekka Malmirae: Java-ohjelmoinnin Peruskirja, Teknolit Oy, ISBN Mika Vesterholm - Jorma Kyyppö: Java Ohjelmointi Pro Training, Satku.fi, ISBN (erityisen hyvä tietokantaosuus) Nachimovsky - Myers: Inside Java ja XML, IT Press 2002, ISBN (järeä hajautettujen J2EE sovellusten rakennusopas) Niskanen - Kontio - Vuorimaa: Inside Enterprise Java, IT Press 2001, ISBN X (Koko skaala, alkaa perusteista ja päättyy J2EE hajautettuihin sovelluksiin) Loputon tietolähde on tietenkin Internet, josta kannattaa hakea sekä suomen- että englanninkielisillä hakusanoilla, esimerkiksi java free pdf tuottaa hyviä tuloksia. Opetusmuodot Opetusmuotona on aluksi kuhunkin aihekokonaisuuteen liittyvä lyhyt luento. Oppiminen tapahtuu kuitenkin pääasiassa harjoitusten avulla. Lisäksi opiskelijoita ohjataan hakemaan itsenäisesti lisätietoja, esimerkkejä ja sovelluksia opintojakson aiheisiin Internetistä. Oppimateriaalin tekijä: Matti Jaakkola, Lahden kauppaoppilaitos 2003, päivitys Koulutuskeskus Salpaus

10 Java-ohjelmoijan työvälineet Java perusteet Sivu 10(146) Työvälineet Java-ohjelmoijalla on valittavanaan joukko erilaisia ja eri tasoisia ohjelmointityövälineitä. Sunin perinteinen työvälineistö oli Java Developer's Kit eli JDK. Tämä välineistö koostuu joukosta erillisiä ohjelmia, jotka ovat komentoperustaisia. Java SE Development Kit tunnetaan nykyisin myös nimellä JDK (SE = standard edition). Java Runtime Environment (JRE) taas tarkoittaa loppukäyttäjän koneella välttämätöntä ajoympäristöä, joka sisältää mm. JVM eli java virtuaalikoneen. Tällä hetkellä (2007) Sun tarjoaa erilaisia kehitysalustoja mm: Java Platform, Enterprise Hajautetun komponenttipohjaisen kehitysalustan sisältävä Edition (Java EE) paketti. Web pohjaisten palveluiden tuki- ja kehityökalut (SDK). Java Platform, Standard Edition Ohjelmointiympäristö sovelluskehitykseen työasema- ja (Java SE) palvelinympäristöön. Toimii myös alustana Java Platform, Enterprise Edition (Java EE) ja Java Web Services palveluille. Lisäksi tarjolla on Java ME (Micro Edition) sulautettuja ympäristöjä kuten älykkäitä laitteita, kännyköitä ja automatisoituja kuljetuslaitteita (telematics) varten, Java Card Technology älykorttikäyttöön ja JavaFX nopeaan loppukäyttäjäsovellusten kehitykseen. Ajankohtaisen tilanteen välineiden osalta saa selville mm. osoitteista ja IDE-sovelluskehittimet Erillisten ohjelmoijan työvälineohjelmien sijaan useimmat ohjelmoijat käyttävät nykyisin yleensä ns. integroituja työvälineohjelmia, joissa on useita edellä mainittuja toimintoja samassa ohjelmassa keskitetysti käytettävissä. Näistä integroiduista ohjelmointiohjelmista käytetään lyhennettä IDE (Integrated Development Environment). Niitä nimitetään myös sovelluskehittimiksi, jolla nimityksellä tahdotaan korostaa niiden tehokuutta ja helppokäyttöisyyttä erillisiin työvälineohjelmiin nähden. Java-kielen IDE-sovelluskehittimiä on monenlaisia, joista osa ilmaisia ja osa maksullisia. Kaupallisia (maksullisia) IDE-välineitä on edelleenkin, vaikka open source lisenssioidut välineet ovat käytettyjä myös kaupallisessa tuotannossa. Ilmaisia open source lisenssiin perustuvia Java IDE sovelluskehittimiä ovat mm. Netbeans ja Eclipse. Lisätietoja osoitteista ja Lisää IDE kehittimiä vaikkapa linkkilistalta Hakukoneilla saa lisää osoitteita esim. hakusanoilla free java ide. Tämä materiaali perustuu ohjeiden osalta NetBeans versioon 5.5, mutta on sovellettavissa helposti mihin tahansa vastaavantyyppiseen editoriin.

11 Java perusteet Sivu 11(146) Työvälineet NetBeans 5.5 Ikkunan osat Ohjelman ikkuna jakautuu useampaan osaan. Kuvassa vasemmalla Projects ikkuna näyttää puurakenteena projektin osat. Suljettu alakohtia sisältävä haara (+) voidaan avata mm. hiirellä napsauttaen, avattu haara (-) sulkea samoin. Projects ikkunasta valitun moduulin sisällön yksityiskohtia nähdään alla olevasta Navigator ikkunasta. Varsinainen koodi näkyy oikealla puolella ikkunaa. Jokaisella koodimoduulilla on oma välilehti. Välilehden sulkeminen ei poista moduulia projektista. Ikkunan alareunaan sijoittuu mm. Output tai Watches ikkuna. Ikkunoiden sisällöt vaihtuvat eri tilanteissa, samoin useat ikkunat aukeavat automaattisesti. Asetukset Työkalut Asetukset valikosta voidaan säädellä ohjelman käyttäytymistä, mm. tekstin sisennysten (indentation) ja fonttien ja värien määrittelyt. Aluksi värit kannattaa pitää alkuperäisinä, fonttikokoa voi muuttaa haluttaessa. Muut asetukset kannattaa jättää aluksi oletusarvoihin, kunnes niiden merkitys avautuu. Projektin luonti File New Project komennolla käynnistyy wizard eli ohjattu toiminta, josta valitaan ensin projektin tyyppi. Vasemmalla on päätyyppi ja oikealla sen alakohdat. Itsenäinen Java sovellus saadaan General Java Application valinnalla. Toisessa vaiheessa määritellään projektin nimi, joka on samalla paketin (Package) nimi, sekä sijaintikansio johon NetBeans luo projektille oman alikansion. Lisäksi valitaan, onko projekti pääprojekti (käynnistyy itsenäisenä) sekä luodaanko ja minkä niminen pääluokka. Paketin nimen jäljessä on pääluokan nimi Main pisteellä erotettuna. Mielestäni se kannattaa vaihtaa ainakin aluksi, koska muuten pääluokka Main ja pääprojektin proseduuri main sekoittuvat

12 Java perusteet Sivu 12(146) Työvälineet aloittelijalla helposti keskenään. Huomaa: Projektin nimi kannattaa kirjoittaa isolla alkukirjaimella, automatiikka tekee siitä pienellä alkavan paketin nimen. Kirjoitusasu auttaa erottamaan milloin viitataan projektiin, milloin pakettiin. Luokkien nimet kirjoitetaan isolla alkukirjaimella vakiintuneen tavan mukaan. Luokan luominen Uuden luokan saa luotua napsauttamalla projektin tai pakkauksen nimeä hiiren 2. napilla. Pikavalikon New kohdassa on myös Java Class. Uudelle luokalle annetaan dialogissa olevat määritteet. Luokalle nimen kirjoittaminen riittää, jos napsautit pakkausta, projektin kohdalla myös pakkauksen nimi annettava. Aluksi sijoita kaikki luokat samaan pakkaukseen, kunnes Javan näkyvyyssäännöt tulevat tutuiksi. Muista: luokka isolla alkukirjaimella. Avustavia toimintoja Kehittyneemmässä käytössä kannattaa käyttää Refactor valikon apuvälineitä. Niillä voidaan mm: turvallisesti uudelleen nimetä eri kohteita luoda valitusta koodista uusi metodi (Extract method) muuttaa metodien parametrejä kapseloida eli piilottaa muuttujia ja luoda niille automaattisesti Get it ja Set it (Encapsulate Fields) siirtää muuttujia ja luokkia tasosta toiseen (Pull Push Move Convert ) luoda liittymiä ja kantaluokkia (Extract Interface + Superclass) poistaa kohteita turvallisesti Myös Source valikko sisältää avustavaa automatiikkaa: Metodin ylikirjoitus (Override ) Try-Catch lohkon luonti valinnan ympärille Sisennykset (Shift ) Kommenttilohkojen lisäys tai poisto Komentoriviargumentit Konsolisovelluksien testausta nopeuttaa parametrien syöttäminen etukäteen, jolloin ei IDE:stä tarvitse poistua. Tämä toiminto on NetBeans 5.5 IDE:ssä kohdassa File (projektin nimi) properties Run Arguments. Sovelluksen kehotteeseen voidaan vastaus antaa suoraan Input/Output ikkunaan komentorivi-ikkunan tavoin.

13 Java perusteet Sivu 13(146) Työvälineet Uuden luokan määrittäminen käynnistäväksi eli pääluokaksi (main) Projektia määriteltäessä joku luokka määritellään pääluokaksi, jolla sovellus käynnistetään. Haluttaessa voidaan jälkikäteen lisätty uusi luokka määritellä pääluokaksi seuraavasti: Lisää uuteen luokkaan main() proseduuri, pelkät otsikot ja tyhjät sulut riittävät, siis public static void main(string[] args) Napsauta hiiren 2. napilla projekti-ikkunasta projektia (kahvikuppi kuvake) ja pikavalikosta Properties Avaa Run haara valintaikkunan puurakenteesta vasemmalla ja kirjoita tai mieluummin hae browse painikkeella ja klikaten uuden pääluokan nimi, lopuksi OK. Virheiden jäljitys eli debuggaus Vähänkin monimutkaisemmassa koodissa virheiden jäljitystä voidaan helpottaa debuggaamalla koodia. NetBeans tekee sen käynnistettäessä sovellusta komennolla Run Debug Main Project. Vaiheet ovat usein seuraavat: 1. aseta keskeytyskohta (breakpoint) sille riville, jonka toimintaa haluat valvoa. Breakpoint asetetaan useimmissa editoreissa koodi-ikkunan vasemman reunan tai sarakkeen napsautuksella, jolloin rivi muuttuu värilliseksi, näin myös NetBeans ssa. 2. Suorita sovellus Run Debug Main Project (F5). Ajo keskeytyy keskeytyskohtaan odottamaan testaajan toimia. Rivin vasemmalla oleva nuoli osoittaa seuraavaksi suoritettavan rivin. Riveittäin voidaan sovellusta ajaa komennolla F7 tai F8. 3. Pysäytyksen ollessa päällä (ilmoitus tilarivillä), voidaan näkyvyysalueella olevien muuttujien arvoja vilkaista pysäyttämällä hiiri muuttujanimen päälle, jolloin työkaluvihje kertoo muuttujan tilan pienen viiveen jälkeen (kuvassa) 4. Hiukan järeämpiä keinoja on asettaa muuttujat pysyvään valvontaan New Watch komennolla tai manipuloimalla muuttujaa kesken suorituksen (Evaluate Expression) 5. Napsauttamalla vasenta saraketta uudelleen keskeytyskohta poistuu. Hiiren 2.napilla breakpoint merkistä saa pikavalikon, josta voi mm. asettaa ehdollisia keskeytyskohtia ja näyttää rivien numerot.

14 Ohjelma perusosat Java perusteet Sivu 14(146) Ohjelman perusosat Yleistä Java-kielestä Yleiset ohjelman perusosat Kielioppi eli syntaksi Tunnisteet Kommentit Yleistä Java-kielestä Java-ohjelmointikielen on kehittänyt Sun Microsystems Inc -niminen yhtiö, jonka tavaramerkkejä mm. Java ja JDK ovat. Java muistuttaa ulkoasultaan varsin paljon C++ -ohjelmointikieltä, joten tämän kielen osaamisesta on hyötyä Java-kielen opiskelussa. Yleiset ohjelman perusosat Tietokoneohjelma koostuu yleisistä, ohjelmointikielestä riippumattomista perusosista, joita ovat mm. tunnisteet kommentit tietotyypit vakiot muuttujat lausekkeet operaattorit operandit lauseet lohkot eli kootut lauseet aliohjelmat luokat ja oliot (olio-ohjelmoinnissa). Opiskelemme näitä ohjelmien perusosia tällä ja seuraavilla sivuilla. Tällä sivulla on kaksi ensimmäistä luettelon kohtaa: tunnisteet ja kommentit. Kielioppi eli syntaksi Kuten puhutuilla kielillä, myös ohjelmointikielillä on oma kielioppinsa (lauseoppinsa), jonka mukaisesti ohjelmointikielen kääntäjät kääntävät lähdekielistä ohjelmaa konekielelle. Kieliopista käytetään nimitystä syntaksi (syntax). Java-kielen kieliopista saat yleisen käsityksen yksinkertaisen esimerkkiohjelman avulla mm. osoitteesta

15 Java-kielen oppimateriaali Java perusteet Sivu 15(146) Ohjelman perusosat Sunin oppimateriaali: Trail: Learning the Java Language: Table of Contents -sivulla on Java-kielen oppimateriaalin sisällysluettelo, josta saat yleiskäsityksen Java-kielen pääkohdista. Tunnisteet Sunin oppimateriaali: Trail: Learning the Java Language Lesson: Language Basics Variable Names Tunnisteita (identifier) käytetään yksilöimään erilaisia ohjelman elementtejä, kuten muuttujia, olioita, metodeita ja luokkia. Tunniste on siis yksilöllinen nimi näille kielten elementeille. Monissa ohjelmointikielissä on samankaltaiset tunnisteiden säännöt: C-kielessä, C++ -kielessä ja Java-kielessä on kaikissa samat tunnisteiden nimeämissäännöt. nimi pitää alkaa englanninkielen kirjaimella (a - z) älä käytä muita kuin englanninkielen aakkosia ja numeroita nimissä, siis Ika ei Ikä nimi pitää kirjoittaa yhtenä sanana, jos halutaan kaksiosainen nimi, sanat kirjoitetaan kiinni toisiinsa tai yhdistellään alaviivalla, esimerkiksi PalkkaKausi tai Laske_Korko Java-, C- ja C++-kielissä isot ja pienet kirjaimet erotellaan toisistaan, siis PalkkaKausi on kääntäjän mielestä eri asia kuin Palkkakausi Muita oppimateriaalilinkkejä: Harjoituksia aiheeseen löytyy oppimateriaalin sivulta Questions and Exercises: Variables. Nimeämiskäytäntöjä Tunnisteiden nimeämisessä on syytä käyttää jotakin johdonmukaista tapaa. Ohjelmointiryhmällä tai jopa ohjelmointiyrityksellä saattaa olla oma standardi nimeämiseen. Sun-yhtiö, joka on Java-kielen kehittäjä, käyttää useasta sanasta koostuvassa tunnisteessa kirjoitustapaa, jossa ensimmäinen sana alkaa pienellä kirjaimella ja muut samat isoilla alkukirjaimilla, esimerkiksi paramstring ja getverticaltextposition. Eräs Java-kielen ohjelmointityyliopas on osoitteessa ja siinä on mm. nimeämissuosituksia. Varatut sanat Tunnisteina ei saa käyttää kielen syntaksiin kuuluvia sanoja tai merkintätapoja. Näistä ns. varatuista sanoista on ohjelmointioppaissa erilliset luettelot. Koska varatut sanat ovat yleensä englanninkielen sanoja, ei niistä ole suomalaiselle ohjelmoijalle yleensä suurtakaan harmia (ellei ohjelmoija käytä syystä tai toisesta englanninkielisiä tunnisteita).

16 Java perusteet Sivu 16(146) Ohjelman perusosat Java-kielen varatut sanat on lueteltu osoitteessa Kommentit Ihmisen ei ole aina ole helppoa saada selvää tietokoneohjelmista, varsinkaan toisen ihmisen kirjoittamasta ohjelmasta. Siksi hyvin kirjoitettu ohjelma on riittävästi kommentoitu. Kommentilla tarkoitetaan tietokoneohjelmassa sellaista ohjelman kohtaa, joka on tarkoitettu vain ihmisen luettavaksi. Ohjelmointikielen kääntäjä ohittaa kommentin. Eri ohjelmointikielissä on omat tapansa aloittaa ja päättää kommentti. C- C++- ja Java-kielessä on kaksi tapaa aloittaa kommentti: // rivin loppuosa on kommenttia /* tämä kommentti saattaa olla monirivinen ja se päättyy merkkeihin */ Kommentteja kannattaa sijoittaa lähdeohjelmaan kaikkiin epäselviin tai vaikeisiin paikkoihin. Lisäksi yleensä jokaisen lähdeohjelman alussa on kommenttirivejä, joissa kerrotaan mm. seuraavia seikkoja: sovelluksen nimi moduulin (lähdeohjelman) nimi ohjelmoijan nimi ohjelmointipäivämäärä Esimerkkejä /* * Sovellus: Esimerkkisovellus * Moduuli: Korko.java * Tehtävä: Koron laskeminen * Ohjelmoija: Matti Jaakkola * Päivämäärä: */ Esimerkissä on käytetty tähteä kommenttirivien alussa. Tämä auttaa lukijaa havaitsemaan kommenttilohkon rivit. Ohjelmointikielen kielioppi (syntaksi ei vaadi tähteä. Varsinainen kommentin alku ja loppu on merkitty esimerkkiin punaisella värillä. Usein kommentoidaan myös yksittäinen rivi. Tällöin helpointa on käyttää rivin loppuosan kommentointia // -merkeillä: int paaoma = 0; // Pääoma Linkki: Muista ohjelman perusosia käsittelemme seuraavilla sivuilla.

17 Java perusteet Sivu 17(146) Ohjelman perusosat, harjoituksia Ohjelman perusosat, harjoituksia Harjoitus 1 Mitkä seuraavista tunnisteista ovat Java-kielen tunnistesääntöjen mukaiset? Mikä on vialla, jos tunniste ei ole sääntöjen mukainen? 1. loppusumma 2. Ikäryhmä 3. yks hinta 4. 4kausi 5. x 6. laske_tulos 7. piirrä-kuva 8. this Nimeä mielestäsi sopivilla tunnisteilla seuraavat asiat: 1. välisumma 2. kuukauden palkat 3. pienin luku 4. hae osaston nimi 5. laske henkilön palkka 6. tuotteen yksikköhinta 7. henkilötunnus Harjoitus 2 1. Vastaa omin sanoin seuraaviin kysymyksiin: 2. Mihin tunnisteita käytetään? 3. Mihin kommentteja käytetään? 4. Mitä ovat varatut sanat? 5. Montako varattua sanaa on Java2 -kielessä? 6. Mitä tarkoitetaan syntaksilla?

18 Tieto muistissa Java perusteet Sivu 18(146) Tieto muistissa Muistipaikat Tietotyypit Vakiot Muuttujat Tietomuodon muuntaminen (konversio) Lukujen muotoilu Muistipaikat Sunin oppimateriaali: Trail: Learning the Java Language Lesson: Language Basics Expressions, Statements, and Blocks Kun ihminen käsittelee tietoja lomakkeiden avulla, varataan kullekin tiedolle tietty paikka. Lomakkeella saattaa olla paikka henkilötunnukselle, nimelle, osoitteelle, puhelinnumerolle jne. Tiedolla on siis paikka, johon se merkitään eli tiedolle on varattu muistipaikka lomakkeelle. Ohjelmissa käsiteltäville tiedolle (kuten muuttujille ja olioille) täytyy varata myös muistitilaa, johon tieto sijoitetaan. Tiedon varaus tehdään määrittelemällä ohjelmaan muuttujia, vakioita ja olioita. Näiden määrittelyä käsitellään myöhemmin tässä sivustossa. Tietotyypit Sunin oppimateriaali: Trail: Learning the Java Language Lesson: Language Basics Expressions, Statements, and Blocks Ihminen osaa käsitellä tietoja eri muodoissaan, kuten tekstinä, lukuina, kuvina tai äänenä. Tietokoneohjelmakin osaa käsitellä erimuotoisia tietoja. Tietokoneen ja ihmisen tapa käsitellä ja tallettaa tietoja on hyvin toisistaan poikkeava. Ihminen käsittelee tekstiä, lukuja ja kuvia näköaistillaan ja ääniä kuuloaistillaan. Kukaan ei lähemmin tiedä, miten ihminen näitä säilyttää muistissaan. Bitit ja tavut Tietokone osaa käsitellä periaatteessa vain ykkösiä ja nollia. Binäärinen lukujärjestelmä koostuu näistä merkeistä. Sana bi tarkoittaa juuri kahta. Yksi bitti on pienin tietokoneen tietoyksikkö. Bitin arvo voi siis olla nolla tai yksi. Jonkin asian päällä tai pois oleminen voidaan esittää bitillä (valo palaa lampussa tai ei pala).

19 Java perusteet Sivu 19(146) Tieto muistissa Useamman kuin kahden vaihtoehdon esittämiseen tarvitaankin sitten useita bittejä. Niinpä 8 bittiä muodostaakin tavun (byte), joka on bitistä seuraava suurempi määrä tietoa tietokoneessa. Muun muassa tietokoneen muisti ilmoitetaan tavuina (nykyisin miljoonina tavuina eli megatavuina). Mikro- ja minitietokoneissa usein käytetty ns. ASCII-koodijärjestelmä käyttää 7 tai 8 bittiä eri merkkien esittämiseen. Kahdeksalla bitillä voidaan esittää 256 vaihtoehtoa (luvut 0-255). ASCIIkoodijärjestelmässä kullekin merkille on varattu tietty luku. Näin tietokone näkee merkitkin vain järjestyslukuina. Luvut Tietokone oli alun perin automaattinen laskukone (englanniksi computer). Siksi tietokoneelle on oleellista pystyä käsittelemään erilaisia lukuja. Kun ihminen käsittelee lukuja, hän voi käsitellä sekaisin kokonaislukuja ja desimaalilukuja (jopa murtolukuja). Tietokone ei tähän ilman muuta kykene, vaan tietokoneessa pitää olla erikseen tietotyypit eri lukutyyppejä varten, koska eri tyypit varaavat muistia eri tavoilla.. Niinpä ohjelmoija joutuu usein ratkaisemaan, minkä kokoisia lukuja ohjelmassa tullaan käsittelemään ja varaamaan tämän mukaisia muuttujia ja vakioita ohjelmaansa. Kokonaisluvut Yksinkertaisinta on käsitellä pelkästään kokonaislukuja. Näiden aritmetiikassa tietokone käyttää binäärilukuaritmetiikkaa, jossa siis lasketaan pelkästään nollilla ja ykkösillä. Esimerkki kokonaislukulaskennasta: Liukuluvut Kokonaislukujen lisäksi tietokone pystyy laskemaan liukuluvuilla (reaaliluvuilla). Näissä laskutoimituksissa on aina tietty määrä merkitseviä numeroita, koska liukuluvut ovat vain likiarvoja. Liukuluvuissa voidaan käyttää desimaaleja. Englanninkielisissä maissa käytetään desimaalierottimena pistettä, ei pilkkua. Siksi myös eri tietokonekielissä yleensä käytetään desimaalipistettä. Esimerkki liukulukulaskennasta: 12.5 * 12.5 * Linkkejä Java-kielen tietotyyppeihin: Tietomuodoille on eri ohjelmointikielissä varattu nimitykset (=varattuja sanoja). Lukutyyppien sekakäyttö Ohjelmissa erilaisia lukutietotyyppejä voidaan käyttää myös samassa lausekkeessa: 7 * 7 *

20 Java perusteet Sivu 20(146) Tieto muistissa Tämän lausekkeen lopputulostyyppi on liukulukutyyppi, koska se on mutkikkaampi kuin kokonaislukutyyppi. Hyvä nyrkkisääntö on: suurimman muistimäärän tarvitseva tieto on lausekkeen lopputuloksen tietotyyppi. Merkkitietotyyppi Yksittäisten merkkien käsittelyyn on Java-kielessä char-tietotyyppi. Tämä on tyyppi, joka vie tilaa kaksi tavua (16 bittiä), koska Java-kielen merkkityyppi on ns. Unicode-järjestelmän mukainen (siis ei käytä ASCII-koodeja, kuten C- ja C++ -kielet). Unicode-järjestelmän kooditaulukot löytyvät osoitteesta Totuusarvotietotyyppi Monissa tilanteissa riittää kaksi mahdollisuutta: jokin asia voi olla totta tai ei totta. Tällaista tietotyyppiä nimitetään totuusarvo- eli Boolean-tietotyypiksi (Boolean data type), jolla voi olla kaksi arvoa true (tosi) false (epätosi) C-kielen tavoin numeerinen lauseke voidaan tulkita lausekkeissa Boolean arvona: nolla false, kaikki nollasta poikkeavat: true. Rakenteiset tietotyypit Rakenteisiksi tietotyypeiksi nimitetään perustietotyypeistä koostettuja tietotyyppejä, kuten merkkijonoja ja taulukoita. Ne on toteutettu Java-kielessä luokkina ja käsittelemme niitä myöhemmin. Vakiot (literaalit) Sunin oppimateriaali: Trail: Learning the Java Language Lesson: Language Basics Expressions, Statements, and Blocks Vakiot esittävät pysyvää tietoa ohjelmissa. Vakioita voi käyttää lausekkeissa ja muuttujien asetuslauseissa. Kokonaislukuvakiot Erilaisia lukuvakioita olemme nähneet jo tämän sivun alkupuolella. Kokonaislukuvakiossa voi myös olla etumerkki + tai -. Seuraavasta taulukosta näet, miten eripituisia kokonaislukuvakioita esitetään Tietotyyppi Loppumerkki Koko tavuina Esimerkki byte Muoto muistissa (väli tässä vain helpottaa lukemista)

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

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

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

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

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

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

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

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

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

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

P e d a c o d e ohjelmointikoulutus verkossa

P e d a c o d e ohjelmointikoulutus verkossa P e d a c o d e ohjelmointikoulutus verkossa Java-kielen perusteet Teoria ja ohjelmointitehtävät Java-kielen perusteet 3 YLEISKATSAUS KURSSIN SISÄLTÖIHIN 10 JAVA-KIELEN PERUSTEET 10 OPISKELUN ALOITTAMINEN

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

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

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

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

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

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

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

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

Eclipse 3.2 pikku opas versio 1.0. Esittely Uuden projektin perustaminen Sovelluksen luominen Koodin siistiminen Vinkkejä

Eclipse 3.2 pikku opas versio 1.0. Esittely Uuden projektin perustaminen Sovelluksen luominen Koodin siistiminen Vinkkejä Anne Benson/Tanja Bergius Opintojakson ict1td002 käyttöön Sivu 1 / 13 Eclipse 3.2 pikku opas versio 1.0 Ohjeen sisältö: Esittely Uuden projektin perustaminen Sovelluksen luominen Koodin siistiminen Vinkkejä

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

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

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

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

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

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen Pedacode Pikaopas Java-kehitysympäristön pystyttäminen Pikaoppaan sisältö Pikaoppaassa kuvataan, miten Windowstyöasemalle asennetaan Java-ohjelmoinnissa tarvittavat työkalut, minkälaisia konfigurointeja

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

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

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

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

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

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

Harjoitustyö: virtuaalikone

Harjoitustyö: virtuaalikone Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman

Lisätiedot

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

Sisällys. 3. Pseudokoodi. Johdanto. Johdanto. Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen. Sisällys 3. Pseudokoodi Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen. Ohjausrakenteet: Valinta if- ja if--rakenteilla. oisto while-, do-while- ja for-rakenteilla. 3.1 3.2 Johdanto

Lisätiedot

4. Lausekielinen ohjelmointi 4.1

4. Lausekielinen ohjelmointi 4.1 4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Hyvä ohjelmointitapa. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen

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

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

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

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

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

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

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 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

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 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

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

Algoritmit. Ohjelman tekemisen hahmottamisessa käytetään

Algoritmit. Ohjelman tekemisen hahmottamisessa käytetään Ohjelmointi Ohjelmoinnissa koneelle annetaan tarkkoja käskyjä siitä, mitä koneen tulisi tehdä. Ohjelmointikieliä on olemassa useita satoja. Ohjelmoinnissa on oleellista asioiden hyvä suunnittelu etukäteen.

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

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

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

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

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

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

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

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

Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen. Ohjausrakenteet: 3. Pseudokoodi 3.1 Sisällys Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen. Ohjausrakenteet: Valinta if- ja if-else-rakenteilla. Toisto while-, do-while- ja for-rakenteilla.

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

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

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

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

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

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

Tietotyypit ja lausekkeet. Lewis & Loftus & Jukka Juslin 1

Tietotyypit ja lausekkeet. Lewis & Loftus & Jukka Juslin 1 Tietotyypit ja lausekkeet Lewis & Loftus & Jukka Juslin 1 Tietotyypit Perustavaa laatua olevia ohjelmoinnin käsitteitä Luku 2 käsittelee seuraavia: Merkkijonot Primitiivitietotyypit (eli alkeistietotyypit)

Lisätiedot

3.1 Mitä tarkoittaan heredoc? Milloin sitä kannattaa käyttää? Kirjoita esimerkki sen käyttämisestä.

3.1 Mitä tarkoittaan heredoc? Milloin sitä kannattaa käyttää? Kirjoita esimerkki sen käyttämisestä. PHP-kielen perusteet Käytä lähteenä PHP:n virallista manuaalia http://www.php.net/docs.php tai http://www.hudzilla.org/php (siirry Paul Hudsonin verkkokirjaan). Lisää materiaalia suomeksi esimerkiksi ohjelmointiputkan

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

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

Ohjausrakenteet. Valinta:

Ohjausrakenteet. Valinta: Ohjausrakenteet Luento antaa yleiskuvan siitä kuinka ohjelmassa suorittaan vaihtoehtoisia tehtäviä valintarakenteiden avulla ja kuinka samanlaisia ohjelma-askeleita toistetaan toistorakenteiden avulla

Lisätiedot

Ohjelmoinnin perusteet, 1. välikoe

Ohjelmoinnin perusteet, 1. välikoe Ohjelmoinnin perusteet,. välikoe Nimi: Opiskelijanumero:.. 3. 4. Yhteensä Ohje: Ratkaise kaikki tehtävät. Lähdemateriaalia ja tietokonetta ei saa käyttää. Noudata ohjelmointitehtävissä Java-kielen vakiintuneita

Lisätiedot

Kieliversiointityökalu Java-ohjelmistoon. Ohje

Kieliversiointityökalu Java-ohjelmistoon. Ohje Kieliversiointityökalu Java-ohjelmistoon Ohje 2/6 SISÄLLYSLUETTELO 1 YLEISTÄ OHJELMASTA... 3 2 PÄÄ-IKKUNA...4 3 YLÄVALIKKO... 4 3.1 TIEDOSTO... 4 3.2 TOIMINTO... 4 3.3 ASETUKSET... 5 3.4 OHJE... 5 4 VÄLILEHDET...5

Lisätiedot

4. Lausekielinen ohjelmointi 4.1

4. Lausekielinen ohjelmointi 4.1 4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen ja tulkinta. - Kääntäminen,

Lisätiedot

MITÄ JAVASCRIPT ON?...3

MITÄ JAVASCRIPT ON?...3 JavaScript MITÄ JAVASCRIPT ON?...3 YLEISTÄ JAVASCRIPTIN SYNTAKSISTA...3 KÄSKYSANAT JA MUUT VARATUT SANAT...3 MUUTTUJIEN, FUNKTIOIDEN JA LUOKKIEN NIMISSÄ...3 HTML-TAGEIHIN VIITTAAVISSA METODINIMISSÄ...3

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

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

Harjoitus 1 -- Ratkaisut

Harjoitus 1 -- Ratkaisut Kun teet harjoitustyöselostuksia Mathematicalla, voit luoda selkkariin otsikon (ja mahdollisia alaotsikoita...) määräämällä soluille erilaisia tyylejä. Uuden solun tyyli määrätään painamalla ALT ja jokin

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

Osio 4: Tietovirrat. Properties- eli ominaisuustiedostot Logger: lokitietojen käsittely

Osio 4: Tietovirrat. Properties- eli ominaisuustiedostot Logger: lokitietojen käsittely Properties- eli ominaisuustiedostot Logger: lokitietojen käsittely 1 Ominaisuudet Kun tutkimme työasemapohjaisia sovelluksiamme, tarvitaan joskus tietoa: mikä on käyttöjärjestelmä mikä on käytössä oleva

Lisätiedot

Ohjelmoinnin peruskurssi Y1

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

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

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

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

Eclipse 3.1 Pikaopas versio 1.0

Eclipse 3.1 Pikaopas versio 1.0 Anne Benson/Tanja Bergius Opintojaksojen atk84d ja ict02d käyttöön 1/17 Eclipse 3.1 Pikaopas versio 1.0 Pikaohjeen sisältö 1. Esittely 2. Asennus ja poistaminen 3. Sovelluskehitys 4. Sovelluksen toteutus

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

JAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++

JAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++ JAVA alkeet JAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++ ja Javascriptin kanssa. Huom! JAVA ja JavaScript eivät silti ole sama asia, eivätkä edes sukulaiskieliä.

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

C# Windows ohjelmointi perusopas

C# Windows ohjelmointi perusopas Paavo Räisänen C# Windows ohjelmointi perusopas www.ohjelmoimaan.net Tätä opasta saa vapaasti kopioida, tulostaa ja levittää ei kaupallisissa tarkoituksissa. Kuitenkaan omille nettisivuille opasta ei saa

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

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

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

LOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100

LOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100 Tiedonsiirtokäskyt LOAD LOAD-käsky toimii jälkimmäisestä operandista ensimmäiseen. Ensimmäisen operandin pitää olla rekisteri, toinen voi olla rekisteri, vakio tai muistiosoite (myös muuttujat ovat muistiosoitteita).

Lisätiedot

Javascript 2: Ohjelmointikielen ominaisuudet. Jaana Holvikivi Metropolia

Javascript 2: Ohjelmointikielen ominaisuudet. Jaana Holvikivi Metropolia Javascript 2: Ohjelmointikielen ominaisuudet Jaana Holvikivi Metropolia HTML - sivun rakenne ja osiot HTML HEAD STYLE SCRIPT STYLEsheet Javascript file BODY Javascript

Lisätiedot

OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012

OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012 OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012 Luento 6: Tiedon esittäminen tietokoneessa, osa 1 Tekijät: Antti Virtanen, Timo Lehtonen, Matti Kujala, Kirsti Ala-Mutka, Petri M. Gerdt et al. Luennon

Lisätiedot

A274101 TIETORAKENTEET JA ALGORITMIT

A274101 TIETORAKENTEET JA ALGORITMIT A274101 TIETORAKENTEET JA ALGORITMIT PERUSTIETORAKENTEET LISTA, PINO, JONO, PAKKA ABSTRAKTI TIETOTYYPPI Tietotyyppi on abstrakti, kun se on määritelty (esim. matemaattisesti) ottamatta kantaa varsinaiseen

Lisätiedot

1 Tehtävän kuvaus ja analysointi

1 Tehtävän kuvaus ja analysointi Olio-ohjelmoinnin harjoitustyön dokumentti Jyri Lehtonen (72039) Taneli Tuovinen (67160) 1 Tehtävän kuvaus ja analysointi 1.1 Tehtävänanto Tee luokka, jolla mallinnetaan sarjaan kytkettyjä kondensaattoreita.

Lisätiedot

C++ Ohjelmoijan käsikirja. Johdanto

C++ Ohjelmoijan käsikirja. Johdanto Johdanto C++ Ohjelmoijan käsikirja Johdanto Tervetuloa Inside C++-kirjan pariin. Tämä on opaskirja standardi C++:n käyttöön. Käsittelemme kirjassa kaikki syntaksin, kieliopin, olio-ohjelmoinnin ja standardikirjastojen

Lisätiedot

TIE 02100 Johdatus ohjelmointiin

TIE 02100 Johdatus ohjelmointiin TIE 02100 Johdatus ohjelmointiin syksy 2015 Kerttu Pollari-Malmi Copyright c Kerttu Pollari-Malmi Johdanto Tämä on opintojaksolla TIE 02100 Johdatus ohjelmointiin käytetty luentomoniste. Moniste on alunperin

Lisätiedot

Ohjelmointi II. Erkki Pesonen Luennot ja harjoitukset. Itä-Suomen yliopisto Tietojenkäsittelytieteen laitos 2015

Ohjelmointi II. Erkki Pesonen Luennot ja harjoitukset. Itä-Suomen yliopisto Tietojenkäsittelytieteen laitos 2015 Ohjelmointi II Erkki Pesonen Luennot ja harjoitukset Itä-Suomen yliopisto Tietojenkäsittelytieteen laitos 2015 1 Johdantoa kurssilla opiskeluun: oppimistavoitteet. 1. Tiedän mitä asioita kurssilla opiskellaan

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

Perinteiset tietokoneohjelmat alkavat pääohjelmasta, c:ssä main(), jossa edetään rivi riviltä ja käsky käskyltä.

Perinteiset tietokoneohjelmat alkavat pääohjelmasta, c:ssä main(), jossa edetään rivi riviltä ja käsky käskyltä. TIETOKONEOHJELMIEN RAKENNE Perinteiset tietokoneohjelmat alkavat pääohjelmasta, c:ssä main(), jossa edetään rivi riviltä ja käsky käskyltä. Teollisuusautomaation ohjelmiin on lainattu runsaasti perinteisen

Lisätiedot