A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 絮缘小默 中级黑马   /  2014-2-26 23:18  /  844 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

这是为什么呢?

无标题.png (152.68 KB, 下载次数: 16)

无标题.png

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

3 个回复

倒序浏览
楼主,变量i 在第13行也就是第一个for( )循环执行完之后,变量i 的值为t.length-1了,而你在后面使用i的时候,没有重新初始化为0,那么你使用的时候i的值还是t.length-1,必然越界了。。。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
那么也就是说变量在其作用范围之内不会重新初始化为0,只有出了此变量作用范围之后才会重新初始化为0!我这样说对吧
回复 使用道具 举报
那么也就是说变量在其作用范围之内不会重新初始化为0,
==>“重新初始化为0”是需要你自己写code来做的,你若不重新赋值,变量当然保存上一步的值了。

若是只有出了此变量作用范围之后才会重新初始化为0!我这样说对吧
==>你这个 i 是局部变量,作用范围就是方法内有效。当下次重新调用方法会重新被初始化。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马