Tehtäväehdotuksia

Tuntitehtäviä

Kääntämistä

  1. Kopioi Javakurssi.java hakemistoosi, jossa voit kääntää Java-ohjelmia (opettaja neuvoo sinua tarvittaessa).
    1. katso, mitä tiedostoja hakemistossasi on.
    2. käännä Javakurssi.java Java-kääntäjällä
    3. katso, mitä tiedostoja hakemistossasi nyt on. Löydätkö tiedoston Javakurssi.class? Mikä se on?
  2. Kopioi Hei.java hakemistoosi.
    1. käännä Hei.java Java-kääntäjällä
    2. katso, mitä tiedostoja hakemistossasi nyt on. Löydätkö tiedoston Hei.class?
  3. Yritä kääntää Hei.class Java-kääntäjällä. Saat virheilmoituksen "invalid argument: Hei.class" ("väärä argumentti") ja Java-kääntäjän käyttöohjeen.
    1. Miksi Java-kääntäjä ei suostu kääntämään tiedostoa?
    2. Mitä tiedostoja kääntäjä sitten suostuu kääntämään?
    3. Kun annat Java-kääntäjälle käskyn kääntää Java-tiedosto (esim. edellisissä tehtävissä), mistä seikoista tiedät, että Java-kääntäjä on varmasti kääntänyt antamasi Java-tiedoston?

Suorittamista

  1. Suorita aiemmin kääntämäsi Javakurssi-ohjelma (huomaa, että kun suoritat class-tiedostoa, on sinun jätettävä tiedostoliite pois tiedostonimen perästä).
    1. Mitä komentoa käytit ohjelman käynnistämiseen?
    2. Mitä eroa siinä oli tavallisen ei Java-kielisen ohjelman käynnistämiseen verrattuna?
  2. suorita aiemmin kääntämäsi Hei-ohjelma.
    1. Miksi ruudulle tulostui eri tekstiä kuin Javakurssi- ohjelmassa?
    2. Jos haluaisit saada saman tekstin tulostettua tästä ohjelmasta, olisiko se mahdollista muuttamatta alkuperäistä Hei.java-tiedostoa?
  3. Avaa nyt Hei.java opettajan kertomassa tekstinkäsittelyohjelmassa.
    1. Muokkaa ohjelmaa siten, että laitat ohjelman tulostamaan jonkin mielestäsi kauniin lauseen. Muuttaminen tapahtuu siten, että vaihdat käskyssä System.out.println("Hei kaikille!"); tuon "Hei kaikille!"-tekstin haluamaksesi. Huomaa, että teksti on oltava lainausmerkeissä, muuten ohjelma on virheellinen.
    2. Tallenna tekemäsi muutokset.
    3. Käännä ja suorita Hei.java
    4. Ota disketille kopio tiedostosta Hei.java
    5. Vaihda diskettejä vieruskaveriesi kanssa.
    6. Kopioi vierustovereiltasi saamasi Hei.java disketiltä hakemistoosi ja suorita se. Todennäköisesti yllätykseksi huomasitkin, että tulostuva teksti on sama kuin, mitä olit itse kirjoittanut. Miten se on mahdollista?
    7. Käännä nyt Hei.java ja suorita se. Sano vierustovereillesi, mitä heidän ohjelmansa tulosti.
  4. Yritä kääntää Virhe.java. Saat virheilmoituksen.
    1. Miksi Java-kääntäjä ei suostunut kääntämään tiedostoa, vaikka sen tiedostopääte on .java?
    2. Avaa ohjelma tekstinkäsittelyohjelmassa ja yritä etsiä, mistä virhe voisi johtua.
    3. Jos löydät virheen, korjaa se, tallenna muutokset, käännä ohjelma ja suorita se.

Kotitehtäviä

  1. Mitä seuraavat käsitteet tarkoittavat:
    1. Ohjelma
    2. Ohjelmointikieli
    3. Kääntäjä
    4. Ohjelman suoritus
    5. Ohjelmointikielen syntaksi
  2. Miksi ohjelma on käännettävä ennen suoritusta?
  3. Mitä yhteistä seuraavilla arkielämän tilanteilla on Java- ohjelmointikielen kanssa?
    1. Käännät äidinkielen aineesi sanakirjan avulla englanniksi.
    2. Ruotsinopettaja, joka osaa myös englantia, lukee edellä tekemäsi englanninkielisen käännöksen kouluun saapuneille ruotsalaisille vieraille ruotsiksi.
    3. Kun käsket koiraa, jolle on opetettu käskyt "maahan!" ja "istu!", menemään maahan, et sano, että "Nyt kyllä haluan sinun, Musti, menevän makuullesi" vaan sanot "maahan!".
  4. Mitä eroa on Java-tulkilla ja Java-kääntäjällä?
  5. Kaverisi antaa sinulle tiedoston Hahaa.class. Hän ei sano, mikä se on, käskee vain suorittaa sen.
    1. Voiko sen kääntää Java-kääntäjällä?
    2. Voiko sen suorittaa Java-tulkilla?
    3. Osaatko nähdä tiedostoa katselemalla, mitä ohjelma tekee?
    4. Onko järkevää suorittaa tuota tiedostoa?
  6. Kaverisi antaa sinulle tiedoston Hahaa.java. Hän ei sano, mikä se on, käskee vain suorittaa sen.
    1. Voiko sen kääntää Java-kääntäjällä?
    2. Voiko tuon tiedoston suorittaa Java-tulkilla?
    3. Onko mahdollista päätellä tiedostoa katselemalla, mitä ohjelma tekee?
  7. Kirjoita paperille Java-ohjelma, joka suoritettuna tulostaisi ruudulle "Ohjelmointi on kivaa!!".
  8. Mitä Java-ohjelmassa on vähintään oltava, jotta kääntäjä osaisi kääntää sen? (voit kokeillakin, jos osaat).