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

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

          /*******************************************************************************
          ?* 程序說明: 在表達式中容易被忽視,容易出錯的幾個小知識點
          ?* 編寫者:? 陳貴波
          ?* 日期:?? 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 陳貴波 閱讀(361) 評論(1)  編輯  收藏 所屬分類: 學習筆記

          評論

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

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

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

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

          <2007年10月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          導航

          統計

          常用鏈接

          留言簿(16)

          隨筆分類(12)

          隨筆檔案(13)

          文章分類

          新聞分類(1)

          新聞檔案(30)

          相冊

          常去論壇

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 麻栗坡县| 云霄县| 蛟河市| 石台县| 安仁县| 卓资县| 上饶市| 华容县| 商丘市| 东方市| 新密市| 乌拉特后旗| 隆安县| 玉山县| 靖州| 扶绥县| 普陀区| 申扎县| 信宜市| 全南县| 麻阳| 福鼎市| 乌兰县| 淄博市| 西昌市| 武清区| 阳春市| 宽甸| 始兴县| 洛隆县| 青浦区| 南平市| 陆丰市| 普格县| 师宗县| 廉江市| 汝城县| 全椒县| 朝阳县| 微博| 正宁县|