Разлика между и за цикъл

Автор: Laura McKinney
Дата На Създаване: 2 Април 2021
Дата На Актуализиране: 10 Може 2024
Anonim
Разликата между цикъл на Аткинсън и цикъл на Ото
Видео: Разликата между цикъл на Аткинсън и цикъл на Ото

Съдържание


В C ++ и Java, итерационните операции за цикъла, докато цикълът и цикълът в режим на изпълнение, позволяват набора от инструкции да се изпълнява многократно, докато условието е вярно и се прекратява, щом условието стане невярно. Условията в итерационните извлечения могат да бъдат предварително дефинирани като в цикъл или с отворен тип, както и в цикъл, докато.

Има няколко варианта „за“ контур в C ++, които се подразбират, за да увеличат неговата приложимост, мощност и гъвкавост. Например, цикълът for ни позволява да използваме повече от една променлива вътре в цикъла, за да го контролираме, както и използването на конвергентната функция с цикъл "for". Обратно, с цикъл while не можем да използваме много вариации, които трябва да се използват със стандартния синтаксис.

Има някои основни разлики между цикли за и докато, които са обяснени по-нататък с помощта на сравнителна диаграма.

  1. Сравнителна диаграма
  2. дефиниция
  3. Ключови разлики
  4. заключение

Сравнителна диаграма

Основа за сравнениеза докато
декларацияза (инициализация; условие; итерация) {
// тяло на за контур
}
докато (условие) {
изявления; // тяло на контура
}
форматИнициализация, проверка на състоянието, итерационна декларация са написани в горната част на цикъла.В горната част на цикъла се извършва само инициализация и проверка на състоянието.
употребаЦикълът for се използва само когато вече знаехме броя повторения.Цикълът, използван само когато итерацията на броя не е точно известна.
състояниеАко условието не е поставено за цикъл, цикълът се повтаря безкрайно много време.Ако условието не е поставено в цикъл, докато осигурява компилация грешка.
ИнициализацияIn for loop инициализацията веднъж направена никога не се повтаря.В цикъл, докато се инициализира по време на проверка на състоянието, тогава инициализацията се извършва всеки път, когато цикълът се итератира.
Итерационна декларацияИзразът за итерация на цикъл е написан отгоре, следователно се изпълнява само след като се изпълнят всички операции в цикъла.Докато цикълът, декларацията за итерация може да бъде написана навсякъде в цикъла.


Определение за за цикъл

В Java има две форми на за цикли. Първата форма е „традиционна” форма, а втората е „за всеки”.

Синтаксис

Общата форма на традиционно за контур заявление.

for (инициализация; условие; итерация) {// body of for loop}

  • Инициализация - Инициализацията на променливата за контрол на цикъла на за цикъл се изпълнява само веднъж, по време на първата итерация на цикъла. Тук променливата за управление на цикъла се инициализира, понякога ако променливата на цикъла не се използва отново никъде в програмата и се използва само като управляваща променлива на цикъла, тогава тя се декларира и инициализира в цикъла 'за'.
  • състояние - Условието на цикъл 'for' се изпълнява всеки път, когато цикълът се повтаря.
  • Увеличение и итерация- Итерационният оператор е израз, който увеличава или намалява променливата, управляваща цикъла.

Всеки път, когато цикълът се изпълни, първо се изпълнява неговото условие за инициализация; след това състоянието се проверява. Ако условието е изпълнено, тялото на цикъла се изпълнява, след това се изпълнява итерационният оператор. След това отново се проверява условието, за да се знае дали цикълът ще се повтори или ще прекрати.


В Java заявката за инициализация и итерационният оператор може да включва повече от един оператор. Всеки оператор е разделен от друг със запетая, в Java запетая е разделител, докато в C ++ „запетаят“ е оператор, който може да се използва във всеки валиден израз.

за всеки цикъл и неговия синтаксис

Формата „за всеки“ е подобрена за цикъл. Общата форма на всеки цикъл е следната.

за (type iter_variable: collection) изявление-блок

Тук "type" указва типа на итерационната променлива, последвана от итерационната променлива. Променливата за итерация ще получи елемента от променливата за събиране. Типът трябва да е същият като вида на елементите, съхранявани в колекционерската променлива. Формата for for за цикъл автоматизира итерацията на цикъла от началото до края достъпа до стойностите в последователен ред.

пример

Има различни видове колекции, използвани с за цикъл. Нека го обсъдим с масив като колекция.

public class Main {public static void main (String args) {int array = {10, 20, 30, 40, 50, 60}; int add = 0; за (int c: array) {System.out.ln ("стойност в c" + c); добавяне = добавяне + с; } System.out.ln ("добавянето на елементи от масив е" + добавяне); }} // изходна стойност в c 10 стойност в c 20 стойност в c 30 стойност в c 40 стойност в c 50 стойност в c 60 добавка на елементи от масива е 210

Тук „c“ е променлива за повторение; той получава стойностите от масива, една по една, от най-ниския индекс до най-високия индекс в масива. Тук цикълът се повтаря, докато не бъдат разгледани всички елементи от масива. Възможно е да прекратите цикъла между тях, като използвате „break“. Промяната в променливата на итерацията обаче не засяга масива, тъй като е само променлива само за четене.

Определение на while цикъл

Най- докато loop е най-фундаменталният цикъл, наличен в C ++ и Java. Работата на цикъл за известно време е подобна както в C ++, така и в Java.

Синтаксис

Декларацията за цикъл за известно време е следната

while (условие) {изявления; // тяло на контура}

Първоначалният цикъл проверява състоянието и след това изпълнява операторите, докато състоянието е вътре, докато цикълът се окаже истина. Условието в, докато цикъл може да бъде всеки булев израз. Когато изразът върне всяка ненулева стойност, тогава условието е вярно и ако изразът връща нулева стойност, условието става невярно.

Ако условието стане вярно, тогава цикълът се повтаря и ако условието стане невярно, тогава контролът преминава към следващия ред на кода, непосредствено последван от цикъла. Извлеченията или цикълът на тялото могат да бъдат или празни, или единични, или блок от изрази.

пример

Нека да обсъдим работата на цикъл за известно време. В примера по-долу кодът ще е от 1 до 10.

// пример е в Java. public class Main {public static void main (String args) {int n = 0; докато (n <10) {n ++; System.out.ln ("n =" + n); }}} // изход n = 1 n = 2 n = 3 n = 4 n = 5 n = 6 n = 7 n = 8 n = 9 n = 10

Тук първоначалната стойност на 'n' е 0, което прави условието, докато цикълът е истина. Тогава контролът влиза в тялото на цикъл while и стойността на 'n' се увеличава според първото изявление в тялото на цикъл от време. Стойността на 'n' се редактира, след това контролът се връща към състоянието след време, сега стойността на 'n' е 1, което отново удовлетворява условието и тялото на цикъла се изпълнява отново. Това продължава, докато условието е вярно, щом условието стане невярно, цикълът се прекратява.

Подобно на цикъл „for“, цикълът „while“ също може да инициализира контролната променлива в горната част на цикъла, т.е. по време на проверка на състоянието.

// например while ((ch = getchar ())! = A) {System.out.ln ("Азбука на въвеждането" + ch); }

Тук контролната променлива 'ch' се инициализира и състоянието на цикъла се проверява в горната част на цикъла.

Забележка:

Може да е цикъл за цикъл или време, ако има само едно изречение в тялото на цикъла, къдравите скоби не се изискват в това състояние.

  1. в за цикъл, инициализация, проверка на състоянието и увеличаване или намаляване на променливата итерация се прави изрично само в синтаксиса на цикъла. Що се отнася до, в докато цикъл, ние можем само да инициализираме и да проверим състоянието в синтаксиса на цикъла.
  2. Когато сме наясно с броя повторения, които трябва да възникнат при изпълнение на цикъл, тогава използваме за контур. От друга страна, ако не сме наясно с броя повторения, които трябва да се появят в цикъл, тогава използваме докато контур.
  3. Ако не успеете да сложите декларация за състояние за цикъл, това ще доведе до безкрайно повторение на контура. За разлика от това, ако не успеете да поставите изявление за условие в докато цикъл, това ще доведе до компилация грешка.
  4. Инициализационният оператор в синтаксиса на за цикъл се изпълнява само веднъж в началото на цикъла. И обратното, ако докато loop носи оператор за инициализация в синтаксиса си, тогава операторът за инициализация в цикъл while ще се изпълнява всеки път, когато цикълът се итератира.
  5. Итерационното изявление в за цикъл ще се изпълни след изпълнението на тялото за цикъл. Напротив, декларацията за повторение може да бъде написана навсякъде в тялото на докато цикъл, така че може да има някои операции, които се изпълняват след изпълнението на операция за итерация в тялото на while цикъл.

Заключение:

И двата цикъла за цикъл и цикъл са итерация, но и двете имат своята отличителна черта. Цикълът for има всички декларации (инициализация, условие, итерация) в горната част на тялото на цикъла. Обратно, в, докато цикълът само инициализация и състояние е в горната част на тялото на цикъла и итерация може да бъде написана навсякъде в тялото на цикъла.