任何人都可以找到我在以下代码中收到错误的原因:
public class EnhancedFor {
public static void main(String[] args) {
int i;
int[] test = new int[10];
for(i:test)
System.out.print(i+" ");
}
}
答案 0 :(得分:1)
答案 1 :(得分:1)
可能因为这在语法上不正确。增强的for循环看起来像这样:
for(int i : test) {
System.out.println(Integer.toString(i));
}
答案 2 :(得分:1)
public static void main(String[] args) {
int[] test = new int[10];
for(int i :test)
System.out.print(i+" ");
}
答案 3 :(得分:0)
您必须在增强型for语句中声明变量:
for(int i : test)
答案 4 :(得分:0)
当我们在其增强形式中编写for
循环以迭代容器(即数组或集合)时,我们通常总是从开始到结束迭代。该声明的格式为:
for ( Type VariableDeclaratorId : Expression )
Statement
必须定义Expression的类型Type
,并且发生Iterable
或数组类型或编译时错误。我们必须在enhanced-for循环语句中声明具有特定类型的新变量id的原因是,它限制了循环体内变量id的范围,提供了更多clarity and safety。
根据 the java language specification: 14.14.2 The enhanced for statement
增强的for语句相当于一个基本的for语句 形式:
for (I #i = Expression.iterator(); #i.hasNext(); ) {
VariableModifiers_opt
TargetType Identifier =
(TargetType) #i.next();
Statement
}
#i
是自动生成的标识符,该标识符与范围内的任何其他标识符(自动生成或其他标识符) distinct (第6.3节) )在增强型for语句发生时。