next up previous contents index
Next: Laskutoimituksia kokonais- ja desimaaliluvuille Up: Muuttujat ja sijoituskäsky Previous: Muuttujat ja sijoituskäsky   Sisältö   Hakemisto

Lisää muuttujien tyyppejä

Edellisessä esimerkissä käytettiin kokonaislukumuuttujia lämpötilojen tallentamiseen. Tällöin lämpötiloja voidaan luonnollisesti esittää vain kokonaislukujen mahdollistamalla tarkkuudella, esimerkiksi puolia asteita tai asteen sadasosia ei voida ottaa huomioon. Kun tavallinen ihminen käsittelee sisä- tai ulkoilman lämpötiloja, asteen tarkkuus yleensä riittää hänelle. Monessa muussa tilanteessa tarvitaan kuitenkin selvästi tarkempia arvoja.

Desimaalilukuarvoja varten Javassa on tyyppi double. Voidaan esimerkiksi määritellä kaksi double-tyyppistä muuttujaa

double sivu, pintaAla;
ja sijoittaa niille arvoja seuraavasti
sivu = 3.87;
pintaAla = sivu * sivu;
Tällöin muuttujan pintaAla arvoksi tulee 14.9769. On kuitenkin huomattava, että double-tyyppisiä lukuja ei pystytä esittämään rajattomalla tarkkuudella, vaan muuttujan arvolle tietokoneen muistissa varattu tila asettaa rajan tarkkuudelle.

Desimaalilukujen arvo voidaan myös ilmoittaa kymmenen potenssien avulla. Esimerkiksi sijoitus

sivu = 5.9e12;
asettaa muuttujan sivu arvoksi $5.9 \cdot 10^{12}$.

Yksittäisiä merkkiä varten Javassa on tyyppi char. Muuttuja, jonka tyyppi on char, voi saada arvokseen yhden merkin, esimerkiksi

char c;
c = 'a';
asettaa muuttujan c arvoksi merkin 'a'. Huomaa, että merkki kirjoitetaan aina yksinkertaisiin lainausmerkkeihin. Jos sijoituskäsky olisi
c = a;
muuttujalle c annettaisiin arvoksi sama arvo kuin muuttujalla a on (mikä johtaisi käännösaikaiseen virheeseen, jos ohjelmassa ei ole määritelty muuttujaa a).

Merkkijonojen (jono, joka voi koostua nollasta, yhdestä tai monesta peräkkäisestä merkistä) tallentamiseen käytetään tyyppiä String, esimerkiksi

String mjono;
mjono = "Aurinko paistaa";
String-tyyppiset muuttujat poikkeavat kuitenkin edellä esitetyistä muista tyypeistä (int, double, char) siinä, että yllä oleva sijoitus ei sijoita muuttujalle mjono arvoksi itse merkkijonoa "Aurinko paistaa", vaan muuttujan arvoksi tulee vain tieto siitä, minne tietokoneen muistissa itse merkkijono on sijoitettu. Tällä erolla on monia seurauksia, joita käsitellään tarkemmin olioista puhuttaessa.

Vielä on esiteltävä yksi tyyppi, boolean. Tämäntyyppisiä muuttujia käytetään totuusarvojen esittämiseen eli boolean-tyyppinen muuttuja voi saada arvokseen joko true (tosi) tai false (epätosi). Nämä kaksi ovat ainoat mahdolliset arvot. Muuttujia käytetään hyväksi tilanteessa, joissa ohjelman halutaan toimivan eri tavoilla sen mukaan, onko joku ehto tosi vai ei. Alla esimerkki boolean-tyyppisen muuttujan määrittelystä ja arvon sijoittamisesta muuttujalle:

boolean löydetty;
löydetty = false;

Tässä luvussa esitettyjen tyyppien lisäksi Javassa on kokonaislukujen esittämiseen myös tyypit short, byte ja long sekä desimaalilukujen esittämiseen tyyppi float.


next up previous contents index
Next: Laskutoimituksia kokonais- ja desimaaliluvuille Up: Muuttujat ja sijoituskäsky Previous: Muuttujat ja sijoituskäsky   Sisältö   Hakemisto
Kerttu Pollari-Malmi 2003-01-27