ALOITTELIJAN JAVA-OPAS


2. Kielioppia

Javan kielioppi muistuttaa hyvin paljon C ja C++ -kielten kielioppia. Kieli on määritelty hyvin täsmällisesti: kaikkien tietotyyppien esitystavat on kiinnitetty ja laskentatarkkuus määritelty. Tarkoituksena on, että missä tahansa laadittu ohjelma toimisi täsmälleen samoin kaikkialla.

2.1. Alkeistietotyypit

Javassa tietotyypit toteutetaan joko alkeistietotyyppeinä tai luokkien avulla. Javan luokat käsitellään luvussa 6. Jokainen Java-ohjelman muuttuja on määriteltävä eli sille on annettava tietotyyppi, nimi ja mahdollinen alkuarvo. Javan alkeistietotyypit ovat: kokonaisluvut, liukuluvut, totuusarvot ja merkit.

Kokonaisluvut ovat positiivisia tai negatiivisia kokonaislukuja (myös nolla kuuluu näihin). Kokonaislukutyyppejä on olemassa neljä erilaista, joita käytetään sen mukaan miten suuria lukuja halutaan käsitellä. Näistä yleisimmin käytössä on int.

nimi: koko: arvoalue:
byte 1 tavu -128 - 127
short 2 tavua -32768 - 32767
int 4 tavua -2147483648 - 2147483647
long 8 tavua -9223372036854775808 - 9223372036854775807

Esimerkki, jossa määritellään int-tyyppinen kokonaisluku:

  int pituus;

Liukuluvut ovat desimaalilukuja. Ne esiintyvät vain posiitiivisina. Liukulukutyyppejä on kaksi.

nimi: koko: arvoalue:
float 4 tavua 1.4013e-45 - 3.40282e+38
double 8 tavua 2.22507e-308 - 1.79769e+308

Esimerkki, jossa määritellään double-tyyppinen liukuluku, muuttuja nimeltä paino, ja annetaan sille alkuarvo:

  double paino = 74.4;

Totuusarvotyyppi boolean saa arvokseen joko true (=tosi) tai false (=epätosi).

Esimerkki, jossa onkoTosi-muuttujan totuusarvoksi asetetaan tosi:

  boolean onkoTosi = true;

Merkkityyppi char saa arvokseen yhden minkä tahansa merkin. Merkki annetaan heittomerkkien välissä.

Esimerkkissä muuttujaan kirjain syötetään merkki a:

  char kirjain = 'a'

2.2. Muuttujat ja vakiot

Muuttujan nimi alkaa aina kirjaimella, sen jälkeen voi seurata myös numeroita. Pienet ja isot kirjaimet ymmärretään eri merkeiksi: näin vaikkapa arvo ja aRvo ovat eri nimiä. Javassa on tapana aloittaa muuttujien nimet pienillä kirjaimilla. Muuttujat määritellään muodossa: tyyppi muuttujia. Eli yhdellä rivillä voidaan esitellä useampia saman tyyppisiä muuttujia.

Esimerkki:

  int kpl;
  double leveys, korkeus;
  boolean oikein;
  int matka = 275;

Muuttuja kpl on kokonaislukutyyppiä, joten sen arvoksi voidaan sijoittaa vain kokonaislukuja. Muuttujat leveys ja korkeus ovat liukulukuja ja muuttuja oikein on totuusarvotyyppinen. Muuttujille voidaan määrityksen yhteydessä asettaa myös alkuarvo, kuten kokonaislukutyypin muuttujalle matka on asetettu. Muuttujille kuitenkin voidaan asettaa vain niiden tyypin mukaisia arvoja.

Vakiot ovat kiinteitä arvoja, joita ei muuteta ohjelman suorituksen aikana. Vakioita voivat olla esim. Pii, ALV% tai mikä tahansa käyttäjän määrittelemä kiintoarvo. Vakio määritellään muodossa: final tietotyyppi nimi = arvo;. Vakioiden määritys tehdään yleensä ohjelman alussa ja ne on tapana kirjoittaa kokonaan isoilla kirjaimilla.

Esimerkit vakion määrittelystä:

  final double PII = 3.14159;
  final int VAKIO_LUKU = 13;

2.3. Kommentit

Ohjelmiin on syytä kirjoittaa selityksiä eli kommentteja. Ne selventävät koodia lukijalle ja kertovat selkokielellä mitä missäkin kohdassa tapahtuu. Ohjelman kääntäjä ei kommenteista välitä, eli ne eivät vaikuta millään lailla ohjelman toimintaan. Kommenttien avulla aiemmin kirjoitettua tai toisen henkilön kirjoittaman koodin toimintaa on helpompi ymmärtää.

Javassa kommentit voidaan merkitä kahdella eri tavalla. Niiden erona on se, että toista käytetään kommentoimaan yksittäisiä rivejä ja toisella voidaan kommentoida useampia rivejä kerrallaan.

Yhden rivin kommentti alkaa //-merkkillä. Koko loppu rivi tämän jälkeen on kommenttia. Useamman rivin kommentti kirjoitetaan /* ja */ merkkien väliin.

Esimerkkejä kommentoinneista:

  // Tämä on yhden rivin kommentti, joka jatkuu rivin loppuun.

  /* Tästä alkaa kommentti jota
     voi jatkaa useammallekin riville,
	   kunnes tulee vastaan lopetusmerkki
  */

Tietojärjestelmien dokumentointi 2005 | Aloittelijan JAVA-opas


Valid CSS!