Ilkka Koivistoinen 13.02.2002

Edellinen

Seuraava

3.7.2 Muuttujan tyyppi

Java-ohjelmassa kaikki käsiteltävä tieto kuuluu aina johonkin luokkaan, joka on joko jokin edellä olleista perustietotyypeistä tai jokin oma itse määritelty luokka. Muuttujan tyyppi määrää, minkälaista tietoa muuttujaan voidaan tallettaa.

Esimerkki

...
  int n;
  float x;

   n = 3;
   x = 3.14F;  // java 1.2:n sopimus: Jos desimaaliluvun jälkeen ei ole tarkempaa tyyppimerkintää, oletetaan double
...

Muuttuja määrittelyn yhteydessä muuttujalle voidaan antaa myös arvo

Esimerkki.

...
  int n = 3;
  float x = 3.14F;
...

3.7.3 Tyypin ominaisuuksia

Tietyn luokan esikuvana on aina jokin reaalimaailman oliojoukko, esimerkiksi int-perustyypin esikuvana ovat matemaattiset kokonaisluvut.

Tyypin alkiot talletetaan tietokoneen muistiin jollakin tietyllä tavalla bitteinä. Tästä seuraa yleensä rajoituksia, joiden seurauksena Javan luokka ei täysin vastaa esikuvaansa. Esimerkiksii int-perustyypin arvoalue on rajoitettu. Suurin mahdollinen kokonaisluku on 232-1, minkä jälkeen seuraavassa luvussa kaikki bitit ovat nollia. Tapahtuu niin sanottu ylivuoto (int overflow). (Tämä tarkoittaa siis sitä, että luku joka esitetään esimerkiksi 3 bitillä, voi olla 000, 001, 010, 100, 101, 110 ja 111. Kun nyt lukuun 111 lisätään 1 saadaan luku 1000. Mutta koska vain kolme bittiä oli käytössä luvusta tulee 000. Tämä taas laskutoimituksen kannalta on varsin paljon vialla!).
Luokkaan liittyy joukko operaatioita eli metodeja, joiden avulla luokan tietoa voidaan käsitellä. Esimerkiksi kokonaislukuja voidaan laskea yhteen. Eri luokkiin kuuluvaa tietoa ei saa käsitellä yhdessä (esimerkiksi samassa sijoituslauseessa) muuten kuin erikseen mainittavissa tapauksissa. Java -tulkki suorittaa ns. tyypintarkistuksia ja mikäli luokat eivät ole ns. sijoitusyhteensopivia, syntyy ajoaikainen tai käännösaikainen virhe. Tällainen olisi esimerkiksi kokonaislukutyypin ja merkkityypin laskeminen yhteen (5+"p"). Moniin luokkiin liittyy joukko erilaisia tapoja, joiden avulla voidaan esittää tyyppiin kuuluvaa tietoa. Esimerkiksi 5 on kokonaislukutyyppi 5, liukulukutyyppi 5.0, merkkijonotyyppi "5" ja merkkityyppi '5'.

Ilkka Koivistoinen 13.02.2002

Edellinen

Seuraava