
记得循环的时候,下标是从0开始到N-1,打印出遍历数组的索引十分有帮助,注意一下它的循环条件,也可以加断点。
出现此类问题的原因有多方面。总结一下我所理解的,数组的长度决定了它所能装载的数据的量。还有就是数组计数是从零开始的。例如:当Srring arr[]==new String[6]如果要往里输入名字的话就只能输入六个,多了就是下标越界。
另外数组一般都是与for循环结合起来用,所以用的的时候要注意一下它的循环条件。数组下标越界异常:Java.lang.ArrayIndexOutOfBoundsException,这是一个非常常见的异常,从名字上看是数组下标越界错误,解决方法就是查看为什么下标越界。这种错误就是字符串索引越界。
当处理数组越界时,打印出遍历数组的索引十分有帮助,这样我们就能够跟踪代码找到为什么索引达到了一个非法的值。
所谓的数组越界,简单地讲就是指数组下标变量的取值超过了初始定义时的大小,导致对数组元素的访问出现在数组的范围之外,这类错误也是 C 语言程序中最常见的错误之一。
首先说明一下:ArrayIndexOutOfBoundsException数据越界异常造成的原因通常是:一个数组
a[3]
他的元素有a[0],a[1],a[2],如果不小心出现a[3],那么会出现数组越界异常了,
建议你在处理的时候,可以判断数组的大小,保证自己不要访问超过数组大小的元素,这样就不会出现数组越界异常了。
数组(指针)越界访问,是指使用了超过有效范围的偏移量。如只分配了10个元素的空间,但是访问了第11个元素,就属于越界。
当出现越界时,由于无法得知被访问空间存储的内容及功能,所以会出现不可预知后果。可能程序崩溃,可能运算结果非预期,也可能完全没有影响。
在编程时要避免指针越界访问,对于用变量作为参数访问元素时,需要控制好变量范围。如果变量值由外部因素决定,那么访问前先对合法性做判断,防止越界。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)