logo

Цикл 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




char + int у 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.)

mysql список користувачів

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 використовується, коли нам потрібно повторити ті самі оператори відому кількість разів.

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