Ylös Edellinen Seuraava Otsikkosivu Hakemisto Sisällys

8.2 Muuttujat

Ohjelmamme poikkeaa aikaisemmista esimerkeistä siinä, että nyt ohjelman sisällä tarvitaan muuttuvaa tietoa: matka millimetreinä. Tällaiset muuttuvat tiedot talletetaan ohjelmointikielissä muuttujiin. Muuttuja on koneen muistialueesta varattu tarvittavan kokoinen "muistimöhkäle", johon viitataan käytännössä muuttujan nimellä.

Kone viittaa muistipaikkaan muistipaikan osoitteella. Kääntäjäohjelman tehtävä on muuttaa muuttujien nimiä muistipaikkojen osoitteiksi. Kääntäjälle täytyy kuitenkin kertoa aluksi minkä kokoisia 'möhkäleitä' halutaan käyttää. Esimerkiksi kokonaisluku voidaan tallettaa pienempään tilaan kuin reaaliluku. Mikäli haluaisimme varata vaikkapa muuttujan, jonka nimi olisi matka_mm kokonaisluvuksi, kirjoittaisimme seuraavan Java-kielisen lauseen (muuttujan esittely):

	int matka_mm; // yksinkertaisen tarkkuuden kokonaisluku 

Pascal - kielen osaajille huomautettakoon, että Pascalissahan esittely oli päinvastoin:

	VAR matka_mm: INTEGER;

Tulos, eli matka kilometreinä voitaisiin laskea muuttujaan matka_km. Tämän muuttujan on kuitenkin oltava reaalilukutyyppinen (ks. esimerkkiajo), koska tulos voi sisältää myös desimaaliosan:

	double matka_km; // kaksinkertaisen tarkkuuden reaaliluku 

On olemassa myös yksinkertaisen tarkkuuden reaaliluku float, mutta emme tarvitse sitä tällä kurssilla. Samoin kokonaisluvusta voidaan tehdä "tosi lyhyt", "lyhyt" tai "kaksi kertaa isompi":

	int   matka_km;  
	short sormia;                // max 32767
	byte  varpaita;              // max 127
	long  valtion_velka_Mmk;     // Tarvitaan ISO arvoalue  

Muuttujan määritys voisi olla myös

	volatile static long sadasosia; 

Tulemme kuitenkin aluksi varsin pitkään toimeen pelkästään seuraavilla perustyypeillä:

	short    - kokonaisluvut - 32 768 -   32 767,  16-bit
	int      -  kokonaisluvut -2 147 483 648 - 2 147 483 647, 32-bit 
	double   -  reaaliluvut n. 15 desim. - > 1.7e308
	char     -  kirjaimet 16 bit Unicode
	boolean  - true tai false

Katso lisää Javan tietotyypeistä linkistä:

http://java.sun.com/docs/books/tutorial/java/nutsandbolts/datatypes.html


Ylös Edellinen Seuraava Otsikkosivu Hakemisto Sisällys