Ilkka Koivistoinen 13.02.2002

Edellinen

Seuraava

3.3 Kieliopin perussääntöjä

Java on lausekieli. Tämä tarkoittaa, että kukin suoritettava komento muodostaa lauseen, joka loppuu puolipisteeseen ; . Lause voidaan kirjoittaa tarvittaessa useammalle riville ja toisaalta samalle riville voi kirjoittaa useita lauseita.

Esim.

System.out.println("Tässä esimerkissä sama teksti on kirjoitettu" +
"usealle riville. Lainausmerkit ovat" +
" pakollisia, eikä niitä saa unohtaa pois. Muista puolipiste lauseen lopussa");

Esim.

System.out.println("Tässä "); System.out.println(" lauseita");System.out.println(" samalla rivillä");

Esim.

System.out.print("Tässä esimerkki");
System.out.print("useasta lauseesta");
System.out.println("eri riviellä, jotka tulostuvat yhdelle riville");

Mitä näissä esimerkeissä tulostuu (kokeile esimerkit, niin huomaat eron)?. Ohessa yksi esimerkeistä toimivaksi ohjelmaksi kirjoitettu

Esimerkki 1.

public class E1
{
   public static void main (String[] args)
   {
       System.out.println("Tässä "); System.out.println(" lauseita");System.out.println(" samalla rivillä");
   }
}

3.3.1 Ohjelman toteuttaminen JDK:ssa

Kirjoita editorilla ascii –tiedostoon edellä oleva ohjelma ja nimeä tiedosto muotoon "E1.java". kansioon esimerkit. (Vihje. Laita nimen ympärille lainausmerkit, niin työväline ei tuputa vakiotarkennintaan tiedostonimen perään)

    Kun ole kirjoittanut ja tallettanut ohjelman E1.java, muodosta tavukooditiedosto E1.class java –kääntäjällä.

      Tarkista, että path määrityksessä on javan jdk1.1.6\bin –kansio (huom. sinulla saattaa olla uudempi versio JDK;sta). Siirry kansioon esimerkit ja kirjoita komentoriville javac E1.java. Silloin muodostetaan ohjelman E1 tavukoodi –tiedosto E1.class. Jos tämä onnistuu, kirjoita java E1, jolloin ohjelma käynnistyy.

      Virheitä:

      javac -kääntäjää ei löydy. Tarkista path -määrittely autoexec.bat määrittelystä (95:ssä autoexec.bat on dos -sovelluksia varten. NT4.0:ssä VDM -lukee autoexec -tiedoston aina komentotulkkiin siirryttäessä)

      Talletustiedoston nimi ei ole sama kuin class -määrittelyssä

      Unohdit ; merkin jonkin rivin lopusta.

      Unohdit " -merkin jokin merkkijonon ympäriltä.

      Kirjoitit println väärin.

      Tehtyäsi kaikki edelliset virheet olet jo varsin kokenut java-ohjelmoija. Onnittelen.

      Kuten huomaat, skandimerkkien kanssa on usein ongelmia. Tämä johtuu siitä, että ohjelma kirjoitettiin windows –ympäristössä ja ajettiin Dos –komentotulkissa windows 95 tai NT–alustalla, joissa oli määritelty eri maakoodit. Mielestäni tälle asialle ei kannata panna paljoakaan painoa, koska ascii input/output on ainoastaan opetteluvaihe. Varsinaiset java –sovellukset ja appletit tehdään windows –ikkunaan missä eo. ongelmaa ei ole.

        public class e2  // public -tarkentimen voi halutessaan jättää pois
        {
           public static void main (String[] args)
           {
               int koetulos=7;
               System.out.println("Kokeen tulos oli "+koetulos);
           }
        }

          Tehtäviä tehdessä talleta tehtävät kansioon tehtävät nimelle tn.java, missä n on tehtävän numero. class -määrittely täytyy luonnollisesti tehdä vastaavasti

          3.3.2 Tehtäviä

          1. Tee ohjelma, joka tulostaa lauseen "Ensimmainen java –ohjelma" –yhdelle riville. Talleta se kansioon tehtävät nimelle t1.java. Kirjoituksen jälkeen talleta se ascii –muodossa. Jos käytät windowsin muistiota, talleta ohjelma lainausmerkeissä "t1.java", jolloin muistio ei lisää .txt –tarkenninta. Käännä ohjelma tavukoodiksi javac t1.java –komennolla. Kun olet korjannut virheet, kirjoita java t1. Nyt tulostukseksi pitäisi tulostua

            Ensimmainen java –ohjelma

          2. Tee ohjelma, joka kirjoittaa eri riveille sanat "Ensimmainen" ja "java" ja "ohjelma".
          3. Tee esimerkin E2 pohjalta ohjelma, joka tulostaa "Osta maitoa 3 litraa".

          Vastaukset

          Ilkka Koivistoinen 13.02.2002

          Edellinen

          Seuraava