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

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

          /*******************************************************************************
          ?* 程序說明: 在表達式中容易被忽視,容易出錯的幾個小知識點
          ?* 編寫者:? 陳貴波
          ?* 日期:?? 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)

          相冊

          常去論壇

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 新巴尔虎左旗| 克拉玛依市| 安远县| 兴山县| 安泽县| 腾冲县| 辽宁省| 桦南县| 肇源县| 凤凰县| 岑巩县| 班玛县| 南木林县| 河北省| 富裕县| 霍林郭勒市| 青岛市| 六安市| 闸北区| 克拉玛依市| 绥阳县| 安吉县| 商南县| 克东县| 崇信县| 团风县| 彭阳县| 上饶市| 勐海县| 汾阳市| 海盐县| 遂平县| 曲松县| 新和县| 天镇县| 葫芦岛市| 永嘉县| 湘潭市| 岳阳市| 文登市| 博罗县|