logo

Java Loops

Preizkusite na GfG Practice Napredek' title=

Zanke v programiranju omogočajo, da se nabor navodil izvede večkrat glede na pogoj. V Javi obstajajo tri vrste zank, ki so razložene spodaj:

1. za zanko

Zanko for uporabimo, ko poznamo število iteracij (vemo, kolikokrat želimo ponoviti nalogo). Stavek for vključuje inicializacijski pogoj in povečanje/zmanjšanje v eni vrstici. 

primer: Spodnji program Java prikazuje zanko for, ki natisne števila od 0 do 10 v eno vrstico.



Java
// Java program to demonstrates the working of for loop import java.io.*; class Geeks {  public static void main(String[] args)  {  for (int i = 0; i <= 10; i++) {  System.out.print(i + ' ');  }  } } 

Izhod
0 1 2 3 4 5 6 7 8 9 10 

Sintaksa:

za (inicializacija; pogoj; povečanje/zmanjšanje) {

// koda za izvedbo

}

Spodnja slika prikazuje diagram poteka zanke for:

Medtem ko zanka' title=Diagram poteka zanke for
  • Inicializacijski pogoj : Tukaj inicializiramo spremenljivko v uporabi. Označuje začetek zanke for. Uporabite lahko že deklarirano spremenljivko ali pa spremenljivko deklarirate samo kot lokalno v zanko.
  • Pogoj testiranja: Uporablja se za testiranje izhodnega pogoja zanke. Vrniti mora logično vrednost. Je tudi vstopna krmilna zanka, saj se pogoj preveri pred izvedbo stavkov zanke.
  • Izvedba izjave : Ko je pogoj ocenjen kot resničen, se izvedejo stavki v telesu zanke.
  • Povečanje/Zmanjšanje : Uporablja se za posodabljanje spremenljivke za naslednjo ponovitev.
  • Prekinitev zanke : Ko pogoj postane napačen, se zanka prekine in označi konec njenega življenjskega cikla.

Opomba : Obstaja še ena oblika zanke for, znana kot Izboljšana for zanka ali (za vsako zanko).

vstavljanje python

Izboljšana zanka for (za vsako)

Ta zanka se uporablja za ponavljanje nizov ali zbirk.

Primer : Spodnji program Java prikazuje izboljšano zanko for (za vsako zanko) za ponavljanje skozi matriko in tiskanje imen.

Java
// Java program to demonstrate  // the working of for each loop import java.io.*; class Geeks {  public static void main(String[] args)  {  String[] names = { 'Sweta' 'Gudly' 'Amiya' };  for (String name : names) {  System.out.println('Name: ' + name);  }  } } 

Izhod
Name: Sweta Name: Gudly Name: Amiya 

Sintaksa:

za (spremenljivka dataType: arrayOrCollection) {

// koda za izvedbo

}

2. medtem ko Loop

Zanko while uporabljamo, ko želimo preveriti pogoj pred izvedbo telesa zanke.

primer: Spodnji program Java prikazuje zanko while, ki natisne števila od 0 do 10 v eni vrstici.

Java
// Java program to demonstrates  // the working of while loop import java.io.*; class Geeks {  public static void main(String[] args)  {  int i = 0;  while (i <= 10) {  System.out.print(i + ' ');  i++;  }  } } 

Izhod
0 1 2 3 4 5 6 7 8 9 10 

Sintaksa:

medtem ko (pogoj) {

// koda za izvedbo

}

Spodnja slika prikazuje diagram poteka zanke while:

jsp
Do-while-loop' loading='lazy' title=Diagram poteka zanke while
  • Medtem ko se zanka začne s preverjanjem logičnega pogoja. Če je ovrednoteno na resnično, se izvedejo stavki telesa zanke, sicer se izvede prvi stavek, ki sledi zanki. Zaradi tega se imenuje tudi vstopna krmilna zanka
  • Ko je pogoj ocenjen kot resničen, se izvedejo stavki v telesu zanke. Običajno izjave vsebujejo posodobljeno vrednost za spremenljivko, ki se obdeluje za naslednjo iteracijo.
  • Ko pogoj postane napačen, se zanka prekine, kar pomeni konec njenega življenjskega cikla.

3. zanka do-while

Zanka do-while zagotavlja, da se kodni blok izvede vsaj enkrat preden preverite stanje.

Primer : Spodnji program Java prikazuje zanko do-while, ki natisne števila od 0 do 10 v eni vrstici.

Java
// Java program to demonstrates  // the working of do-while loop import java.io.*; class Geeks {  public static void main(String[] args)  {  int i = 0;  do {  System.out.print(i + ' ');  i++;  } while (i <= 10);  } } 

Izhod
0 1 2 3 4 5 6 7 8 9 10 

Sintaksa:

narediti {

// koda za izvedbo

} medtem ko (pogoj);

Spodnja slika prikazuje diagram poteka zanke do-while:

' loading='lazy' title=Diagram poteka zanke do-while
  • zanka do while se začne z izvedbo stavka. Prvič ni preverjanja nobenega stanja.
  • Po izvedbi stavkov in posodobitvi vrednosti spremenljivke se pogoj preveri glede prave ali napačne vrednosti. Če je ocenjeno kot resnično, se začne naslednja ponovitev zanke.
  • Ko pogoj postane napačen, se zanka prekine, kar pomeni konec njenega življenjskega cikla.
  • Pomembno je omeniti, da bo zanka do-while izvedla svoje stavke vsaj enkrat, preden se preveri kateri koli pogoj, in je zato primer izhodne nadzorne zanke.

Pogoste napake pri zanki in kako se jim izogniti

Če se zanke ne uporabljajo pravilno, lahko povzročijo pasti in hrošče, ki vplivajo na berljivost in funkcionalnost kode. Spodaj je nekaj pogostih pasti zank:

1. Neskončne zanke

To je ena najpogostejših napak pri izvajanju kakršnega koli zankanja, da se morda ne bo nikoli izklopilo, kar pomeni, da se zanka izvaja neskončno dolgo. To se zgodi, ko pogoj iz nekega razloga ne uspe.

Vrste neskončnih zank:

  • neskončno za zanko
  • neskončna zanka while

primer: Tukaj oba primera prikazujeta neskončne zanke.

enkapsulacija v javi
Infinite For Loop
// Java program to demonstrate  // the infinite for loop import java.io.*; class Geeks {  public static void main(String[] args)  {  for (int i = 0; i < 5; i--) {  System.out.println(  'This loop will run forever');  }  } } 
Infinite While Loop
// Java Program to demonstrate  // the infinite while loop import java.io.*; class Geeks {  public static void main(String[] args)  {  while(true)  {  System.out.println(  'Basic example of infinte loop');  }  } } 

Izhod: Ko zaženete obe zgornji kodi, se prikaže napaka TLE (Time Limit Exceeded).

2. Napake za eno napako

Napake Off-by-One nastanejo, ko se zanka zažene enkrat več ali enkrat manj, kot ste želeli. V bistvu se zgodi, ko pogoj zanke ni pravilno nastavljen.

Primer : Spodnji program Java prikazuje napako Off-by-One, kjer se zanka zažene 6-krat, mi pa smo pričakovali, da se bo zagnala 5-krat.

Java
// Java Program to demonstrates Off-by-One Errors import java.io.*; class Geeks {  public static void main(String[] args)  {  for (int i = 0; i <= 5; i++) {  System.out.print(i + ' ');  }  } } 

3. Spreminjanje spremenljivk zanke znotraj zanke

Ko spremenimo pogoj zanke (kot i) znotraj zanke, lahko povzroči, da zanka preskoči določene ponovitve ali se obnaša na načine, ki jih nismo pričakovali. To lahko povzroči napake ali nepričakovano vedenje.

Primer : Spodnji program Java prikazuje spreminjanje spremenljivke zanke znotraj zanke, ki povzroči, da zanka preskoči določene iteracije in se obnaša nepričakovano.

Java
// Java program demonstrates  // modification in i variable import java.io.*; class Geeks {  public static void main(String[] args)  {  for (int i = 0; i < 5; i++) {  if (i == 2) {    // Modifies the loop variable and skips  // the next iteration  i++;  }  System.out.println(i);  }  } } 

4. Prazno telo zanke

Prazno telo zanke se pojavi, ko je zanka zapisana za ponavljanje, vendar ne izvaja nobenih operacij znotraj zanke. Izvajanje zanke brez uporabnih operacij v njej je lahko zmedeno.

primer: Spodnji program Java prikazuje telo prazne zanke.

Java
// Java program to demonstrates Empty loop body import java.io.*; class Geeks {  public static void main(String[] args)  {  for (int i = 0; i < 10; i++) {    // Empty body no operations  }  } } 

Za to ne bo ustvarjen izhod, ker je telo zanke prazno.

Tabela povzetka

Vrsta zanke

Kdaj uporabiti

Preverjanje stanja

Ali se izvede vsaj enkrat?

za zanko

Ko želite natančne ponovitve

Pred telesom zanke Imenuje se Entry-controlled.

št

medtem ko zanka

Ko morate najprej preveriti stanje.

Pred telesom zanke Imenuje se Entry-controlled.

seznam razvrščenih java

št

do-while zanka

Ko morate vsaj enkrat teči

Po telesu zanke Imenuje se Izhodno nadzorovano.

ja

za vsako zanko

Ko obdelate vse predmete zbirke

Interno obdelan

št

Sorodne objave:

  • za zanko
  • medtem ko zanka
  • do-while zanka
Ustvari kviz