Різниця між циклом "для" та "" під час "

Автор: Laura McKinney
Дата Створення: 2 Квітень 2021
Дата Оновлення: 9 Травень 2024
Anonim
Різниця між циклом "для" та "" під час " - Технологія
Різниця між циклом "для" та "" під час " - Технологія

Зміст


У C ++ та Java твердження ітерації для циклу, тоді як цикл та цикл виконання, дозволяють набір інструкцій повторно виконуватись, доки умова не відповідає дійсності та припиняється, як тільки умова стає помилковою. Умови в ітераційних операторах можуть бути заздалегідь визначені як для циклу, так і відкритого типу, як у циклі while.

Для підвищення його застосованості, потужності та гнучкості мається на увазі кілька варіантів циклу "for" для C ++. Наприклад, цикл for дозволяє нам використовувати більше однієї змінної всередині циклу для управління ним, а також використовувати функцію конвергенції з циклом "for". І навпаки, з циклом while ми не можемо використовувати багато варіантів, які необхідно використовувати зі стандартним синтаксисом.

Існують деякі основні відмінності між циклами "for" і "while", які пояснюються далі за допомогою діаграми порівняння.

  1. Порівняльна діаграма
  2. Визначення
  3. Ключові відмінності
  4. Висновок

Порівняльна діаграма

Основа для порівняннядля поки
Деклараціяfor (ініціалізація; умова; ітерація) {
// тіло для циклу
}
while (умова) {
заяви; // тіло петлі
}
ФорматІніціалізація, перевірка стану, заява про ітерацію записуються у верхній частині циклу.Тільки ініціалізація та перевірка стану проводиться у верхній частині циклу.
ВикористовуйтеЦикл for використовується лише тоді, коли ми вже знали кількість ітерацій.Цикл while використовується лише тоді, коли кількість ітерацій точно не відомі.
УмоваЯкщо умова не встановлена ​​для циклу, цикл повторюється нескінченно разів.Якщо умова не вставляється під час циклу, вона забезпечує помилку компіляції.
ІніціалізаціяУ циклі for, ініціалізація щойно зроблена ніколи не повторюється.У циклі while, якщо ініціалізація проводиться під час перевірки стану, тоді ініціалізація проводиться щоразу, коли цикл ітераціюється.
Заява про повторенняЗаява про ітерацію циклу написана вгорі, отже, вона виконується лише після того, як будуть виконані всі операції в циклі.У циклі while, заяву про ітерацію можна записати в будь-якому місці циклу.


Визначення для циклу

У Java існує дві форми для петлі. Перша форма - це «традиційна» форма, а друга - форма «для кожного».

Синтаксис

Загальна форма традиційного для циклу оператора.

for (ініціалізація; умова; ітерація) {// тіло для циклу}

  • Ініціалізація - Ініціалізація змінної керування циклом for для циклу виконується лише один раз, під час першої ітерації циклу. Тут ініціалізована змінна керування циклом, іноді, якщо змінна циклу не використовується знову ніде в програмі і використовується лише як керуюча змінна циклі, вона одночасно оголошується та ініціалізується у циклі 'for'.
  • Умова - Умова циклу "for" виконується щоразу, коли цикл повторюється.
  • Збільшення та ітерація- Ітераційний оператор - це вираз, який збільшує або зменшує змінну, що керує циклом.

Щоразу, коли цикл виконується, його умова ініціалізації виконується спочатку; потім перевіряється стан. Якщо умова виконується, виконується тіло циклу, тоді виконується оператор ітерації. Потім знову перевіряється умова, щоб знати, чи буде цикл ще більше повторюватися чи припинятиметься.


У Java заява ініціалізації та оператор ітерації можуть містити більше одного оператора. Кожне висловлення відокремлене комою іншим, у Java - кома є роздільником, тоді як у C ++ "кома" - це оператор, який може використовуватися в будь-якому дійсному виразі.

для кожного циклу та його синтаксису

Форма "для кожного" - це розширена функція для циклу. Загальна форма циклу для кожного циклу наступна.

для блоку операторів (введіть iter_variable: collection)

Тут "type" вказує тип змінної ітерації, а потім змінну ітерації. Змінна ітерації отримає елемент зі змінної колекції. Тип повинен бути таким самим, як тип елементів, що зберігаються в змінній колекції. Форма для циклу for для кожної автоматизує ітерацію циклу від початку до кінця доступу до значень у послідовному порядку.

Приклад

Існують різні типи колекцій, які використовуються для циклу. Давайте обговоримо це з масивом як колекцією.

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

Тут "c" - змінна ітерація; він отримує значення масиву, по одному, від найнижчого індексу до найвищого індексу в масиві. Тут цикл триває, поки всі елементи масиву не будуть вивчені. Можна припинити цикл між ними за допомогою "перерви". Однак зміна змінної ітерації не впливає на масив, оскільки це лише змінна лише для читання.

Визначення циклу while

The поки loop - це найбільш фундаментальний цикл, доступний в C ++ та Java. Робота циклу в той час, як у C ++, так і в Java.

Синтаксис

Оголошення циклу часу є таким

while (умова) {заяви; // тіло циклу}

Цикл while спочатку перевіряє умову, а потім виконує висловлювання до тих пір, поки умова не виявиться істинною. Умовою циклу 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 істинним. Потім елемент управління надходить у тіло циклу while, а значення 'n' збільшується відповідно до першого твердження в тілі циклу часу. Значення 'n' редагується, потім елемент керування повертається до певного періоду, тепер значення 'n' дорівнює 1, яке знову відповідає умові, і тіло циклу виконується знову. Це триває, поки умова не відповідає дійсності, як тільки умова стає помилковою, цикл припиняється.

Як і цикл "for", цикл "while" також може ініціалізувати змінну управління у верхній частині циклу, тобто під час перевірки стану.

// наприклад, while ((ch = getchar ())! = A) {System.out.ln ("Алфавіт введення" + ch); }

Тут ініціалізована контрольна змінна 'ch', а стан циклу перевірено у верхній частині циклу.

Примітка:

Це може бути цикл "цикл" або "час", якщо в тілі циклу є лише один вислів, фігурні дужки в цьому стані не потрібні.

  1. В для цикл, ініціалізація, перевірка стану та збільшення чи зменшення змінної ітерації виконується явно лише в синтаксисі циклу. Щодо проти, в поки цикл ми можемо лише ініціалізувати і перевірити стан у синтаксисі циклу.
  2. Коли ми усвідомлюємо кількість ітерацій, які мають відбутися при виконанні циклу, тоді ми використовуємо для петля. З іншого боку, якщо ми не знаємо про кількість ітерацій, які повинні відбуватися в циклі, ми використовуємо поки петля.
  3. Якщо ви не можете поставити заяву про стан для петля, це призведе до нескінченної ітерації петлі. На відміну від цього, якщо ви не можете поставити заяву про умову в поки цикл, це призведе до помилки компіляції.
  4. Оператор ініціалізації в синтаксисі для цикл виконується лише один раз на початку циклу. І навпаки, якщо поки цикл несе в своєму синтаксисі оператор ініціалізації, тоді оператор ініціалізації в циклі while виконуватиметься кожного разу, коли цикл ітераціюється.
  5. Заява про ітерацію в для цикл буде виконуватися після того, як тіло для циклу виконується. Навпаки, заяву про ітерацію можна написати в будь-якій точці тіла поки цикл, отже, можуть бути деякі заяви, які виконуються після виконання оператора ітерації в тілі циклу while.

Висновок:

Обидва циклу for і циклу while є ітерацією, але обидва мають свою особливість. У циклі for є все його оголошення (ініціалізація, умова, ітерація) у верхній частині тіла циклу. І навпаки, в той час, коли цикл лише ініціалізація та стан знаходиться у верхній частині тіла циклу, ітерація може бути записана в будь-якому місці тіла цикла.