Ohjelmointitaito (ict1td002, 12 op) Syksy 2008

Slides:



Advertisements
Samankaltaiset esitykset
Tuloksellinen Java-ohjelmointi Luku 3 Luokkien käyttäminen
Advertisements

15. Loogiset operaatiot.
Ohjelmointitaito (ict1td002, 12 op) Opintojakson esittely, kevät 2009.
Ohjelmointitaito (ict1td002, 12 op) Opintojakson esittely, syksy 2008.
Olio-ohjelmoinnin perusteet luento 3: Muuttujista ja funktioista Sami Jantunen LTY/Tietotekniikan osasto.
6. Metodit.
© Jukka Harju, Viittausmuuttujat. © Jukka Harju, Viittaukset •Viittausmuuttuja sisältää tiedon siitä missä muistipaikassa olio.
JavaScript (c) Irja & Reino Aarinen, 2007
Nämä kalvot on lisensoitu Creative Commons Attribution-ShareAlike 1
Taulukot Jukka Juslin © Jukka Juslin 2006.
Taulukot: Array Taulukko Javassa pitää aina perustaa (new)
22. Taulukot.
13. Pakkaukset.
Näytölle tulostaminen. 7.2 Sisällys System.out.println - ja System.out.print -operaatiot. Tulostus erikoismerkeillä. Edistyneempää tulosteiden.
Java-ohjelmointi Opas ammattimaiseen osaamiseen Luku 4 Toistolauseet
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
Yksinkertaiset graafiset syöttö- ja tulostustoiminnot.
16. Lohkot Sisällys Tutustutaan lohkoihin. Muuttujien ja vakioiden näkyvyys sekä elinikä erityisesti operaation lohkossa. Nimikonfliktit. Muuttujat.
© Jukka Harju, Jukka Juslin Java-ohjelmointi Opas ammattimaiseen osaamiseen Luku 9 Poikkeuskäsittely.
Poikkeustenkäsittely  Mitä poikkeustenkäsittely tarkoittaa?  Poikkeuksen käsitteleminen  Poikkeusluokkien hierarkia  Poikkeuksen heittäminen 1.
9. Periytyminen Javassa.
Toiston tekeminen Javalla  Mikä toistorakenne on?  while toistorakenne  do-while toistorakenne  for toistorakenne 1.
Ohjelmoinnin tekniikkaa Sisällys for -lause lyhemmin. Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely.
TAULUKKO YKSIULOTTEINEN TAULUKKO. TAULUKKO  Taulukon tarkoitus Ohjelmassa tarvitaan paljon samantyyppisiä samaan kohdealueeseen kuuluvia muuttujia Näitä.
13. Hyvä ohjelmointitapa (osa 1)
© Jukka Harju, Jukka Juslin
Java-ohjelmointi Opas ammattimaiseen osaamiseen Luku 2 Ensimmäiset ohjelmat © Jukka Harju, Jukka Juslin.
Java Java on Sun Microsystems yhtiön kehittämä laaja olio-pohjainen ohjelmointikieli, joka on laitteistoriippumaton. Laitteistoriippumattomuudessa on.
ict1td002 - Copyright Raine Kauppinen 1 Alkuarvot ja tyyppimuunnokset (1/5)  Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int.
String-vertailusta ja Scannerin käytöstä (1/2)
20. Javan omat luokat.
Kuinka niitä käsitellään
HelloWorld-ohjelma. 5.2 Sisällys Lähdekoodi. Lähdekoodin (osittainen) analyysi. Lähdekoodi tekstitiedostoon. Lähdekoodin kääntäminen tavukoodiksi.
4. Attribuutit 4.1. Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2.
5. Kapselointi Yleistä Kapseloinnilla (encapsulation) tarkoitetaan luokan tietojen ja toimintojen pakkaamista yhdeksi suojatuksi kokonaisuudeksi.
10. Abstrakti luokka Johdanto Abstrakti luokka (abstract class) poikkeaa konkreettisesta luokasta (ei-abstrakti luokka) siten, että siitä ei.
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
Näppäimistöltä lukeminen Sisällys Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä. In -luokka.
Hyvä ohjelmointitapa (osa 2) Yleistä Lisää hyviä ohjelmointikäytäntöjä: − Jaa pitkä koodi osiin. − Käytä attribuutteja säästeliäästi.
22. Taulukot.
Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen
@ Leena Lahtinen TIETOKONEOHJELMAN RAKENNE OHJELMALLA ON KAKSI OSAA:  MÄÄRITYSOSA TIETOJEN KUVAUKSIA VARTEN  SUORITUSOSA TIETOJEN KÄSITTELYÄ.
Lyhyt johdanto CVS:ään (ict1td002 - Ohjelmointitaito)
© Jukka Juslin1 Osio2 Olio-ohjelmointi: Merkkijonot eli Stringit Jukka Juslin.
ict1td002 - Copyright Raine Kauppinen 1 Tietovirrat  Tietovirran käsite  Tietovirtojen käyttö  Tekstitiedoston luku  Tekstitiedoston kirjoitus.
2. Lisää Java-ohjelmoinnin alkeita
Oliot ja luokat Oliot ja luokat Oliot (object) ja luokat (class) ovat keskeisiä olio- ohjelmoinnin käsitteitä. Olio-ohjelmointi on ohjelmointiparadigma,
Visual Basic -ohjelmointi
Tuloksellinen Java-ohjelmointi Luku 2 Ensimmäiset ohjelmat
Olioiden taulukointi Perustaulukon käyttö Luokan ilmentymät voidaan tallettaa taulukkoon samoin kuin muuttujat Esimerkki talletetaan taulukkoon opintojaksojen.
Aihe: J2ME Log4J Esittäjä: Lokki-projekti Pvm: Väliesittely.
Javan oliovirrat eli oliotiedostojen käsittely. Olio- eli objektitiedostojen käsittely Käsittely täysin samanlaista kuin muiden tiedostojen 1.Otetaan.
PHP Muuttujien määrittely, sijoituslause ja aritmeettiset operaattorit Jouni Juntunen Oulun seudun ammattikorkeakoulu Liiketalouden yksikkö.
Tiedostot. 8.2 Sisältö Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen.
String-vertailusta ja Scannerin käytöstä (1/2)
6. Muuttujat ja Java.
6. Tiedostot.
17. Javan omat luokat.
7. Hyvä ohjelmointitapa..
13. Loogiset operaatiot.
3. Luokat, oliot ja metodit Java-kielessä (Lausekielinen ohjelmointi I ja II –kursseilla opitun kertausta.)
5. HelloWorld-ohjelma.
7. Näytölle tulostaminen
9. Aritmeettiset operaatiot
14. Hyvä ohjelmointitapa.
7. Näytölle tulostaminen
5. HelloWorld-ohjelma.
13. Loogiset operaatiot.
4. Luokan testaus ja käyttö olion kautta
eli oliotiedostojen käsittely
Esityksen transkriptio:

Ohjelmointitaito (ict1td002, 12 op) Syksy 2008 Raine Kauppinen raine.kauppinen@haaga-helia.fi

1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-kehitysympäristö Java-ohjelma ja luokka Tiedon tulostaminen Laskutoimitukset Muuttujat ja niiden alustaminen Tietotyypit ict1td002 - Copyright Raine Kauppinen 25.8.2008

Tietokoneohjelma Tietokoneohjelma on kokoelma toimintaohjeita (käskyjä, lauseita), joiden avulla tietokone saadaan suorittamaan toimenpidesarja, jonka avulla saadaan haluttu lopputulos, esimerkiksi ratkaisu johonkin ongelmaan. Yksinkertainen ohjelma voi esimerkiksi tulostaa tekstiä tai laskutoimitusten tuloksia näytölle. Monimutkainen ohjelma voi esimerkiksi laskea annettujen tietojen perusteella projektin keston ja kustannukset. ict1td002 - Copyright Raine Kauppinen 25.8.2008

Java-kieli ja Eclipse-kehitysympäristö Tietokoneohjelmat toteutetaan jollakin ohjelmointikielellä, tällä opintojaksolla Java-kielellä. Muita ohjelmointikieliä ovat esimerkiksi C, C++, C# ja Pascal. Eri ohjelmointikielillä on erilainen syntaksi, eli niiden käskyt, lauseet ja rakenteet kirjoitetaan eri tavalla. Ohjelmointia varten tarvitaan kehitysympäristö, joita on myös useita erilaisia (esimerkiksi Eclipse, NetBeans ja VisualStudio). Tällä jaksolla käytetään Eclipse-ympäristöä. ict1td002 - Copyright Raine Kauppinen 25.8.2008

Java-ohjelma ja luokka (1/3) Ensimmäinen Java-ohjelmamme on seuraava: package osio1.vko1; /** * Ohjelma, joka tervehtii käyttäjää. * @author Raine Kauppinen */ public class Hei { public void aja() { System.out.println("Hei!"); } public static void main(String[] args) { Hei olio = new Hei(); olio.aja(); ict1td002 - Copyright Raine Kauppinen 25.8.2008

Java-ohjelma ja luokka (2/3) Edellä olevassa ohjelmakoodissa on paljon asioita, joita ei vielä tarvitse ymmärtää, mutta sitä voi käyttää esimerkkinä ensimmäisiä ohjelmia kirjoittaessa. Java-kielessä kaikki ohjelmat kirjoitetaan luokkiin (public class Hei {…}) ja luokat tallennetaan luokan nimisiin tiedostoihin .java päätteellä lisättynä (Hei.java). Luokissa on metodeita (public void aja() {…} ja public static void main(String[] args) {…}), mutta näistä ei tarvitse vielä tietää sen enempää – niihin palataan. ict1td002 - Copyright Raine Kauppinen 25.8.2008

Java-ohjelma ja luokka (3/3) pakettimääritys (osio1.vko1) package osio1.vko1; /** * Ohjelma, joka tervehtii käyttäjää. * @author Raine Kauppinen */ public class Hei { public void aja() { System.out.println("Hei!"); } public static void main(String[] args) { Hei olio = new Hei(); olio.aja(); kommentti luokka (Hei) metodi (aja) metodi (main) ict1td002 - Copyright Raine Kauppinen 25.8.2008

Tiedon tulostaminen (1/3) Tässä vaiheessa meitä kiinnostaa tuo (metodin) public void aja() rivin jälkeinen, kaarisulkujen sisällä oleva osa, jossa edellä on yksi rivi: System.out.println("Hei!"); Kyseessä on Java-kielen tulostuslause, jolla ohjelma saadaan tulostamaan näytölle. Myöhemmin opitaan, mitä System.out.println-osa tarkoittaa, mutta tässä vaiheessa on hyvä huomata, että lauseen päättää puolipiste ja tulostettava merkkijono tulee sulkujen sisään lainausmerkeissä. ict1td002 - Copyright Raine Kauppinen 25.8.2008

Tiedon tulostaminen (2/3) Muutetaan aja-metodin sisältöä eli sen alku- ja loppukaarisulkujen sisällä olevaa osaa: System.out.println("Hän sanoi "); // println tulostaa System.out.println("Hei!"); // rivinvaihdon System.out.println-lause tulostaa tekstin ja rivinvaihdon, sama ilman rivinvaihtoa tehdään näin: System.out.print("Hän sanoi "); // pelkkä print ei System.out.print("Hei!"); // tulosta rivinvaihtoa Huomaa, että // rivin lopussa aloittaa kommentin. ict1td002 - Copyright Raine Kauppinen 25.8.2008

Tiedon tulostaminen (3/3) Tulostetaan näytölle vielä lisää ja muotoillaan tulostusta hieman: System.out.println("Hän sanoi: "); System.out.println("\"Hei!\""); // lainausmerkit: \" System.out.println("\n\n"); // rivinvaihto: \n System.out.println("\tNo hei!"); // tabulaattori: \t System.out.println("\\\\\\\\\\"); // takakeno: \\ Pitkän tulostuslauseen saa paloiteltua myös usealle riville (katenointi) toistamatta System.out.println -alkua: System.out.println("Hän sanoi \"Hei!\"\n\n" + "\tNo hei!\\\\\\\\\\"); ict1td002 - Copyright Raine Kauppinen 25.8.2008

Laskutoimitukset (1/2) Javassa on käytettävissä mm. peruslaskutoimitukset: + yhteenlasku - vähennyslasku * tulo / osamäärä % jakojäännös Näiden tulostamisessa kannattaa olla tarkkana, koska lopputulos voi olla laskujärjestyksestä riippuen joko merkkijonojen liittäminen (katenointi) tai aritmeettinen operaatio. Epäselvissä tapauksissa kannattaa järjestys määrätä suluilla (). ict1td002 - Copyright Raine Kauppinen 25.8.2008

Laskutoimitukset (2/2) Esimerkkejä laskutoimituksista ja tulostamisesta: // lause // tulostus System.out.println(2+3); // 5 System.out.println("Luku on "+2+3); // luku on 23 System.out.println("Luku on "+(2+3)); // luku on 5 System.out.println("Tulo 2*3="+2*3); // Tulo 2*3=6 System.out.println(9/3); // 3 System.out.println(5%2); // 1 Laskutoimituksia voi siis tehdä suoraan tulostuslauseessa (kunhan huolehtii järjestyksestä). Huomio lainausmerkkien käyttö tulostuksessa. ict1td002 - Copyright Raine Kauppinen 25.8.2008

Muuttujat ja niiden alustaminen (1/2) Muuttuja on ohjelmassa nimetty (esitelty) paikka (keskusmuistissa), johon ohjelman tarvitsema tieto tallennetaan ja josta se haetaan tarvittaessa. Muuttujan nimeä sanotaan tunnukseksi ja on Javassa tapana kirjoittaa pienellä alkukirjaimella - luokkien nimet taas kirjoitetaan isolla alkukirjaimella. Muuttujalle voidaan alustaa esittelyn yhteydessä alkuarvo. Muuttujan sisältämän arvon voi esimerkiksi tulostaa tai muuttaa ja sitä voiv käyttää laskutoimituksen osana. ict1td002 - Copyright Raine Kauppinen 25.8.2008

Muuttujat ja niiden alustaminen (2/2) Esimerkkejä muuttujien käytöstä: int luku1 = 15; // (kokonaisluku)muuttujien esittelyt int luku2 = 3; // ja alkuarvojen asetukset System.out.println(luku1+luku2); // 18 System.out.println(luku1+1); // 16 System.out.println(luku2*luku2); // 9 System.out.println((luku1+(2+luku2))/100); // 0 Edellä käytettiin kokonaislukuja, minkä vuoksi viimeisen lauseen tulos pyöristyy nollaan. ict1td002 - Copyright Raine Kauppinen 25.8.2008

Tietotyypit (1/2) Muuttujan esittely on joko muotoa tietotyyppi tunnus; // esittely ilman alustusta tai muotoa tietotyyppi tunnus = alkuarvo; // esittely ja alustus Edellä käytetyn kokonaisluvun (int) lisäksi muita tietotyyppejä ovat mm. double (desimaaliluku), boolean (totuusarvo), char (yksittäinen merkki), byte (pieni kokonaisluku; tavu), short (pienehkö kokonaisluku), long (iso kokonaisluku), float (pienempi desimaaluku) ja String (merkkijono). ict1td002 - Copyright Raine Kauppinen 25.8.2008

Tietotyypit (2/2) Muuttujan alkuarvon on vastattava sen tietotyyppiä: int luku = 123; double dluku = 12.45; // desimaalierotin on . boolean totuusarvo = true; // Boolean on aina joko // true tai false. char merkki = ’a’; // Yksittäinen merkki on // yksittäisten hipsujen // sisällä, vrt. // merkkijono alla. String merkkijono = ”Tämä on merkkijono.” String on muista mainituista poikkeava tietotyyppi, johon palataan jatkossa – huomaa, että se kirjoitetaan isolla alkukirjaimella. ict1td002 - Copyright Raine Kauppinen 25.8.2008