import java.io.*;
public class wrenwren
{
public static void main(String args[])
{
int a[] ={ 1,2,3};
for(int i: a){
System.out.println(a[i-1]);
}
}
}这样写对么??
a[i-1] 感觉有点别扭

解决方案 »

  1.   

    ?System.out.println(i);
    这样就可以了,你那么写是画蛇添足式的做法,语法上已经帮你做了这些了。 
      

  2.   

    要么你把for写全了,不然确实很别扭的,一般遍历都是以index为0开始的
      

  3.   

    这是JAVA中JDK5.0版本之后提出来的.其一般形式:
    for(类型 标识符:可迭代的表达式) 语句;
      

  4.   


    import java.io.*; 
    public class wrenwren 

    public static void main(String args[]) 

    int a[] ={ 1,2,3}; 
    for(int i: a){   //疑问.为什么这里i没有初始化却能编译通过.
    System.out.println(a[i-1]); 



      

  5.   

    1、首先看看for each语法
    2、这样写很危险,你刚好是a[] = {1,2,3};
       要是 a[] = {100,200,300}, 那访问
       for(int i:a){
            a[i-1]越界
       }
      

  6.   

    for(int i : a)意为每次循环都int i = a[当前index];
    这个i里装的就是a[当前index]的值...如果是List就不容易混淆咩:
    List<String> list = new ArrayList<String>();
    list.add("wren4255"); 
    list.add("lgg201");
    for(String str : list)
    {
      System.out.println(str);
    }
      

  7.   

       for(int i:a){  
     System.out.println(i);
       }
    这样就可以了,去看看jdk1.5 新特性上面有讲解。