关于数组下标越界问题
在这里输入代码,可通过选择【代码语言】突出显示
floatArray[0]=new float[3];//1行3列
System.out.println(floatArray[0][3]);
下标的初始是0,为什么3列是new float[3];而不是new float[2];?
上面写了floatArray[0]=new float[3];已经定义了1行3列,
为什么System.out.println(floatArray[0][3]);又越界了???
24
收起
正在回答
2回答
同学你好,floatArray[0]=new float[3];是第一行有3列,其中new float[3]中的3指的是数组的长度,不是下标。
例如:
System.out.println(floatArray[0][3]);中0和3是下标。由于数组中下标从0开始,所以第1行第3列数据应该是floatArray[0][2]。
同学注意区别一下数组长度和下标,这两个是不一样的。
java工程师2020版
- 参与学习 人
- 提交作业 9393 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星