Рубрики

Для каждого цикла в Java

Условие: принятие решений на Java

For-each — это другая техника обхода массива, такая как цикл for, while loop, цикл do-while, представленный в Java5.

  • Он начинается с ключевого слова for как обычный цикл for.
  • Вместо того, чтобы объявлять и инициализировать переменную счетчика цикла, вы объявляете переменную того же типа, что и базовый тип массива, за которым следует двоеточие, за которым следует имя массива.
  • В теле цикла вы можете использовать созданную вами переменную цикла, а не элемент индексированного массива.
  • Он обычно используется для перебора массива или класса Collections (например, ArrayList)

Синтаксис:

for (type var : array) 
{ 
    statements using var;
}

эквивалентно:

for (int i=0; i<arr.length; i++) 
{ 
    type var = arr[i];
    statements using var;
}

// Java-программа для иллюстрации
// для каждого цикла

class For_Each     

{

    public static void main(String[] arg)

    {

        {

            int[] marks = { 125, 132, 95, 116, 110 };

              

            int highest_marks = maximum(marks);

            System.out.println("The highest score is " + highest_marks);

        }

    }

    public static int maximum(int[] numbers)

    

        int maxSoFar = numbers[0];

          

        // для каждого цикла

        for (int num : numbers) 

        {

            if (num > maxSoFar)

            {

                maxSoFar = num;

            }

        }

    return maxSoFar;

    }

}

Выход:

The highest score is 132

Ограничения для каждого цикла

  1. Циклы For-each не подходят, когда вы хотите изменить массив :
    for (int num : marks) 
    {
        // only changes num, not the array element
        num = num*2; 
    }
    
  2. Циклы For-each не отслеживают индекс . Таким образом, мы не можем получить индекс массива, используя цикл For-Each
    for (int num : numbers) 
    { 
        if (num == target) 
        {
            return ???;   // do not know the index of num
        }
    }
    
  3. For-each выполняет итерацию вперед по массиву за один шаг
    // cannot be converted to a for-each loop
    for (int i=numbers.length-1; i>0; i--) 
    {
          System.out.println(numbers[i]);
    }
    
  4. For-each не может обрабатывать два заявления о принятии решения одновременно
    // cannot be easily converted to a for-each loop 
    for (int i=0; i<numbers.length; i++) 
    {
        if (numbers[i] == arr[i]) 
        { ...
        } 
    }
    

Статьи по Теме:
For-каждый в C ++ против Java
Итератор против For-each в Java

Эта статья предоставлена Abhishek Verma . Если вы как GeeksforGeeks и хотели бы внести свой вклад, вы также можете написать статью с помощью contribute.geeksforgeeks.org или по почте статьи contribute@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.

Рекомендуемые посты:

Для каждого цикла в Java

0.00 (0%) 0 votes