For-silmukka
for (alkuarvo; ehto; laskuri) {
komennot;
}
Kaaviokuvana silmukan voisi kuvata seuraavasti.
https://peda.net/id/879fe3b6897
Esimerkiksi ohjelma, joka tulostaa kymmenen kertaa hei-sanan, voidaan kirjoittaa muodossa:
|
// Ohjelman tehnyt e-Oppi Oy
// 30.8.2017
void setup () {
size(400,400); // Ikkunan koko
background(255,255,0); // Taustaväri keltainen
fill(0); // Tekstin väri musta
textSize(28); // Tekstin koko 28
}
void draw () {
for (int a = 1; a<=10; a++) {
text("Hei",100,a*30);
}
}
Kuten huomataan, for-silmukassa on kokonaislukumuuttujan alkuarvon asettaminen, ehto ja laskuri kaikki samassa lauseessa samalla rivillä. For-lause on tarkoitettu tilanteisiin, jossa toistoja on tietty vakiomäärä. For-silmukan voisi suomentaa: Toista silmukkaa, niin kauan kun a on pienempi tai yhtä suuri kuin kymmenen. Koska a:n alkuarvo on 1, käytännössä a saa arvoja: 1,2,3,4,... Kun a saa arvon 11, ehto ei enää ole voimassa ja toisto loppuu. Ohjelman suoritus näyttää hidastettuna tältä.

For-silmukan toimivuutta voidaan tutkia sijoittamalla taulukkoon a:n arvoja.
| a | EHTO: (a <= 10) | text("Hei",100,a*30); |
| 1 | (1 <= 10), tosi | text("Hei,100,30); |
| 2 | (2 <= 10), tosi | text("Hei,100,60); |
| 3 | (3 <= 10), tosi | text("Hei,100,90); |
| 4 | (4 <= 10), tosi | text("Hei,100,120); |
| 5 | (5 <= 10), tosi | text("Hei,100,150); |
| 6 | (6 <= 10), tosi | text("Hei,100,180); |
| 7 | (7 <= 10), tosi | text("Hei,100,210); |
| 8 | (8 <= 10), tosi | text("Hei,100,240); |
| 9 | (9 <= 10), tosi | text("Hei,100,280); |
| 10 | (10 <= 10), tosi | text("Hei,100,300); |
| 11 | (11 <= 10), epätosi | - |
Alussa a saa arvon 1, jota kasvatetaan joka kierroksella yhdellä. Kun a saa arvon 11, niin ehto a <= 10 ei enää ole voimassa ja silmukan toisto loppuu. Kun toisto loppuu, niin silloin emme tulosta mitään.
Kuinka for-lause kirjoitetaan, jos haluamme tulostaa tekstin: "Hei" kahdeksan kertaa?
for (int a = 1; a<=8; a++) {
text("Hei",100,a*30);
}
Yksinkertaisesti muutamme ehtoon luvun 8 eli a <=8. Silmukkaan toistetaan niin kauan kunnes a on pienempi tai yhtä suuri kuin kahdeksan. Kun a saa arvon yhdeksän, niin toisto lopetetaan.
Kuinka tehdään for-silmukka, joka tulostaa luvut 15, 16, 17, 18, 19, 20, 21, 22, 23, 24 ja 25 allekkain?
for (int a = 15; a<=25; a++) {
text(a,100,a*30-400);
}
For-silmukassa alkuarvo on 15 ja ehdossa sanotaan, että silmukkaan toistetaan niin kauan, kunnes a on pienempi tai yhtä suuri kuin 25. Toisto siis loppuu, kun a on 26. Huomaa, että tulostuslauseessa y-koordinaatit voidaan tulostaa arvolla: -400+a*30. Pelkkä a*30 vie liian alas, koska 15 * 30 = 450. Teemme siis korjauksen tähän vähentämällä tästä arvosta 400, jolloin y-koordinaatin aloitusarvo on 50. Laskutoimitus a*30 tulostaa y-koordinaatit 30 askeleen välein.