📜  使用 for 和 foreach 循环遍历数组的Java程序

📅  最后修改于: 2022-05-13 01:55:06.912000             🧑  作者: Mango

使用 for 和 foreach 循环遍历数组的Java程序

数组组由通用名称引用的类似类型的变量。 Java中数组的工作方式与 C/C++ 中的不同。在这里,我们已经解释了在Java中显示数组元素的 for 循环和 foreach 循环。

1.for循环:

For 循环提供了一种编写循环结构的简洁方法。 for 语句在一行中使用初始化、条件和递增/递减,从而提供更短、更易于调试的循环结构。

句法:

for (initialization; test condition; 
                              increment/decrement)
{
    // statements
}
  • 初始化:在代码块执行之前执行。可以使用已经声明的变量,也可以声明变量,仅限于循环局部。
  • 测试条件:测试循环的退出条件并返回一个布尔值。在执行循环语句之前检查测试条件。
  • 语句执行:一旦条件被评估为真,循环体中的语句就会被执行。
  • Increment/Decrement:用于为下一次迭代更新变量。

时间复杂度:如果语句是 O(1),则 for 循环的总时间 N*O(1), O(N)

2. 对于每个循环:

For-each是Java5中引入的类似于for循环、while循环、do-while循环的数组遍历技术。

  1. 它以关键字for开头,就像普通的 for 循环一样。
  2. 不是声明和初始化循环计数器变量,而是声明一个与数组的基本类型相同类型的变量,后跟一个冒号,然后是数组名称。
  3. 在循环体中,您可以使用您创建的循环变量而不是使用索引数组元素。
  4. 它通常用于遍历数组或集合类(例如,ArrayList)。

句法

for (type var : array) 
{ 
    //statements
}

时间复杂度: O(n) ,其中 n 是迭代元素的数量。

Java中for 循环和 for-each() 循环的区别

For Loop

For Each Loop

1. Increment/Decrement statement is required.

e.g i=i+3

1. Counter always gets incremented by 1, cannot iterate in decremental order  
2. It is appropriate when data in the array needs to modify.2. Not appropriate when data in the array needs to modify.
3. It keeps track of index, such that an array index can be obtained. 3. It doesn’t keep track of index, such that an array index can’t be obtained.

列表中的迭代:

Java
// Java for and foreach loop in list
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
 
public class App {
 
    public static void main(String args[])
    {
        // creating array list
        List tech = new ArrayList<>(Arrays.asList(
            "Mac", "Samsung Gear ", "iPhone 12+"));
 
        // iterating over List using for loop
        System.out.println(
            "iterating over a List using for loop in Java:");
        for (int i = 0; i < tech.size(); i++) {
            System.out.println(tech.get(i));
        }
 
        // iterating over List using for Eachloop()
        System.out.println(
            "iterating over a List using  forEach() loop in Java:");
        for (String gadget : tech) {
            System.out.println(gadget);
        }
    }
}


Java
// Java Program for Iteration in Array
public class GFG {
   
    public static void main(String args[])
    {
        // created array
        int[] element = {1, 9, 27, 28, 48};
       
       // iterating over an array using for loop
        System.out.println(
            "iterating over an array using for loop in Java:");
       
        for (int i = 0; i < element.length; i++) {
            System.out.println(element[i]);
        }
       
        // iterating over an array using  forEach() loop
        System.out.println(
            "iterating over an array using forEach() loop in Java:");
        for (int var : element) { // syntax forEach() loop
                                  // var is variable.
            System.out.println(var);
        }
    }
}



输出
iterating over a List using for loop in Java:
Mac
Samsung Gear 
iPhone 12+
iterating over a List using  forEach() loop in Java:
Mac
Samsung Gear 
iPhone 12+

数组中的迭代:

Java

// Java Program for Iteration in Array
public class GFG {
   
    public static void main(String args[])
    {
        // created array
        int[] element = {1, 9, 27, 28, 48};
       
       // iterating over an array using for loop
        System.out.println(
            "iterating over an array using for loop in Java:");
       
        for (int i = 0; i < element.length; i++) {
            System.out.println(element[i]);
        }
       
        // iterating over an array using  forEach() loop
        System.out.println(
            "iterating over an array using forEach() loop in Java:");
        for (int var : element) { // syntax forEach() loop
                                  // var is variable.
            System.out.println(var);
        }
    }
}


输出
iterating over an array using for loop in Java:
1
9
27
28
48
iterating over an array using forEach() loop in Java:
1
9
27
28
48