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

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 蒲城县| 曲靖市| 寿宁县| 鄄城县| 高雄市| 西乌珠穆沁旗| 迁安市| 阿拉尔市| 大厂| 广南县| 甘谷县| 江津市| 仁怀市| 岱山县| 根河市| 武川县| 牟定县| 莲花县| 板桥市| 长沙县| 民勤县| 新密市| 兰州市| 肇源县| 澄江县| 新疆| 虹口区| 泾阳县| 饶阳县| 锡林郭勒盟| 勐海县| 中西区| 卢龙县| 桃园市| 保山市| 临澧县| 宁化县| 白城市| 永清县| 汉阴县| 高密市|