Muuttujat
Määritellään aluksi Processing-ohjelmoinnin yleisimmät tietotyypit. Edellisessä esimerkissä puhuttiin vain kokonaisluku- ja tekstitietotyypeistä, mutta Processing-ohjelmoinnissa on määritelty enemmänkin tietotyyppejä, ne ovat seuraavat:
Tietotyyppi |
Määrittely |
Muuttujan arvo |
---|---|---|
Kokonaisluku |
int |
15 |
Desimaaliluku |
float |
3.14 |
Merkkijono |
String |
"Matti Meikäläinen" |
Merkki |
char |
'Ä' |
Totuusarvo (true tai false) |
boolean |
true |
Olisiko mahdollista määritellä ohjelmaan jokin muistipaikka, johon ohjelman käyttämä tieto voitaisiin tallentaa? Kyllä voidaan, mutta siinä on rajoite. Kokonaisluvut voidaan tallentaa vain kokonaisluku muistipaikkaan, desimaaliluvut voidaan tallentaa vain desimaaliluku muistipaikkaan, merkkijonot voidaan tallentaa vain merkkijonomuistipaikkaan ja niin edelleen. Voit ajatella esimerkiksi, että kokonaisluku laitetaan siniseen laatikkoon, desimaaliluku laitetaan keltaiseen laatikkoon, merkkijono laitetaan vihreään laatikkoon ja niin edelleen. Oheinen kuva havainnollistaa asiaa.
Sitten on vielä toinenkin rajoite: Yhteen laatikkoon eli muistipaikkaan mahtuu vain yksi tieto kerrallaan. Jos muistipaikkaan laitetaan uusi tieto, niin vanha tieto häviää. Tälle muistipaikalle on annettu ohjelmoinnissa nimi ja se on nimeltään muuttuja.
Ohjelmoinnissa kaikki ohjelman käyttämät muuttujat pitää ensin esitellä, ennen kuin niitä voidaan käyttää. Se tapahtuu esimerkiksi seuraavasti:
int Muuttuja1;
Aluksi siis kerrotaan minkälaista tietoa muuttujaan voi tallentaa (int, float, String, char tai boolean) ja sitten vasta annetaan muuttujalle nimi. Muuttujan nimessä käy kirjaimet a,b,c,…,z, ja A,B,C,…Z sekä numerot 0,1,2,…,9. Mutta et voi käyttää esimerkiksi skandimerkkejä: ä, ö ja å, etkä välilyöntejä, et voi myöskään käyttää useimpia erikoismerkkejä, poikkeuksena alaviiva ja dollarimerkki. Kun muuttuja on esitelty, niin siihen voidaan sijoittaa oikeantyyppinen tieto sijoituslauseella, esimerkiksi:
Muuttuja1 = 15;
On myös mahdollista yhdistää esittely ja sijoitus samaan lauseeseen, jolloin lause näyttää tältä:
int Muuttuja1 = 15;
Vastaavalla tavalla kaikki taulukon esimerkin mukaiset muuttujat voidaan esitellä ja sijoittaa siihen arvot seuraavasti.
int Muuttuja1 = 15;
float Muuttuja2 = 3.14;
String Muuttuja3 = "Matti Meikäläinen";
char Muuttuja4 = 'Ä';
boolean Muuttuja5 = true;
Esittely tehdään ohjelmassa vain kerran. Sijoitus voidaan kuitenkin tehdä useamman kerran. Tällöin vain viimeisin tieto säilyy muuttujassa. Processing ohjelmoinnissa on seuraavia sääntöjä, jotka koskevat muuttujien nimeämistä:
- Nimi alkaa kirjaimella, alaviivalla tai dollarimerkillä
- Seuraava merkki saa edellisten lisäksi olla myös numero
- Kirjainten koolla on merkitystä (esimerkiksi: Piiri ja piiri on eri asia).
- Nimi ei saa olla ohjelmointikielen varattu sana eli komento
- Nimellä ei ole pituusrajoitusta
- Nimen on oltava ainutkertainen
Yhteenvetona muuttuja esittelystä ja arvon sijoittamisesta:

Jokainen lause loppuu aina puolipisteeseen. Jos määrittelet muuttujan void draw ( ) -lohkossa, niin muuttuja on voimassa vain tässä lohkossa. Sanotaan, että muuttuja on paikallinen muuttuja.
Jos määrittelet muuttujan ohjelman alussa, ennen void setup ( ) -lohkoa, niin muuttujan on voimassa koko ohjelman ajan. Sanotaan, että muuttuja on globaalimuuttuja.
Huomaa, että sijoittaessa arvoja muuttujiin desimaaliluvussa (float) käytetään pistettä, merkkijonossa (String) lainausmerkkejä ja merkissä (char) heittomerkkiä.
Kokonainen ohjelma, jossa edellä mainitut muuttujat ovat käytössä, on seuraava:
|
// Ohjelman tehnyt: e-Oppi Oy
// 30.1.2017
void setup() {
size(450,300); // Ikkunan koko
background(255); // Taustaväri valkoinen
textSize(30); // Tekstin koko 30
fill(0); // Aseta tekstin väriksi musta
}
void draw() {
int Muuttuja1 = 15; // Kokonaisluku
float Muuttuja2 = 3.14; // Desimaaliluku
String Muuttuja3 = "Matti Meikäläinen"; // Merkkijono
char Muuttuja4 = 'Ä'; // Merkki
boolean Muuttuja5 = true; // Totuusarvo
text(Muuttuja1,10,50); // Tulostetaan muuttujat
text(Muuttuja2,10,100);
text(Muuttuja3,10,150);
text(Muuttuja4,10,200);
text(""+Muuttuja5,10,250);
// Huomio: Totuusarvo-muuttujalla erilainen tulostus
}
Ohjelman suoritus näyttää tältä.

Palataan aikaisempaan yhteenlaskuesimerkkiin. Se voidaan muuttujien avulla kirjoittaa seuraavasti.
|
// Ohjelman tehnyt: e-Oppi Oy
// 30.1.2017
void setup() {
size(600,200); // Määritellään ikkunan koko
background(255); // Taustaväri valkoinen
fill(0); // Tekstin väri musta
textSize(30); // Tekstin koko 30 px
}
void draw() {
int luku1 = 5;
int luku2 = 7;
text("Lukujen "+luku1+" ja "+luku2+" summa on "+(luku1+luku2), 100, 100);
}
Kun ohjelma ajetaan, niin ohjelman tulostus näyttää samanlaiselta.
Ohjelma toimii samalla tavalla kuin äskenkin, mutta nyt emme tarvitse enää lukuja sijoittaa tulostuslauseeseen vaan lukujen sijoitus on tehty ennen tulostusta muuttujiin. Voit kokeilla muuttaa lukuarvoja ja ohjelma toimii halutunlaisesti millä tahansa muuttujan arvolla.