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
免责声明:以上内容仅代表 个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。