Петље у програмирању дозвољавају да се скуп инструкција покрене више пута на основу услова. У Јави постоје три типа петљи које су објашњене у наставку:
1. за петљу
Петља фор се користи када знамо број итерација (знамо колико пута желимо да поновимо задатак). Наредба фор укључује услов иницијализације и инкремент/декремент у једном реду.
Пример: Јава програм испод показује фор петљу која штампа бројеве од 0 до 10 у једном реду.
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 + ' '); } } }
Излаз
0 1 2 3 4 5 6 7 8 9 10
Синтакса:
за (иницијализација; услов; повећање/смањење) {
// код који треба извршити
}
Слика испод показује дијаграм тока фор петље:
Дијаграм тока фор -петље- Услов иницијализације : Овде иницијализујемо променљиву која се користи. Означава почетак фор петље. Може се користити већ декларисана променљива или се променљива може декларисати као локална само за петљу.
- Услов тестирања: Користи се за тестирање излазног услова за петљу. Мора да врати логичку вредност. То је такође петља за контролу уноса јер се услов проверава пре извршења наредби петље.
- Извршење исказа : Једном када се процени да је услов тачан, наредбе у телу петље се извршавају.
- Инкремент/Декремент : Користи се за ажурирање променљиве за следећу итерацију.
- Завршетак петље :Када услов постане нетачан, петља се завршава означавајући крај свог животног циклуса.
Напомена : Постоји још један облик фор петље познат као Побољшана фор петља или (за сваку петљу).
како иницијализовати низ у Јави
Побољшана фор петља (за сваку)
Ова петља се користи за понављање низова или колекција.
Пример : Јава програм испод показује побољшану петљу фор (за сваку петљу) за понављање низа и штампање имена.
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); } } }
Излаз
Name: Sweta Name: Gudly Name: Amiya
Синтакса:
за (променљива типа података: арраиОрЦоллецтион) {
// код који треба извршити
}
2. док Петља
Док петља се користи када желимо да проверимо услов пре извршавања тела петље.
Пример: Јава програм испод показује вхиле петљу која штампа бројеве од 0 до 10 у једном реду.
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++; } } }
Излаз
0 1 2 3 4 5 6 7 8 9 10
Синтакса:
док (услов) {
// код који треба извршити
}
Слика испод приказује дијаграм тока вхиле петље:
упореди стрингове јава
Дијаграм тока вхиле-петље- Док петља почиње провером Буловог услова. Ако је процењено као тачно, онда се извршавају наредбе тела петље, иначе се извршава прва изјава која следи након петље. Из тог разлога се назива и улазна контролна петља
- Једном када се процени да је услов истинит, извршавају се наредбе у телу петље. Обично искази садрже ажурирану вредност за променљиву која се обрађује за следећу итерацију.
- Када услов постане нетачан, петља се прекида што означава крај њеног животног циклуса.
3. уради-вхиле петља
До-вхиле петља осигурава да се блок кода изврши бар једном пре провере стања.
Пример : Јава програм испод показује до-вхиле петљу која штампа бројеве од 0 до 10 у једном реду.
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); } }
Излаз
0 1 2 3 4 5 6 7 8 9 10
Синтакса:
уради {
// код који треба извршити
} вхиле (услов);
Слика испод приказује дијаграм тока до-вхиле петље:
Дијаграм тока уради-вхиле петље- до вхиле петља почиње са извршавањем наредбе. Први пут нема провере ниједног стања.
- Након извршења наредби и ажурирања вредности променљиве услов се проверава за тачну или нетачну вредност. Ако је процењено на тачно, почиње следећа итерација петље.
- Када услов постане нетачан, петља се прекида што означава крај њеног животног циклуса.
- Важно је напоменути да ће до-вхиле петља извршити своје наредбе најмање једном пре него што се било који услов провери и стога је пример излазне контролне петље.
Уобичајене грешке у петљи и како их избећи
Ако се петље не користе правилно, оне могу увести замке и грешке које утичу на читљивост и функционалност кода. Испод су неке уобичајене замке петљи:
1. Бесконачне петље
Ово је једна од најчешћих грешака при имплементацији било које врсте петље је да се можда никада неће изаћи јер се петља изводи бесконачно време. Ово се дешава када стање из неког разлога не успе.
Врсте бесконачних петљи:
- бесконачно за петљу
- бесконачна док петља
Пример: Овде оба примера показују бесконачне петље.
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'); } } }
Излаз: Када покренете оба горња кода, добићете грешку ТЛЕ (Тиме Лимит Екцеедед).
2. Грешке Офф-би-Оне
Грешке Офф-би-Оне настају када се петља покрене једном више или једном мање него што сте желели. У основи се дешава када услов петље није исправно постављен.
Пример : Јава програм испод показује грешку Офф-би-Оне где се петља покреће 6 пута и очекивали смо да ће се покренути 5 пута.
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. Модификовање променљивих петље унутар петље
Када променимо услов петље (као и) унутар петље, то може проузроковати да петља прескочи одређене итерације или да се понаша на начин који нисмо очекивали. Ово може довести до грешака или неочекиваног понашања.
Пример : Јава програм испод показује модификовање променљиве петље унутар петље што доводи до тога да петља прескаче одређене итерације и понаша се неочекивано.
10 мл у оз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. Празно тело петље
Празно тело петље се јавља када је петља написана за понављање, али не изводи никакве операције унутар петље. Покретање петље без икаквих корисних операција унутар ње може бити збуњујуће.
Пример: Јава програм испод показује тело празног петље.
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 } } }
За ово неће бити генерисан излаз јер је тело петље празно.
Суммари Табле
Лооп Типе | Када користити | Провера стања | Извршава бар једном? |
|---|---|---|---|
за петљу | Када желите тачне итерације | Пре тела петље То се зове Ентри-цонтроллед. | бр |
вхиле петља | Када вам је потребно прво проверите стање. | Пре тела петље То се зове Ентри-цонтроллед. изаберите из више табела скл | бр |
уради-вхиле петља | Када треба да трчите бар једном | Тело после петље се зове Екит-цонтроллед. | да |
за-сваку петљу | Када обрадите све предмете колекције | Интерно обрађено | бр |
Повезани постови:
- за петљу
- вхиле петља
- уради-вхиле петља