Java ArrayIndexOutOfBoundsException

时间:2017-03-30 07:02:59

标签: java

我在下面写了一个Java程序:

int[] tar = {1,2,5};
for(int i=0 ; i<tar.length ; i++)
{
   if(tar[i] - tar[i-1] > 2)
   {
      System.out.print("true");
   }
}

为什么“tar [i] - tar [i-1]”并不代表任何错误?是不是ArrayIndexOutBoundsException的错误?

1 个答案:

答案 0 :(得分:0)

这是一个Exception而不是错误(如果你的意思是编译器),因为Java只在运行时知道你的数组值。

编译器无法运行您的代码并看到它。如果在运行时你在正确的索引处提供了一些好的值怎么办?这就是原因,编译器只检查编译器级别规则。它不会暗示你有关运行时行为的信息。