do- while - silmukka suoritetaan aina vähintään 1. kerran. Joskus on tarpeen silmukka, jonka runkoa ei suoriteta yhtään kertaa. Muutamme edellisen esimerkkimme käyttämään while - silmukkaa:
while ( ehto ) lause
Muutamme samalla algoritmia siten, että 2:lla jaolliset käsitellään erikoistapauksena. Näin pääsemme eroon "inhottavasta" kasvatus- muuttujasta.
public static int pienin_jakaja(int luku) { int jakaja=3; if ( luku == 2 ) return 1; if ( luku % 2 == 0 ) return 2; while ( jakaja < luku/2 ) { if ( luku % jakaja == 0 ) return jakaja; jakaja += 2; } return 1; }