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 胡鵬 閱讀(191) 評論(0)  編輯  收藏 所屬分類: java基礎

          導航

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

          統計

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          agile

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 沙洋县| 任丘市| 长宁县| 蓬安县| 贡山| 定西市| 广宗县| 秦安县| 聂拉木县| 区。| 宣恩县| 新泰市| 富蕴县| 桑日县| 花垣县| 兴和县| 昌都县| 政和县| 商洛市| 阿拉善左旗| 兴城市| 雅江县| 遵化市| 进贤县| 许昌市| 威信县| 玛纳斯县| 慈溪市| 繁昌县| 郸城县| 许昌市| 湖南省| 淮阳县| 宿松县| 大宁县| 米林县| 平阴县| 安国市| 册亨县| 威海市| 凉山|