老师为什么这里要用for循环啊?

老师为什么这里要用for循环啊?

http://img1.sycdn.imooc.com//climg/5ec78aab09ea25c913801156.jpg那我每加进去一个学生,都要从头开始检查一次a[i]是不是null,是的话才能加进去,没有直接就能把未存放的student直接就放在数组中的空位上吗?这就好像我明知道这个教室里有5个人了(假设a[i].length==5),那我还要一个个问a[0]到了吗,a[1]到了吗,a[2]到了吗,a[3]....直到到了a[4]也问了,再问没有人答应我了,我才能坐下?

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

 同学你好
1,int[] a = {1,4,5,7,5,8} 这种方式创建数组就不用指定长度,但是如果只定义不赋值就需要指定长度
2,如果同学是想往一个空数组的指定位置添加数据,比如上面的案例,数组的长度是200,同学想在最后一个位置添加学生,就可以用this.getMyStudents()[199]=stu;因为数组索引是从0开始,所以最后一个位置的索引就是199;这样就把数据添加到数组的最后一个位置了
3,如果使用for循环我们就不知道哪个位置有数据,所以就需要从第一个开始判断当前位置是不是有数据,如果当前没有数据,再进行赋值 

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~


好帮手慕阿园 2020-05-22 17:31:49

同学你好,不使用for循环就需要手动去添加,添加第一条需要this.getMyStudents()[0]=stu;,第二条也需要再去添加一次this.getMyStudents()[1]=stu;

那如果数据量很大的话,手动添加会消耗大量时间,所以不建议手动去添加,建议使用循环添加;
使用循环添加的话需要去判断当前位置有没有、学生信息,如果没有就添加;不进行判断的话,如果当前位置已经有数据了,再添加会将之前的数据覆盖了

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~


  • 提问者 Heijyu #1
    我明白~但是是不是以后会学到不需要定义数组长度的方法?因为之前老师教我们的方法我觉得这个逻辑听起来有点怪怪的,就想直接找到最后一张凳子坐下,但是我搞了半天,发现前面因为要进行数组的声明,所以没有办法只能必须添加了数组长度,老师我这里没办法截图,我再开一个新的问题截图请教一下你~~~
    2020-05-22 19:43:03
  • 提问者 Heijyu #2
    我明白这个for loop的含义哈~我就是觉得这个解释起来有点怪~那我没每加一个人我都重头来,就很麻烦啊~之前老师讲解过相似的例子~
    2020-05-22 20:01:11
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师