我在下面写了一个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的错误?
答案 0 :(得分:0)
这是一个Exception
而不是错误(如果你的意思是编译器),因为Java只在运行时知道你的数组值。
编译器无法运行您的代码并看到它。如果在运行时你在正确的索引处提供了一些好的值怎么办?这就是原因,编译器只检查编译器级别规则。它不会暗示你有关运行时行为的信息。