5. HelloWorld-ohjelma.

Slides:



Advertisements
Samankaltaiset esitykset
Excel ja makrot Excel koostuu kahdesta eri osasta Alt+F11 VBA
Advertisements

6. Metodit.
JavaScript (c) Irja & Reino Aarinen, 2007
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
22. Taulukot.
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.
Ohjelma on kokoelma toimintaohjeita annetun tehtävän ______________________. Ohjelmassa on peräkkäisten toimintojen lisäksi yleensä valintaa ja _____________.
Tekstiasiakirjan kirjoittaminen
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
Java-ohjelmointikieli -Javasta ohjelmointikielenä -ohjelmontivälineistä -opasteista.
Yksinkertaiset graafiset syöttö- ja tulostustoiminnot.
Ohjelman jakaminen useampaan tiedostoon Olio-ohjelmointi (C++) KYAMK, Jarkko Ansamäki 2001.
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.
13. Hyvä ohjelmointitapa (osa 1)
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.
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.
@ 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.
Poikkeukset Yleistä Virheeseen varautuminen tarkoittaa sitä, että ohjelmoija huomioi koodia kirjoittaessaan ajonaikaisen virheen mahdollisuuden.
Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen
Tiedostojen käsittely
14. Poikkeukset Sisällys Johdanto poikkeuksiin. Poikkeusten käsittely: − Poikkeusten käsittely paikallisesti. − Poikkeusten heittäminen. Exception.
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.
Harjoitustyö.
6. Tiedostot.
1. Omat operaatiot.
13. Pakkaukset.
2. Taulukot.
1. Olio-ohjelmointi.
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.
11. Javan valintarakenteet
2. Taulukot.
15. Lohkot.
12. Javan toistorakenteet
6. Metodit.
3. Komentoriviparametrit
13. Pakkaukset.
7. Hyvä ohjelmointitapa..
7. Näytölle tulostaminen
13. Loogiset operaatiot.
12. Javan toistorakenteet
Tiedon tulostaminen/kirjoittaminen ”WriteLine”
3. Attribuutit.
13. Pakkaukset.
4. Luokan testaus ja käyttö olion kautta
Esityksen transkriptio:

5. HelloWorld-ohjelma

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

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!"); }

Lähdekoodin analyysi Lähdekoodi on sijoitettava luokkaan (class), koska Java on oliopohjainen kieli. Luokka koostuu otsikosta: public class HelloWorld ja aaltosuljeparilla yhteen kootusta lauseesta (rungosta), jonka sisällä on luokkaan liittyvä osuus ohjelmasta. Luokkiin ja olioihin tutustutaan tarkemmin myöhemmin. Toistaiseksi on hyväksyttävä, että koodissa on jonkin verran “magiaa”.

Lähdekoodin analyysi Luokan sisältö jaetaan operaatioiksi (aliohjelmiksi). Myös operaatioilla on otsikko ja runko. Rungon sisään kootaan operaatioon kuuluvat lauseet. Kaikki koodi kirjoitetaan toistaiseksi main-operaation sisään. Main-operaatiota kutsutaan usein pääohjelmaksi, koska se suoritetaan aina ennen kaikkia muita operaatioita. Main-operaation otsikko on kirjoitettava aina näin: public static void main(String[] args) jotta ohjelma voidaan suorittaa.

Lähdekoodin analyysi Ohjelman varsinainen toiminnallisuus on lauseessa System.out.println("Hello World!"); joka tulostaa näytölle tekstin Hello World. Javan System.out.println-operaatio vastaa vuokaavioissa käytettyä tulosta-operaatiota. Kahdella kauttamerkillä (//) alkavat rivit ovat kommentteja. Laajemmat kommentit on sujuvampaa kirjoittaa lohkokommenteiksi, jotka aloitetaan kauttamerkillä ja asteriskilla (/*) ja lopetetaan asteriskilla ja kauttamerkillä (*/). Lohkokommentteja ei saa kirjoittaa sisäkkäin.

Lähdekoodin analyysi Lähdekoodin alussa kerrotaan kommentilla mitä ohjelma tekee. Ohjelman ja main-operaation rungot suljetaan aaltosulkeiden sisään kootuksi lauseeksi. Rungot sisennetään aina, jotta ohjelman osat erottuvat toisistaan. Jokainen sisennyksen taso on saman syvyinen. (Ohessa on käytetty kolmea välilyöntiä.) /* * 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!"); } Runkojen rivejä sisennetään välilyönneillä siten, että rivit alkavat aina samalta tasolta. Koodi alkaa tiedoston vasemmasta reunasta.

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!

Lähdekoodin kääntäminen tavukoodiksi Avataan komentoikkuna (command prompt) ja siirrytään cd-komennolla hakemistoon, jossa lähdekooditiedosto sijaitsee. Kurssin kotisivulla on tarkempia tietoja komentotulkin käytöstä. 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.

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.

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.

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. Usein tietokoneilla valmiiksi asennettuna. Kurssilla tarvitaan Javan versio 1.8.0 tai uudempi. Katso kurssisivujen Ohjelmointivälineitä-kohta, jossa muun muassa linkki JDK-asennukseen ja ohjeita.

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

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!"); } 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) { ^ 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.

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.

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