for循环 while do while 中的一个小bug

如下程序会输出什么?
public class Creator {
public static void main(String[] args) {
for(int i=0;i<100;i++)
Creature creature
= new Creature();

System.out.println(Creature.numCreated());
}
}

class Creature{
private static long numCreated = 0;

public Creature(){
numCreated
++;
}

public static long numCreated(){
return numCreated;
}
}
编译的时候发现:上面的程序在Creature creature = new Creature(); 发现语法错误,这个为什么呢???,觉得很奇怪啊,
原来java语言规范不允许一个额本地变量声明语句作为一条语句在for,while,或do循环中重复执行。 一个本地变量声明作为一条语句只能直接出现在一个语句块中。
针对上面的程序:可以有几种方式来修改,Creature creature = new Creature();改成 new Creature(); 也可以改成
{
Creature creature
= new Creature();
}
等等。。。。。。。。。。。。。。。。。。。。。

posted on 2009-04-19 15:05 胡鹏 阅读(183) 评论(0)  编辑  收藏 所属分类: java基础


只有注册用户登录后才能发表评论。


网站导航:
 

导航

<2009年4月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

统计

常用链接

留言簿(3)

随笔分类

随笔档案

agile

搜索

最新评论

阅读排行榜

评论排行榜