Цикл For в Java

Цикл For в Java

Цикли в Java використовуються, коли нам потрібно багаторазово виконувати блок операторів. Цикл Java for забезпечує стислий спосіб запису структури циклу. Інструкція for використовує ініціалізацію, умову та збільшення/зменшення в одному рядку, таким чином забезпечуючи коротшу, просту для налагодження структуру циклу. Давайте розберемося з циклом Java for на прикладах.

Цикл For в Java

Синтаксис:

for (initialization expr; test expr; update exp) {  // body of the loop  // statements we want to execute } 

Частини Java For Loop

Цикл Java for розділений на різні частини, як зазначено нижче:

  • Вираз ініціалізації
  • Тестовий вираз
  • Оновити вираз

1. Вираз ініціалізації

У цьому виразі ми повинні ініціалізувати лічильник циклу певним значенням.

приклад:

int i=1; 

2. Тестовий вираз

У цьому виразі ми повинні перевірити умову. Якщо умова оцінюється як істинна, ми виконаємо тіло циклу та перейдемо до виразу оновлення. В іншому випадку ми вийдемо з циклу for.

приклад:

i  <= 10 

3. Оновити вираз :

Після виконання тіла циклу цей вираз збільшує/зменшує змінну циклу на деяке значення.

приклад:

i++; 

Як працює цикл For?

  1. Керування потрапляє в цикл for. Ініціалізація виконана
  2. Потік переходить до стану
  3. Стан перевірено.
    • Якщо Умова виконується, потік надходить у Тіло
    • Якщо умова дає значення false, потік виходить за межі циклу
  4. Оператори всередині тіла циклу виконуються.
  5. Потік переходить до оновлення
  6. Відбувається оновлення, і процес знову переходить до кроку 3
  7. Цикл for завершився, і потік вийшов назовні.

Блок-схема для циклу for у Java

Блок-схема для циклу в Java

Блок-схема для циклу в Java

Приклади Java-циклу For

Приклад 1: ( Ця програма надрукує від 1 до 10)

Java




/*package whatever //do not write package name here */> // Java program to write a code in for loop from 1 to 10> class> GFG {> > public> static> void> main(String[] args)> > {> > for> (> int> i => 1> ; i <=> 10> ; i++) {> > System.out.println(i);> > }> > }> }>

Вихід

1 2 3 4 5 6 7 8 9 10 

приклад 2: Ця програма спробує надрукувати Hello World 5 разів.

Java




// Java program to illustrate for loop> class> forLoopDemo {> > public> static> void> main(String args[])> > {> > // Writing a for loop> > // to print Hello World 5 times> > for> (> int> i => 1> ; i <=> 5> ; i++)> > System.out.println(> 'Hello World'> );> > }> }>

Вихід

Hello World Hello World Hello World Hello World Hello World 

Складність методу:

Часова складність: О(1)
Допоміжний простір: О(1)

Приклад сухої роботи 1

Програма буде виконуватися наступним чином.

  1. Програма починається.
  2. i ініціалізується значенням 1.
  3. Стан перевірено. 1 <= 5 дає істину.
    1. Hello World друкується вперше.
    2. Оновлення виконано. Тепер i = 2.
  4. Стан перевірено. 2 <= 5 дає істину.
    1. Hello World друкується вдруге.
    2. Оновлення виконано. Тепер i = 3.
  5. Стан перевірено. 3 <= 5 дає істину.
    1. Hello World друкується втретє
    2. Оновлення виконано. Тепер i = 4.
  6. Стан перевірено. 4 <= 5 дає істину.
    1. Hello World друкується вчетверте
    2. Оновлення виконано. Тепер i = 5.
  7. Стан перевірено. 5 <= 5 дає істину.
    1. Hello World друкується в 5-й раз
    2. Оновлення виконано. Тепер i = 6.
  8. Стан перевірено. 6 <= 5 дає false.
  9. Потік виходить за межі контуру. Програма завершується.

приклад 3: (Програма друкує суму x у діапазоні від 1 до 20)

Java




// Java program to illustrate for loop.> class> forLoopDemo {> > public> static> void> main(String args[])> > {> > int> sum => 0> ;> > // for loop begins> > // and runs till x <= 20> > for> (> int> x => 1> ; x <=> 20> ; x++) {> > sum = sum + x;> > }> > System.out.println(> 'Sum: '> + sum);> > }> }>

Вихід

Sum: 210 

Вкладений цикл For у Java

Вкладений цикл Java — це концепція використання циклу for всередині іншого циклу for (подібно до використання вкладеного if-else). Давайте зрозуміємо це на прикладі, наведеному нижче:

Java




// Java Program to implement> // Nested for loop> import> java.io.*;> // Driver Class> class> GFG {> > // main function> > public> static> void> main(String[] args)> > {> > // Printing a 1 to 5 (5 times)> > // first loop> > for> (> int> i => 1> ; i <=> 5> ; i++) {> > // second loop> > for> (> int> j => 1> ; j <=> 5> ; j++) {> > System.out.print(j +> ' '> );> > }> > System.out.println();> > }> > }> }>

Вихід

1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 

Щоб дізнатися більше про вкладені цикли, див Вкладені цикли в Java .

Цикл Java For-Each

Розширений цикл For або Цикл Java For-Each в Java — це ще одна версія циклу for, представленого в Java 5. Розширений цикл for забезпечує простіший спосіб проходження елементів колекції або масиву. Він є негнучким і його слід використовувати лише тоді, коли є потреба послідовно перебирати елементи, не знаючи індексу поточного обробленого елемента.

Примітка: Об’єкт/змінна є незмінним, коли використовується розширений цикл for, тобто він гарантує, що значення в масиві не можна змінювати, тому його можна назвати циклом лише для читання, де ви не можете оновлювати значення на відміну від інших циклів де значення можна змінювати.

Синтаксис:

for (T element:Collection obj/array) {  // loop body  // statement(s) } 

Розглянемо приклад, щоб продемонструвати, як розширений цикл for можна використовувати для спрощення роботи. Припустімо, що існує масив імен, і ми хочемо надрукувати всі імена в цьому масиві. Давайте подивимося різницю між цими двома прикладами за допомогою цієї простої реалізації:

Java




// Java program to illustrate enhanced for loop> public> class> enhancedforloop {> > // Main Function> > public> static> void> main(String args[])> > {> > // String array> > String array[] = {> 'Ron'> ,> 'Harry'> ,> 'Hermoine'> };> > // enhanced for loop> > for> (String x : array) {> > System.out.println(x);> > }> > /* for loop for same function> > for (int i = 0; i { System.out.println(array[i]); } */ } }>

Вихід

Ron Harry Hermoine 

Складність вищеописаного способу:

Часова складність: О(1)
Допоміжний простір: О(1)

Рекомендація: Використовуйте цю форму заяви замість загальної форми, коли це можливо. (згідно з документом JAVA.)

Java Infinite for Loop

Це нескінченний цикл, оскільки умова ніколи не поверне false. Етап ініціалізації полягає в установці значення змінної i до 1, оскільки ми збільшуємо значення i, воно завжди буде більше за 1, тому ніколи не повертатиме false. Зрештою це призведе до стану нескінченного циклу.

приклад:

Java




// Java infinite loop> class> GFG {> > public> static> void> main(String args[])> > {> > for> (> int> i => 1> ; i>=> 1> ; i++) {> > System.out.println(> 'Infinite Loop '> + i);> > }> > }> }>

Вихід

Infinite Loop 1 Infinite Loop 2 ... 

Існує ще один спосіб виклику нескінченного циклу

Якщо ви використовуєте два крапка з комою ;; у циклі for це буде інфінітивний цикл for.

Синтаксис:

for(;;){   //code to be executed  } 

приклад:

Java




public> class> GFG {> > public> static> void> main(String[] args)> > {> > for> (;;) {> > System.out.println(> 'infinitive loop'> );> > }> > }> }>

Вихід

infinitive loop infinitive loop .... 

Поширені запитання щодо Java for Loop

1. Що таке цикл for у Java?

Цикл for у Java — це тип циклу, який використовується для повторюваного виконання блокового коду, доки не буде виконано умову.

2. Що таке синтаксис циклу for?

Синтаксис циклу for наведено нижче:

for (initialization expr; test expr; update exp) {  // body of the loop  // statements we want to execute } 

3. Чому використовується цикл for?

Цикл for використовується, коли нам потрібно повторити ті самі оператори відому кількість разів.

Обов'язково звертатися: