Ilkka Koivistoinen 13.02.2002

Edellinen

Seuraava

6.3.5 Hyppylause

Lopuksi Javassa on vielä mahdollista määritellä hyppylause, joilla voidaan hypätä silmukasta kesken kaiken pois. Tämä ei ole kovinkaan suositeltavaa ajatellen prosessorien tapaa käsitellä lukuja silmukoissa (ns pipeline –tekniikka, jolla prosessori ennakoi silmukassa tarvittavaa dataa hakemalla sen valmiiksi rekistereihin ennen varsinaista datan käyttöönottoa). Jos kuitenkin näin on pakko tehdä, niin silmukkalause nimetään ja keskeytetään break –komennolla.

Break-komento on käyttökelpoinen useissa erikoistilanteissa kuten esim. tiedostojen käsittelyssä tai ylipäätään tietovirtojen ohjauksessa sekä silmukkarakenteissa, joissa silmukan toteutus halutaan keskeyttää ennalta määräämättömällä tavalla käyttäjä tai laitekeskeytyksen takia. Näihin palataan ohjelmoitikurssien loppupuolella.

Seuraava esimerkki käykööt tämän tekniikan ainoasta sovelluksesta

Esimerkki 30.

import Lue;
public class E30
{
   public static void main (String args[])
   {
      int i=0;
      float summa=0;

      // labelin 'toisto' käyttö ei ole pakollinen
      toisto: for (i=0; summa<10000000; i++)
      {
          summa=summa+i*i;
          if (i>100)
             break toisto;
       }
       System.out.println("Silmukan jälkeen i ja summa ovat " + i + " " + summa);
    }
}

goto-lause

Sivulla http://java.sun.com/docs/books/tutorial/java/nutsandbolts/flow.html lukee seuraavaa

Note : Although goto is a reserved word, currently the Java programming language does not support the goto statement.

Niinpä goto-lausetta ei saa käyttää. Tämä on ohjelmakoodin luettavuuden kannalta oleellinen piirre. On sanottu, että "goto-lauseiden määrä koodissa on kääntäen verrannollinen ohjelmoijan ohjelmointitaitoihin".

Ilkka Koivistoinen 13.02.2002

Edellinen

Seuraava