51Testing软件测试论坛

标题: 求救 万分感谢 [打印本页]

作者: rellan    时间: 2009-6-27 15:30
标题: 求救 万分感谢
public class w
{
public static void main(String[] args)
{
int a[]=new int[]{0,1,2,3,4,5};
for(int i=2;i<a.length;i++)
{
System.out.println("c["+i+"]="+(a));
}
}
}

运行结果:
c[2]=2
c[3]=3
c[4]=4
c[5]=5

如果把数组中0去掉 :
public class w
{
public static void main(String[] args)
{
int a[]=new int[]{1,2,3,4,5};
for(int i=2;i<a.length;i++)
{
System.out.println("c["+i+"]="+(a));
}
}
}
运行结果:
c[2]=3
c[3]=4
c[4]=5

为什么数组中只差一个0  会有这个区别呢  新人万分谢谢
作者: wsnnlp    时间: 2009-6-29 12:45
程序没有错误。
循环是从C[2]开始的
第一个数组的C[2]=2,第二个数组的C[2]=3。
你去掉一个0,数组的长度变化了,数组内容也变化了。      c[0] c[1] c[2] c[3] c[4] c[5]
                                                                                         原  0     1    2     3     4     5
                                                                                         现  1     2    3      4     5     未知
                                                                                                           。循环起始点

[ 本帖最后由 wsnnlp 于 2009-6-29 12:47 编辑 ]
作者: rellan    时间: 2009-6-29 14:15
原帖由 rellan 于 2009-6-27 15:30 发表
public class w
{
public static void main(String[] args)
{
int a[]=new int[]{0,1,2,3,4,5};
for(int i=2;i

谢谢 似乎明白了 再想想
作者: rellan    时间: 2009-6-29 14:15
原帖由 wsnnlp 于 2009-6-29 12:45 发表
程序没有错误。
循环是从C[2]开始的
第一个数组的C[2]=2,第二个数组的C[2]=3。
你去掉一个0,数组的长度变化了,数组内容也变化了。      c[0] c[1] c[2] c[3] c[4] c[5]
                                    ...

谢谢 似乎明白了 再想想




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2