Разница между циклом for и расширенным циклом for в Java
Цикл for в Java - это оператор потока управления, который многократно повторяет часть программы. For-loop - это наиболее часто используемый цикл в java. Если мы заранее знаем количество итераций, то цикл for - лучший выбор.
Синтаксис:
for (раздел инициализации; условная проверка; раздел увеличения / уменьшения) { // Код для выполнения }
Curly braces in for loop is optional without curly braces in for-loop we can take only one statement under for-loop which should not be a declarative statement and if we write declarative statement there then we will get compile-time error.
Пример
Ява
// Java Program to illustrate the use of // for loop // Importing all input output classes import java.io.*; // Importing all classes from // java.util package import java.util.*; // Class class GFG { // Main driver method public static void main(String[] args) { // 1st for-loop // Iteration ocer 5 elements using for loop for ( int i = 1 ; i <= 5 ; i++) { // Print statement System.out.println( "GFG!" ); } // 2nd for-loop // Declaring and intializatiization a variable // so we will get compile time error for ( int i = 1 ; i <= 1 ; i++) int x = 0 ; } } |
Выход:
Случай 1: Отсутствие второго цикла for
GFG GFG GFG GFG GFG
Случай 2: наличие второго цикла for
prog.java:28: ошибка: объявление переменной здесь запрещено int x = 0; ^ 1 ошибка
Пояснение к выходу:
- В разделе «Инициализация» эта часть будет выполняться только один раз в жизненном цикле цикла. Здесь мы можем объявить и инициализировать локальную переменную для цикла. Здесь мы можем объявить любое количество переменных , но должны иметь тот же тип , по ошибке , если мы пытаемся объявить другой тип данных , то мы получим компиляции - ошибка времени. В этом разделе, мы можем принять любой допустимый оператор Java , включая «System.out.println ()».
- Во время проверки условий мы можем взять любое допустимое выражение Java, которое должно иметь логический тип. Эта часть является необязательной , и если мы не принимаем ничего , то компилятор всегда будет место истинного значения здесь.
- в В разделе «Увеличение / уменьшение» мы можем увеличивать или уменьшать инициализированное значение. В этом разделе мы можем взять любой допустимый оператор Java, включая « System.out.println ()», и этот раздел также является необязательным.
Улучшено для цикла (для каждого цикла)
Это для цикла было ввести д в Java версии 1.5 , и это также заявление , поток управления , который выполняет итерацию часть программы несколько раз. Этот цикл for предоставляет другой способ обхода массива или коллекций и, следовательно, в основном используется для обхода массива или коллекций. Этот цикл также делает код более читаемым и снижает вероятность ошибок в коде.
Синтаксис:
for (переменная типа данных: массив | коллекция) { // Код для выполнения }
Пример:
После визуализации обеих программ мы обнаружили некоторые убедительные различия, которые отображены в табличном формате, чтобы получить ясное понимание. В обычном цикле for мы можем увеличить счетчик по нашему желанию, используя i = i + x (где x - любая константа x = 1,2,3…) Пример: печать элемента в одномерном массиве int [] x = {1,2,3}; для (int i = 0; i <x.length; i ++) { System.out.println (x [i]); } Пример: печать элемента в одномерном массиве с использованием цикла for-each int [] x = {1,2,3}; для (int a: x) { System.out.println (а); } Пример: печать элемента в 2D-массиве с использованием цикла for int [] [] х = {{1,2,3}, {4,5,6}}; for (int i = 0; i <x.length; i ++) { for (int j = 0; j <x [i] .length; j ++) { System.out.println (x [i] [j]); } } Пример: печать элемента в 2D-массиве с использованием цикла for-each int [] [] х = {{1,2,3}, {4,5,6}}; for (int [] x1: x) { for (int x2: x1) { System.out.println (x2); } } Нормальный цикл for Улучшенный цикл for Этот цикл for присутствует в JDK1 Этот цикл for присутствует в JDK5 Но улучшенный цикл for будет выполняться последовательно, т.е. счетчик всегда будет увеличиваться на единицу. Используя этот цикл for, мы можем выполнять итерацию по любому объекту-контейнеру. Мы можем выполнять итерацию в этом контейнере только с помощью этого цикла для реализации итеративного интерфейса. В этом цикле for мы можем выполнять итерацию как в порядке уменьшения, так и в порядке увеличения. Но в этом цикле for мы можем выполнять итерацию только в порядке увеличения. В этом цикле for мы можем заменять элементы по любому определенному индексу. Но в этом цикле for у нас нет доступа к индексу, поэтому мы не можем заменять элементы по какому-либо конкретному индексу. Используя обычный цикл for, мы можем печатать элементы массива либо в исходном порядке, либо в обратном порядке. Но в наличии для каждого цикла, мы можем напечатать элемент массива только в исходном порядке, а не в обратном порядке
Вниманию читателя! Не прекращайте учиться сейчас. Ознакомьтесь со всеми важными концепциями Java Foundation и коллекций с помощью курса "Основы Java и Java Collections" по доступной для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .