For语句出现的问题

来源:互联网 发布:教学电子黑板软件 编辑:程序博客网 时间:2024/06/06 00:32

出现了低级错误,竟然设置越界了

for设置应该是0到3,而不是到4

 

 

eclipse编译

代码如下:

 

publicclass intArray

{

 

    publicstaticvoid main(String[] args)

    {

       int arrayD[];

       arrayD=newint[4];

       for(int i=0;1<5;i++)

       {

           arrayD[i]=i+96;

           System.out.println("arrayD["+i+"]="+arrayD[i]);

       }

/*     arrayD[0]=11;

        arrayD[1]=12;

       arrayD[2]=13;

       arrayD[3]=14;

       for(int i=0;1<5;i++)

       {

           System.out.println("arrayD["+i+"]="+arrayD[i]);

       }*/

    }

}

第一个for循环运行后会出现异常,如下:

arrayD[0]=96

arrayD[1]=97

arrayD[2]=98

arrayD[3]=99

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4

    at intArray.main(intArray.java:11)

提示在11行有问题,请问是什么原因

还有就是在第一个for循环后面增加语句,会提示“不可达代码”这是为什么?

 

第二个for循环,把第一个for循环语句给注释掉之后,运行第二for循环

代码如下:

 

publicclass intArray

{

 

    publicstaticvoid main(String[] args)

    {

       int arrayD[];

       arrayD=newint[4];

/*     for(int i=0;1<5;i++)

       {

           arrayD[i]=i+96;

           System.out.println("arrayD["+i+"]="+arrayD[i]);

       }*/

       arrayD[0]=11;

       arrayD[1]=12;

       arrayD[2]=13;

       arrayD[3]=14;

       for(int i=0;1<5;i++)

       {

           System.out.println("arrayD["+i+"]="+arrayD[i]);

       }

    }

}

运行结果如下:

arrayD[0]=11

arrayD[1]=12

arrayD[2]=13

arrayD[3]=14

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4

    at intArray.main(intArray.java:20)

如果要在这个for循环后面增加代码也会提示“不可达代码”

 

通过两段对比,对数组赋值,应该是没有问题,而是出在for循环使用上,请各位给指点下,谢谢。(public class之前有一个空白行)

原创粉丝点击