5.1 5. HelloWorld-ohjelma. 5.2 Sisällys Lähdekoodi. Lähdekoodin (osittainen) analyysi. Lähdekoodi tekstitiedostoon. Lähdekoodin kääntäminen tavukoodiksi.

Slides:



Advertisements
Samankaltaiset esitykset
15. Loogiset operaatiot.
Advertisements

6. Metodit.
4. Lausekielinen ohjelmointi
© 2004 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Java-perusteet Kari Kujansuu
Nämä kalvot on lisensoitu Creative Commons Attribution-ShareAlike 1
Jukka Juslin Poikkeukset ja niiden paikallistaminen * Jukka Juslin * Liittyy oppikirjan lukuun 11.
22. Taulukot.
Käännösaikaiset virheilmoitukset • Tulee silloin, kun koodissa on jotain sellaista, joka ei ole Javan syntaksin mukaista • Esim. – Syntax error, insert.
Ohjelmointitaito (ict1td002, 12 op) Syksy 2008
13. Pakkaukset.
Näytölle tulostaminen. 7.2 Sisällys System.out.println - ja System.out.print -operaatiot. Tulostus erikoismerkeillä. Edistyneempää tulosteiden.
Tekstiasiakirjan kirjoittaminen
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
Java-ohjelmointikieli -Javasta ohjelmointikielenä -ohjelmontivälineistä -opasteista.
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.
13. Hyvä ohjelmointitapa (osa 1)
1 Kertaus koetta varten oleellisista asioista Jukka Juslin.
Java Java on Sun Microsystems yhtiön kehittämä laaja olio-pohjainen ohjelmointikieli, joka on laitteistoriippumaton. Laitteistoriippumattomuudessa on.
Tietokoneohjelman suoritus opintojakso Olioajattelu ja –ohjelmointi, osa I Hans Nieminen Syksy 2013.
19. Olio-ohjelmointia Javalla
20. Javan omat luokat.
Kuinka niitä käsitellään
1 DataOutputStream ja DataInputStream DataOutputStream:lla voidaan tallentaa perustietotyyppien arvoja binäärimuotoiseen tiedostoon DataInputStream:lla.
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.
Poikkeukset Yleistä Virheeseen varautuminen tarkoittaa sitä, että ohjelmoija huomioi koodia kirjoittaessaan ajonaikaisen virheen mahdollisuuden.
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Ä.
Oliot ja luokat Oliot ja luokat Oliot (object) ja luokat (class) ovat keskeisiä olio- ohjelmoinnin käsitteitä. Olio-ohjelmointi on ohjelmointiparadigma,
Tiedostojen käsittely
Olioiden taulukointi Perustaulukon käyttö Luokan ilmentymät voidaan tallettaa taulukkoon samoin kuin muuttujat Esimerkki talletetaan taulukkoon opintojaksojen.
Javan oliovirrat eli oliotiedostojen käsittely. Olio- eli objektitiedostojen käsittely Käsittely täysin samanlaista kuin muiden tiedostojen 1.Otetaan.
1 © Jukka Juslin Luokat, attribuutit ja metodit Yleistietoa: seuraavalla koulutusviikolla tarkempi käsittely.
14. Poikkeukset Sisällys Johdanto poikkeuksiin. Poikkeusten käsittely: − Poikkeusten käsittely paikallisesti. − Poikkeusten heittäminen. Exception.
Sähköpostin lähetys Java- ohjelmasta Jukka Juslin.
Tiedostot. 8.2 Sisältö Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen.
Lausekielinen ohjelmointi. 4.2 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Hyvä ohjelmointitapa. Lausekielestä konekieleksi: - Lähdekoodi,
5. Kapselointi.
6. Tiedostot.
1. Omat operaatiot.
13. Pakkaukset.
Kuinka niitä käsitellään
8. Näppäimistöltä lukeminen
4. Komentoriviparametrit
7. Hyvä ohjelmointitapa..
13. Loogiset operaatiot.
3. Luokat, oliot ja metodit Java-kielessä (Lausekielinen ohjelmointi I ja II –kursseilla opitun kertausta.)
15. Lohkot.
5. HelloWorld-ohjelma.
7. Näytölle tulostaminen
8. Näppäimistöltä lukeminen
Kuinka niitä käsitellään
14. Hyvä ohjelmointitapa.
15. Lohkot.
3. Komentoriviparametrit
13. Pakkaukset.
7. Hyvä ohjelmointitapa..
7. Näytölle tulostaminen
5. HelloWorld-ohjelma.
13. Pakkaukset.
4. Luokan testaus ja käyttö olion kautta
Esityksen transkriptio:

HelloWorld-ohjelma

5.2 Sisällys Lähdekoodi. Lähdekoodin (osittainen) analyysi. Lähdekoodi tekstitiedostoon. Lähdekoodin kääntäminen tavukoodiksi. Tavukoodin suorittaminen. Virheiden korjaaminen

5.3 Lähdekoodi /* * Laki-kurssin ensimmäinen Java-ohjelma. * Jorma Laurikkala, Tampereen yliopisto. */ public class HelloWorld { public static void main(String[] args) { // Tulostetaan näytölle Hello World -teksti. System.out.println("Hello World!"); }

5.4 Lähdekoodin analyysi Java aito on oliopohjainen kieli  suoritettava lähdekoodi sijoitetaan aina luokkaan (class). HelloWorld-luokan määrittely: public class HelloWorld { … } Ongelma: Ohjelmoinnin perusideoita voi oppia ilman olioajattelua! Ratkaisu: Jätetään luokkien ja olioiden käsittely myöhemmäksi ja hyväksytään, että koodissa on jonkin verran “magiaa”.

5.5 Lähdekoodin analyysi Suoritettavassa Java-luokassa on main -operaatio (metodi), joka määritellään aina samalla tavalla: public static void main(String[] args) { … } Lykätään metodinkin analyysi myöhemmäksi ja kirjoitetaan toistaiseksi koodi pääohjelman sisään. Ohjelman varsinainen toiminnallisuus on lauseessa System.out.println("Hello World!"); joka tulostaa näytölle tekstin Hello World.

5.6 Lähdekoodin analyysi Java-kielen System.out.println -operaatio vastaa siis vuokaavioissa ja pseudokoodissa käytettyä tulosta -operaatiota. Kahdella kauttamerkillä ( // ) alkavat rivit ovat myös Javassa kommentteja. Laajempia kommentteja on sujuvampaa kirjoittaa aloittamalla kommentti kauttamerkillä ja asteriskilla ( /* ) ja lopettamalla asteriskilla ja kauttamerkillä ( */ ). /*…*/ -tyylisiä kommentteja ei saa laittaa sisäkkäin.

5.7 Lähdekoodin analyysi /* * Laki-kurssin ensimmäinen Java-ohjelma. * Jorma Laurikkala, Tampereen yliopisto. */ public class HelloWorld { public static void main(String[] args) { // Tulostetaan näytölle Hello World -teksti. System.out.println("Hello World!"); } Lähdekoodin alussa kerrotaan mitä ohjelma tekee. Ohjelman ja main - operaation rungot suljetaan aaltosulkeiden sisään kootuksi lauseeksi. Rungot sisennetään aina, jotta ohjelman osat erottuvat toisistaan. Koodi alkaa tiedoston vasemmasta reunasta. Runkojen rivejä sisennetään välilyönneillä siten, että rivit alkavat aina samalta tasolta.

5.8 Lähdekoodi tekstitiedostoon Kirjoitetaan HelloWorld-ohjelman lähdekoodi esimerkiksi Notepad-editorilla ja tallennetaan koodi HelloWorld.java -nimiseen tiedostoon. Java-lähdekoodia sisältävä tiedosto: − Nimetään ohjelman (eli luokan) nimen mukaan. − Tunnistetaan java -päätteen avulla. Huomaa isot alkukirjaimet sekä ohjelman että tiedoston nimessä: Java-kielessä isot ja pienet kirjaimet eivät ole sama asia!

5.9 Lähdekoodin kääntäminen tavukoodiksi Avataan komentotulkki (command prompt). Kurssin kotisivulla tarkempia tietoja komentotulkin käytöstä. Siirrytään cd -komennolla hakemistoon, jossa lähdekooditiedosto sijaitsee. Kirjoitetaan komentotulkissa javac HelloWorld.java ja painetaan Enter-näppäintä. Mikäli kääntäminen onnistui, hakemistoon on ilmestynyt tavukooditiedosto HelloWorld.class class -tiedostopääte on varattu tavukoodille.

5.10 Lähdekoodin kääntäminen tavukoodiksi Kielioppivirhe tuottaa enemmän tai vähemmän selkeän virheilmoituksen. Tutki tarkkaan ilmoitettu rivi. Jos virhe ei ole rivillä, tarkista koko koodi. − Muista aina tallentaa korjattu koodi; kääntäjä lukee lähdekoodin tiedostosta, ei editorista. On myös mahdollista, että kääntäminen ei onnistu vaikka koodi on kirjoitettu oikein! Tällöin on usein kyse puutteellisista ympäristöasetuksista. Tarkempia tietoja löytyy kurssisivuilta.

5.11 Tavukoodin suorittaminen Kirjoita komentotulkissa java HelloWorld ja paina Enter- näppäintä. Komento on annettava hakemistossa, jossa tavukoodi- tiedosto sijaitsee. Tulkille annetaan ohjelman nimi HelloWorld tavukooditiedoston nimen asemasta. Jos tulkille tarjoaa class -päätteistä tiedostoa, saa luultavasti ilmoituksen − Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld/class tai − Error: Could not find or load main class HelloWorld.class.

5.12 Tavukoodin suorittaminen Virheelliset ympäristöasetukset voivat estää myös Java-tulkin käytön. javac - ja java -ohjelmat löytyvät Oraclen (aiemmin Sunin) Java Development Kitistä (JDK) − Ilmaisohjelmisto – saatavilla Oraclen sivuilta. − Löytyy usein valmiiksi asennettuna uusilta tietokoneilta. − Kurssilla tarvitaan Javan versio tai uudempi. − Katso kurssisivujen Ohjelmointivälineitä-kohta, jossa muun muassa linkki JDK-asennukseen ja ohjeita.

5.13 HelloWorld-kertaus lähde- koodi HelloWorld.java Käännös javac-ohjelmalla: javac HelloWorld.java Tulkinta java-ohjelmalla: java HelloWorld Suoritus: Hello World! tavu- koodi tavu- koodi kone- kieli HelloWorld.class

5.14 Kielioppivirheiden korjaaminen /* * Laki-kurssin ensimmäinen Java-ohjelma. * Jorma Laurikkala, Tampereen yliopisto. */ public class HelloWorld { public static void main(string[] args) { // Tulostetaan näytölle Hello World -teksti. System.out.println("Hello World!"); } Java-kääntäjä (javac) antaa kielioppivirheestä ilmoituksen. Virhe on kääntäjän antamalla rivillä tai sen lähistöllä. Korjattu koodi tallennetaan ja käännetään uudelleen. Kielioppivirhe: String-tunnus alkaa pienellä kirjaimella. Kääntäjän virheilmoitus: HelloWorld.java:6: cannot find symbol symbol : class string location: class HelloWorld public static void main(string[] args) { ^

5.15 Suorituksen paljastamat virheet Java-ohjelman ajonaikainen virhe tapahtuu tavukoodia tulkilla (java) suoritettaessa. Ohjelmaa pysähtyy (eli “kaatuu”) ajonaikaisen virheen seurauksena. Ajonaikainen virhe on seurausta virheestä ohjelman logiikassa. Usein looginen virhe ei pysäytä ohjelmaa vaan ohjelma ei vain toimi ajatellulla tavalla. Ohjelman toimintaa voidaan tarvittaessa seurata tulostuslauseiden avulla.

5.16 Java-ohjelman kehitysprosessi karkealla tasolla Kirjoita lähdekoodi editorilla Käännä lähdekoodi Suorita tavukoodi tulkilla Tuliko käännös- virheitä? K E Alku Loppu Korjaa lähdekoodia editorilla Tuliko ajonaikaisia- virheitä? Toimiko ohjelma kuten ajateltiin? Vaikeasti tunnistettava virhe? Lisää koodiin tulostuslauseita K K K E E E