Java for-loop 是一个控制流语句,它多次迭代程序的一部分。For-loop是Java中最常用的循环。如果我们提前知道迭代次数,那么 for 循环是最佳选择。

语法:

for( initializationsection ; conditional check ;  increment/decrement section)
   {
    // Code to be executed
   }

for 循环中的大括号是可选的,在 for 循环中没有大括号,我们只能在 for 循环下取一个不应该是声明性语句的语句,如果在那里编写声明性语句,那么将得到编译时错误。
示例代码

import java.io.*;
import java.util.*;
// Class
class YiibaiDemo {
    // Main driver method
    public static void main(String[] args)
    {
        // 1st for-loop
        for (int i = 1; i <= 5; i++) {
            // Print statement
            System.out.println("YiibaiDemo!");
        }

        // 2nd for-loop
        for (int i = 1; i <= 1; i++)
            int x = 0;
    }
}

情况1:缺少第二个 for 循环

YiibaiDemo
YiibaiDemo
YiibaiDemo
YiibaiDemo
YiibaiDemo

情况1:存在第二个 for 循环

prog.java:28: error: variable declaration not allowed here
         int x=0;
             ^
1 error

输出说明:

在“初始化”部分中,此部分在循环生命周期中仅执行一次。在这里,我们可以为 loop 声明和初始化一个局部变量。在这里,可以声明任意数量的变量,但如果尝试声明不同的数据类型,那么将得到编译时错误,则应该错误地具有相同的类型。在本节中,可以采用任何有效的java语句,包括System.out.println()
在条件检查期间,可以采用任何应该为布尔类型的有效 java 表达式。这部分是可选的,如果我们不采取任何措施,那么编译器将始终在此处放置一个 true 值。
在“增量/递减”部分中,可以递增或递减初始化值。在本节中,可以采用任何有效的java语句,包括System.out.println(),本节也是可选的。

增强型 for 循环(for-each loop)

这个 for 循环是在 java 版本 1.5 中引入的,它也是一个控制流语句,可以多次迭代程序的一部分。此 for 循环提供了另一种遍历数组或集合的方法,因此它主要用于遍历数组或集合。此循环还使代码更具可读性,并减少代码中出现错误的可能性。

语法:

for(data-type variable : array | collection)
  {
   // Code to be executed
  }

示例:

// Java Program to show usage of for-each loop
import java.io.*;
import java.util.*;

// Class
class YiibaiDemo {

    // Main driver method
    public static void main(String[] args)
    {
        int[] array = { 1, 2, 3, 4, 5, 6 };
        for (int a : array) {
            // Print all elements of an array
            System.out.println(a);
        }
    }
}

运行结果:

1
2
3
4
5
6

在观察了这两个程序后,发现了一些结论性的差异,这些差异以表格的形式描述出来,以便更清楚地了解。

普通for-loop 增强型for-loop
这个for-loop在JDK1中存在 这个for-loop在JDK5中存在
在普通for-loop中,可以根据自己的意愿增加计数器,方法是使用:i=i+x(其中x是任何常数x=1,2,3...) 但是,增强的for循环将以顺序的方式执行,即计数器将总是增加1。
使用这个for循环,可以对任何容器对象进行迭代。 只能通过使用这个循环实现可迭代接口来迭代该容器。
在这个for-loop中,可以以递减或递增的顺序进行迭代。 但是在这个for-loop中,只能以递增的顺序进行迭代。
在这个for-loop中,可以替换任何特定索引的元素。 但是在这个for-loop中,我们不能访问索引,所以不能替换任何特定索引的元素。
通过使用普通的for-loop,可以按照原始顺序或反向顺序打印数组元素。 但是在for-each循环中,只能按原始顺序打印数组元素,不能按相反的顺序。

| ——- | ——- | ——- |

Java 中 for 循环和增强型 for 循环的区别

欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:Java 中 for 循环和增强型 for 循环的区别
本文链接:https://www.vsdiffer.com/vs/difference-between-for-loop-and-enhanced-for-loop-in-java.html
免责声明:以上内容仅代表 个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。