在表達式中容易被忽視,容易出錯的幾個小知識點

          今天學習時,發現了幾個以前的知識漏洞,附在下邊:

          /*******************************************************************************
          ?* 程序說明: 在表達式中容易被忽視,容易出錯的幾個小知識點
          ?* 編寫者:? 陳貴波
          ?* 日期:?? 2007-10-02 — 2007-10-02
          ?******************************************************************************/

          public class ExpressionBeingIgnored {
          ?? ?/**
          ?? ? * @param args
          ?? ? */
          ?? ?public static void main(String[] args)
          ?? ?{
          ?? ??? ?int i = 0;
          ?? ??? ?
          ?? ??? ?i = 0;
          ?? ??? ?i = i + (i = 1);
          ?? ??? ?System.out.println(i);?? ??? ?//輸出結果為:1
          ?? ??? ?
          ?? ??? ?i = 0;
          ?? ??? ?i =(i = 1) + i;
          ?? ??? ?System.out.println(i);?? ??? ?//輸出結果為:2
          ?? ??? ?
          ?? ??? ?i = 1;
          ?? ??? ?i += i + (i=3);
          ?? ??? ?System.out.println(i);?? ??? ?//輸出結果為:5
          ?? ??? ?
          ?? ??? ?i = 1;
          ?? ??? ?i += (i=3) + i;
          ?? ??? ?System.out.println(i);?? ??? ?//輸出結果為:7
          ?? ??? ?
          ?? ??? ?double d = 1.0;?? ??? ??? ??? ??? ?
          ?? ??? ?d += 1.5 * 3 + (++d);
          ?? ??? ?System.out.println(d);?? ??? ?//輸出結果為:7.5
          ?? ??? ?
          ?? ??? ?d = 1.0;
          ?? ??? ?d -= 1.5 * 3 + d++;
          ?? ??? ?System.out.println(d);?? ??? ?//輸出結果為:-4.5
          ?? ??? ?
          ?? ??? ?System.out.println("1" + 1 + 1);?? ??? ?//輸出結果為:111
          ?? ??? ?System.out.println("1" + (1 + 1));?? ?//輸出結果為:12
          ?? ?}
          }

          此外,我也剛剛注意到
          ??? ??? System.out.println("j is " + j + " and
          ???? ??? ??? ??? ??? ??? ??? k is " + k);
          是不能編譯通過的,必須寫為
          ??? ??? System.out.println("j is " + j + " and k is " + k);
          也就是說,""之間的字符串必須寫在一行中,不能換行!

          posted on 2007-10-02 14:39 陳貴波 閱讀(355) 評論(1)  編輯  收藏 所屬分類: 學習筆記

          評論

          # re: 在表達式中容易被忽視,容易出錯的幾個小知識點 2007-10-03 15:15 Unmi

          我看到上面的問題,一定會要求編寫人員重寫,因為這不是寫給人看的
          現代編程首先是給人看的,其次才是機器

          表達式中出現賦值
          自加或自減然后又再次賦給同一變量

          這些都是會讓人驚詫莫名的,所以也就沒功夫去仔細捉摸,也少浪費點精力,這跟記住每一個運算符的優先級一樣無趣。  回復  更多評論   


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2007年10月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          導航

          統計

          常用鏈接

          留言簿(16)

          隨筆分類(12)

          隨筆檔案(13)

          文章分類

          新聞分類(1)

          新聞檔案(30)

          相冊

          常去論壇

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 砀山县| 偏关县| 甘泉县| 东乌珠穆沁旗| 宝丰县| 沂水县| 增城市| 连平县| 南昌市| 昆山市| 府谷县| 开封县| 浏阳市| 靖江市| 友谊县| 子长县| 沙河市| 衡阳市| 长治市| 梁山县| 金溪县| 贵定县| 蚌埠市| 会同县| 永昌县| 轮台县| 乌拉特后旗| 嘉兴市| 楚雄市| 巩留县| 新竹市| 宜君县| 札达县| 西昌市| 湖北省| 信丰县| 青龙| 互助| 涪陵区| 宁海县| 内江市|