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

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 泸溪县| 杨浦区| 铜山县| 金塔县| 绍兴市| 嵊泗县| 抚宁县| 丽水市| 金川县| 徐州市| 苍山县| 宜良县| 新营市| 阿拉善右旗| 昭觉县| 康马县| 府谷县| 岳池县| 玉溪市| 轮台县| 宁强县| 钟山县| 定日县| 新邵县| 陈巴尔虎旗| 社旗县| 依安县| 龙海市| 额敏县| 安福县| 林口县| 嵩明县| 勃利县| 威远县| 普洱| 连江县| 独山县| 齐齐哈尔市| 马尔康县| 翁牛特旗| 钟山县|