for循环的执行方式

xiaoxunbiao2009 2017-06-10 07:59:04
最近在学马士兵的javase小项目坦克大战。
有个地方想了好久没想清楚,请大神指点下,谢谢。代码如下:

List<Missile> missiles = new ArrayList<Missile>();
//画坦克和子弹
public void paint(Graphics g){
g.drawString("已发射子弹的总数是:"+missiles.size(),60, 45);
for(int i=0;i<missiles.size();i++){
mis=missiles.get(i);
if(mis != null){
mis.drawMissile(g);
}
}
}
疑问点:假如一个坦克,一次打了三发子弹,那么List中存放了三个子弹,当画完这三个子弹后,再打一颗新的子弹,那么List中就有四颗子弹了,如果是再执行for循环,那么就要新增加四颗子弹(把前面的三颗子弹又新增了一遍),但是实际上运行的时候,只会新打出一颗子弹。为什么不是再打出四颗子弹呢?此时missiles.size()=4啊。是不是我对for循环的执行方式理解不对呢?

...全文
347 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluetata 2017-06-13
  • 打赏
  • 举报
回复
mis.drawMissile(g); 已经直接创建新的了
xiaoxunbiao2009 2017-06-13
  • 打赏
  • 举报
回复
结贴,谢谢。

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧