Usein silmukat lipsahtavat tahottomasti sellaisiksi, ettei niistä koskaan päästä ulos. Ikuisen silmukan huomaa heti esimerkiksi siitä, ettei silmukan rungossa ole yhtään lausetta joka muuttaa silmukan ehdon totuusarvoa.
Joskus kuitenkin Java- kielessä tehdään tarkoituksella "ikuisia" - silmukoita:
for (;;) { ... if (lopetus_ehto) break; ... } while ( true ) { ... if (lopetus_ehto) break; ... } do { ... if (lopetus_ehto) break; ... } while ( true );
Näissä kahdessa ensimmäisessä korostuu silmukan ikuisuus. Viimeinen ei ole hyvä vaihtoehto.
Tällaiset ikuiset silmukat ovat hyväksyttävissä silloin, kun silmukan lopetusehto on luonnollisesti keskellä silmukkaa. Usein kuitenkin lauseiden uudelleen järjestelyllä lopetusehto voidaan sijoittaa silmukan alkuun tai loppuun, jolloin tavallinen while- , do- while - tai for - silmukka kelpaa.