====== Toistorakenne ====== Toistorakenteita on kolme eri tyyppiä. * [[Java:toisto:for|For-silmukka]] * [[Java:toisto:do_while|Do-while -silmukka ]] * [[Java:toisto:while|While-silmukka ]] Silmukoiden määrä kertoo siitä, että eri silmukat ovat tarkoitettu erilaisiin tilanteisiin. ''For''-silmukka on kätevä, mikäli tiedetään etukäteen kuinka monta kertaa silmukka halutaan suorittaa. ''While'' ja ''do-while'' -silmukat ovat käyttökelpoisia, mikäli määrää ei etukäteen tiedetä. ''do-while'' ja ''while'' silmukoissa on se ero, että ''while''-silmukassa ensin katsotaan, onko ehto voimassa, kun ''do-while'' silmukassa vasta komentojen jälkeen. Täten ''do-while'' silmukka suoritetaan aina vähintään kerran. Tätä voi verrata siihen, että lainataan auto ja kysytään lupa siihen joko ennen lainausta tai vasta lainauksen jälkeen. ''while'' silmukassa lupa kysytään aluksi ja do-while silmukassa vasta lainauksen jälkeen. Autoa ei saa tietenkään mennä lainaamaan ilman lupaa!!! HUOM! Silmukoita voidaan laittaa myös sisäkkäin, esimerkiksi class Kaksi_silmukkaa { public static void main(String[] args) { for (int i=0; i <= 5; i++) { for(int j=0; j<= 5; j++) { System.out.print("i on "+i); System.out.println(" ja j on "+j); } } } } Ohjelman tulostus on seuraava: {{ java:kaksi_silmukkaa.jpg }} Lisähuomautus: Mikäli ehdossa on < tai >, niin silmukan toistojen lukumäärässä pitää olla tarkkana, varsinkin jos silmukkamuuttujan ensimmäinen arvo on 0.