永发信息网

JAVA异常数据组索引越界什么意思

答案:5  悬赏:60  手机版
解决时间 2021-05-22 11:36
  • 提问者网友:雪舞兮
  • 2021-05-21 23:32
如题
最佳答案
  • 五星知识达人网友:掌灯师
  • 2021-05-22 01:10

int [] i = {3,5,4,7}


int m = i[4]

全部回答
  • 1楼网友:不甚了了
  • 2021-05-22 05:03

越界分为读取和存放

例如String[] str = {"a","b","c"}; 那么所对应的值应该是str[0]="a" str[1]="b" str[2]="c"

数组的下标从0开始 这个没的说 依次的取出 不能超出str[3] 如果出现str[3] 即意味着越界

放也一样如果是String[] str = new String[3]; 那么你所开辟的空间就是str[0] str[1] str[2]

也只能存放三个数据 当你再次出现str[3] =""的时候又超出你所定义的数据范围 即越界

  • 2楼网友:忘川信使
  • 2021-05-22 04:03

就是你使用数组下标不对引起的异常,如果你定义的数组arr[10],则使用数组元素的时候,比如说输出数组个元素,你要输出的是arr[0],arr[1].....arr[9],这里如果你写成arr[10],就是数组越界了。

道理其实蛮简单,你离悬崖10米,用数组表示这10米,arr[0]是第一米了,你走到arr[9]时就已经到悬崖边了,在用arr[10]就掉进悬崖了,所以编译是不会让你这么干啊

  • 3楼网友:毛毛
  • 2021-05-22 02:27
就是访问超过数组长度范围的内存,比如数组的长度是N,你访问了数组的0-(N-1)以为得下标导致内存访问错误,所以就产生了数组索引越界。
  • 4楼网友:山河有幸埋战骨
  • 2021-05-22 02:08

就是你声明的数组空间小于你使用的,一个碗放不了两碗水。声明数组时,开辟的大一些就好

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯