В Java, както и в почти всеки език за програмиране, съществуват инструменти, които осигуряват многократно повторение на дадена част от кода или, както се наричат, цикли. Циклите в Java са представени от такива оператори както за и докато, така и за техните разновидности. Като правило, контурите се използват за преминаване през едномерни и многоизмерни масиви и повторени структури от данни (включително колекции), за да се намерят определени елементи и последващи операции с тях. Това обаче не е единственият начин да се използва такъв инструмент като Java цикъл. Ще бъдат дадени примери за използване, когато те бъдат прегледани.
Докато Java: описание и примери
Ако стойността на броя на променливите първоначално е равна на 11, тогава условието на цикъла би било погрешно и програмата не би се вписала дори в тялото му. Заслужава да се отбележи, че синтаксисът на Java ви позволява да използвате оператора while без тяло. Ето един пример. Да предположим, че имаме две променливи i = 100 и j = 200, преди да се изправим пред проблема с програмираната им средна аритметика - за това можете да използвате "hollow" докато: while (i ++ Cycle do-while В предишните примери, ако условният израз първоначално е върнал стойността на , тогава изпълнението на програмата ще игнорира тялото на цикъла и продължава, но често възникват ситуации, при които изпълнението на кода, съдържащ се в тялото на цикъла, е задължително поне веднъж, независимо от истината на израза, с други думи, проверката на истината на условния израз не е нужно да Тази функционалност може да даде вид на време докато се нарича do-while, която има следната форма:
прави {{14} //тялото на цикъла} докато (условие), както виждаме, първоначално при изпълнение тялото на цикъла върви, тогава се проверява истинността на състоянието - и така всяка итерация
.
Горният код ще работи по същия начин, както при обичайното време. Въпреки това, ако сме задали броя на променливите на 11 тялото на цикъласъщото би било изпълнено веднъж, преди операторът да може да провери истинността на изявлението.Описание и примери за - Java Cycle
Виждаме, че променливата loopVal се използва като брояч. След всяка итерация на цикъла стойността му ще се увеличи с 1 и ще се появи, докато не достигне 11. Забележете, че контролната променлива може да бъде декларирана извън оператора, но ако няма да използвате тази променлива никъде другаде препоръчва се да я декларирате директно на оператора. Имайте предвид, че променливата, обявена в самия оператор, има обхват в рамките на един и същ цикъл. Има ситуации, в които е необходимо да се декларират няколко контролиращи променливи.За Java, цикълът ви позволява да посочите две или повече променливи чрез запетаи и да го направите, когато те се инициализират и когато се повторят. Този оператор ще има следната форма:
за (int i = 1 int j = 10; i Характеристики на операторното изявление за контурната верига for е доста гъвкава конструкция, тъй като и трите му части (инициализация, състояние, и увеличение /декремент) могат да бъдат използвани Например, вместо променлива с контролна променлива, можете да замените всяка логическа променлива boolean exit = false, за (int i = 0;! Exit; ++ i) {exit = true;} В примера по-горе, ние наблюдаваме как работата на цикъла абсолютно не зависи от контролната променлива i и броя на повторенията на залата това е единствено от факта, в кой момент изходът на променливата ще приеме стойността true.Освен това, контролната променлива може да бъде напълно премахната от цикъла и това няма да повлияе на работата му: за (;! exit;) {}. Въпреки че това не е най-интелигентният начин Най-важното е да се предвиди ситуацията, в която променливата приема стойността, необходима за излизане от цикъла, така че да не го превръща в безкрайна. За Java, цикълът може да бъде деклариран по следния начин: за (;;) {}. Това е типичен пример за безкраен цикъл със специални условия за прекъсване. За това как да прекъсваме тези цикли, ще поговорим малко по-късно.
Цикълът foreach Java винаги се използва за последователно превъртане през елементите на масива или всякакви структури от данни и извършване на някои повтарящи се операции над тях. Пример за дадена операторска форма за представяне е по-долу:
Какитеративна променлива, обявена за име, и предварително обявеният масив от редове от имена служи като втори аргумент на оператора. Името на променливата замества стойностите на всеки елемент от масива, докато всички негови елементи бъдат премахнати. Трябва да се отбележи, че типът на променливата трябва да бъде съвместим с типа елементи, които се съхраняват в масива. Също така името на променливата е достъпно само за четене и опит за промяна няма да промени самия елемент в масива.
Има три прекъсвания за цикъла: прекъсване, връщане и продължаване. Първите две могат напълно да прекъснат цикъла и да продължат да прекъсват само работата на текущата итерация. Ако използвате умишлено безкраен Java цикъл във вашия код, операторите на данни трябва да присъстват в него. Обмислете един прост пример за използване на break:
Въпреки че в този оператор има 11 повторения, само 8 ще бъдат изпълнени, тъй като когато броячът i е равен на 7, условие в тялото, от което има оператор на прекъсване, се задейства. Операторът за връщане действа по същия начин, с тази разлика, че той не само осигурява изход от Java цикъла, но и метода, който се поставя в този цикъл.
Трябва да се има предвид, че прекъсването на прекъсването работи само за този цикъл, в който тялото се намира директно, т.е. ако го използвате в затворен цикъл, то външният цикъл не спира работата си. За да направите това, прекъсването може да се използва като цивилизована форма на goto. В този вариант този оператор се използва във връзка с етикета, който позволява организирането на изхода не само от циклите, но и отвсеки блок код. Етикетът е подходящо наименуван идентификатор на двоеточие след него. Етикетът се обявява в началото на маркирания блок код. За да се прекъсне изпълнението на маркиран блок, е необходимо да се декларира на правилното място: break name_metrics. Разгледайте примера на картинката по-долу:
Има три блока, наречени Едно, Две и Три, съответно, в кода. Операторът на прекъсване с етикет Two е вграден във всичките три блока, но когато се задейства, програмата ще излезе от блоковете Three и Two и ще продължи изпълнението в блока One. Това означава, че в конзолата ще видим две съобщения: Три и едно.
Познаваме понятието цикли в Java, основните оператори по време и за, както и техните форми do-while и за всеки съответно. За по-добро разбиране препоръчваме да извършвате упражнения, като използвате данните на операторите в различни форми, както и различни начини за прекъсване и преход от един блок в друг.
за (int i = 1 int j = 10; i Характеристики на операторното изявление за контурната верига for е доста гъвкава конструкция, тъй като и трите му части (инициализация, състояние, и увеличение /декремент) могат да бъдат използвани Например, вместо променлива с контролна променлива, можете да замените всяка логическа променлива boolean exit = false, за (int i = 0;! Exit; ++ i) {exit = true;} В примера по-горе, ние наблюдаваме как работата на цикъла абсолютно не зависи от контролната променлива i и броя на повторенията на залата това е единствено от факта, в кой момент изходът на променливата ще приеме стойността true.Освен това, контролната променлива може да бъде напълно премахната от цикъла и това няма да повлияе на работата му: за (;! exit;) {}. Въпреки че това не е най-интелигентният начин Най-важното е да се предвиди ситуацията, в която променливата приема стойността, необходима за излизане от цикъла, така че да не го превръща в безкрайна. За Java, цикълът може да бъде деклариран по следния начин: за (;;) {}. Това е типичен пример за безкраен цикъл със специални условия за прекъсване. За това как да прекъсваме тези цикли, ще поговорим малко по-късно.