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

          導航

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

          統計

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          agile

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 呼伦贝尔市| 阿城市| 吉林省| 崇义县| 资溪县| 开阳县| 竹北市| 枣阳市| 青海省| 青田县| 桑植县| 四子王旗| 芦溪县| 监利县| 蒙自县| 刚察县| 云安县| 菏泽市| 乌拉特后旗| 肇东市| 阿克陶县| 巩留县| 呈贡县| 铁岭县| 鹤庆县| 固镇县| 内江市| 沅陵县| 石林| 罗江县| 运城市| 韶关市| 天水市| 高州市| 文化| 额尔古纳市| 临湘市| 佛学| 台东县| 肃宁县| 车致|