Безкраен за (Java) цикъл

В Java, както и в почти всеки език за програмиране, съществуват инструменти, които осигуряват многократно повторение на дадена част от кода или, както се наричат, цикли. Циклите в Java са представени от такива оператори както за и докато, така и за техните разновидности. Като правило, контурите се използват за преминаване през едномерни и многоизмерни масиви и повторени структури от данни (включително колекции), за да се намерят определени елементи и последващи операции с тях. Това обаче не е единственият начин да се използва такъв инструмент като Java цикъл. Ще бъдат дадени примери за използване, когато те бъдат прегледани.


Докато Java: описание и примери

Основният цикъл оператор в Java е време. Фрагмент от кода, затворен в неговото тяло, ще бъде повторен, докато условието на израза, затворен в скобите, след това ще задоволи логическото значение на истината. Общата форма на израза while е както следва: while (условие) {//тялото на цикъла} Веднага след като стойността на логическото условие престане да е вярно, затвореният в тялото на цикъла код ще престане да се изпълнява и контролът, предаван на него, отива веднага след него.
Ако само един оператор е затворен в тялото на цикъла, тогава скобите не могат да бъдат зададени, но се счита за добър тон, ако те винаги стоят. Фигурата по-горе показва блокова диаграма на работата на този оператор. За по-голяма яснота, нека да разгледаме примера, показан на фигурата по-долу:
Обявеният брой променливи първоначално има стойност 1. След това виждаме логическия израз, затворен в скобииме на оператора Това ще бъде вярно, тоест, връща вярно, стига стойността на променливата за броене да е по-малка или равна на 10. В тялото на цикъла с всяко преминаване (итерация), стойността на променливата се увеличава с 1 и се показва на екрана на конзолата. Обърнете внимание, че когато стойността на променливата достигне 11 цикъла, тя спира да работи.


Ако стойността на броя на променливите първоначално е равна на 11, тогава условието на цикъла би било погрешно и програмата не би се вписала дори в тялото му. Заслужава да се отбележи, че синтаксисът на Java ви позволява да използвате оператора while без тяло. Ето един пример. Да предположим, че имаме две променливи i = 100 и j = 200, преди да се изправим пред проблема с програмираната им средна аритметика - за това можете да използвате "hollow" докато: while (i ++ Cycle do-while В предишните примери, ако условният израз първоначално е върнал стойността на , тогава изпълнението на програмата ще игнорира тялото на цикъла и продължава, но често възникват ситуации, при които изпълнението на кода, съдържащ се в тялото на цикъла, е задължително поне веднъж, независимо от истината на израза, с други думи, проверката на истината на условния израз не е нужно да Тази функционалност може да даде вид на време докато се нарича do-while, която има следната форма:
прави {{14} //тялото на цикъла} докато (условие), както виждаме, първоначално при изпълнение тялото на цикъла върви, тогава се проверява истинността на състоянието - и така всяка итерация
.
Горният код ще работи по същия начин, както при обичайното време. Въпреки това, ако сме задали броя на променливите на 11 тялото на цикъласъщото би било изпълнено веднъж, преди операторът да може да провери истинността на изявлението.

Описание и примери за - Java Cycle

За loop for е многостранен и ефективен език в Java. До петата версия на Java SDK имаше само една традиционна форма за оператора, след което се появи нова - за всеки. В този раздел ще се запознаем с традиционната форма на оператора. за Java цикълът има следната форма:
Преди контролът да предаде кода в тялото на цикъла, първоначално се изпълнява инициализирането на променливата i, действайки като брояч. След това се проверява условен израз, в който броячът се сравнява с определена стойност и ако връща true, тялото на цикъла се изпълнява. Тогава стойността на брояча се променя на предварително дефинирана стъпка и отново се проверява условният израз, и докато условието не стане фалшиво. Схемата по-долу илюстрира всички етапи на цикъла.
За по-добро разбиране нека да дадем пример за това как работи цикълът на Java:
Виждаме, че променливата 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 цикъла, но и метода, който се поставя в този цикъл.

Използване на break като goto

Трябва да се има предвид, че прекъсването на прекъсването работи само за този цикъл, в който тялото се намира директно, т.е. ако го използвате в затворен цикъл, то външният цикъл не спира работата си. За да направите това, прекъсването може да се използва като цивилизована форма на goto. В този вариант този оператор се използва във връзка с етикета, който позволява организирането на изхода не само от циклите, но и отвсеки блок код. Етикетът е подходящо наименуван идентификатор на двоеточие след него. Етикетът се обявява в началото на маркирания блок код. За да се прекъсне изпълнението на маркиран блок, е необходимо да се декларира на правилното място: break name_metrics. Разгледайте примера на картинката по-долу:
Има три блока, наречени Едно, Две и Три, съответно, в кода. Операторът на прекъсване с етикет Two е вграден във всичките три блока, но когато се задейства, програмата ще излезе от блоковете Three и Two и ще продължи изпълнението в блока One. Това означава, че в конзолата ще видим две съобщения: Три и едно.

Заключение

Познаваме понятието цикли в Java, основните оператори по време и за, както и техните форми do-while и за всеки съответно. За по-добро разбиране препоръчваме да извършвате упражнения, като използвате данните на операторите в различни форми, както и различни начини за прекъсване и преход от един блок в друг.

Свързани публикации