posts - 73,  comments - 55,  trackbacks - 0

          一.原理、概念
          1.面相對象語言的三個核心本質:數據抽象化(data abstraction)、繼承(inheritance)、多態(polymorphism也叫動態綁定dynamic binding)。覆寫(overriding)和重載(overloading),覆寫是子類的方法名、參數與父類的一樣,覆寫引發多態;重載是同一類中相同的函數名,不同的參數(包括個數、類型、位置)

          2.static,final,abstract說明:
          static用來修飾變量(類變量)。方法(類方法),他們是靜態的、只需加載一次、類公用,類變量定義如用到方法只能是類方法,類方法內用到的變量只能是類變量,因為他們被初始化時成員變量和成員方法還沒有初始化。
          final用來修飾變量(不能改變)、方法(不能重載)、類(不能繼承)。
          abstract用來修飾方法(只能被重載)、類(只能被繼承),抽象類不一定含有抽象發放;但含有抽象方法的一定為抽象類。

          3.在一個文件夾內的兩個.java文件如果沒設package,則編譯器會將兩個文件隸屬的文件夾視為default package,因此他們互為friendly。

          4.類無構造函數可自動產生一無參構造函數(default constructor);當有任何構造函數時都不會有default constructor。構造函數調用其他構造函數只能在第一行,故無法調用兩個構造函數(包括父類和子類其他的構造函數)。

          5.類的裝載時間:生成一個對象時(裝載整個類);取類變量或類方法時(裝載靜態部分)。

          6.生成對象,實現接口。生成對象包括:聲明、實例化、初始化。

          二.語法
          1.java's lable:仔細看一下文檔你就會發現,JAVA里的標號只能定義循環語句。
          label1: for (.....) 是合法的。
          break label1;
          continue label2;
          label2: if (...) 是非法的。

          2.轉義字符  轉義字符的意義
          \n      換行
          \t      橫向跳到下一制表位置
          \v      豎向跳格
          \b      退格
          \r      回車
          \f      走紙換頁
          \\      反斜線符"\"
          \'      單引號符
          \a      鳴鈴
          \u****???? 1~4位十六進制數所代表的unicode字符(java)
          \***     1~3位八進制數所代表的ASCII字符(c)
          \x**     1~2位十六進制數所代表的ASCII字符(c)

          3.三種常用進制表示:0123——八進制 123——十進制 0x123——十六進制。

          4.length & length():length使數組的一個變量;length()是String類的一個方法。

          5.throw & throws:throw在方法體內引發異常;throws在方法參數表后向上級拋出異常。

          6.無限循環:for(;;) 和 while(true){} ,得用break離開。

          三.類庫
          1.java隨機數:首先利用random()獲得一個隨機浮點數,然后乘以你希望得到的整數的最大值,最后對得到的結果取整。例如你希望得到的整數的最大值是1000,那么你就可以這么寫: int rand = (int) (1000 * Math.random());//Math.random()的輸出范圍是[0,1)。

          2.數組的相關操作
          a)array的充填
          Java標準程序庫中的Arrays中有fill(),將單一數值復制到每個位置
          b)array的復制
          Java標準程序庫中提供System.arraycopy()的static函數
          c)array的比較
          Arrays提供重載版的equals(),藉以比較兩個arrays是否相等,能夠處理object和所有基本型別,兩個arrays必須擁有相同個數的元素,而有所有對應元素必須兩兩相等。
          d)array元素的比較
          有兩種方法:a)【java編程思想e2 P310】實現java.lang.Comparable接口,Comparable只有一個compareTo()方法,覆寫它:x大返回-1
          ,相等返回0,x小返回1。b)【java編程思想e2 P311】實現java.util.Comparator接口,此接口有compare()和equals()方法,如無必要無需覆
          寫equals()方法。
          e)array的排序
          利用內置的sort函數,可以針對任何primitives array或objects array進行排序。
          f)在已排序的array中進行查找
          array排序完畢后,可以使用Arrays.binarySearch()快速查找某個元素,在未經排序的array上不能使用binarySearch(),否則結果完全無
          法預測,如果array內含多個相同元素,查找動作不保證會搜出其中哪一個元素。

          3.容器(containers)
          java.lang.Object -> java.util.AbstractCollection & AbstractMap
          AbstractCollection -> AbstractList & AbstractQueue & AbstractSet
          sop(AbstractCollection);//打印[dog, cat, bird]
          sop(AbstractMap);//打印{first=dog, second=cat, third=bird}

          四.經驗
          1.Java是面向對象的語言,操作幾乎都是在對象之間進行的,一個類的實例如果是(null)的話則不能調用這個實例的方法,否則就會出java.lang.NullPointException錯誤。確定它肯定是不為null的。對于String的這種equals或equalsIgnoreCase的操作常常還可以用下面的方法進行安全操作:用一個確定的不為null的String去與未知的String進行比較。
          String str = null;
          if (“Hello”.equals(str))
          { System.out.println(“str is Hello”); }

          2.java中應用浮點數:http://www-128.ibm.com/developerworks/cn/java/j-jtp0114/index.html。建議:想辦法用整數;或者用BigDecimal類。

          3.java中+用于字符串連接和算術運算,char類型在做運算時會先轉換成int類型,所以System.out.println('H'+'a');輸出169。
          如果你真想把char連接起來,要怎么辦呢?
          1。用Stringbuffer。
          StringBuffer buf = new StringBuffer();
          buf.append(`H`);
          buf.append(`a`);
          System.out.println(buf);

          2。按照對付int的方法來處理,利用String重載+運算符的特性。
          System.out.println("" + `H` + `a`);

          3。在JDK5.0里,還可以用格式化輸出。
          System.out.println("%c%c", `H`,`a`);
          System.out.println(""+'a'+'b'+'c');//前面加一個空串就都按字符串處理。

          posted on 2006-06-01 14:42 保爾任 閱讀(212) 評論(0)  編輯  收藏

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


          網站導航:
           

          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿(4)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 南陵县| 图木舒克市| 灵璧县| 方山县| 东兰县| 丽江市| 临城县| 桦南县| 乌兰浩特市| 延寿县| 荆州市| 金华市| 南通市| 日土县| 万山特区| 成武县| 溧水县| 余庆县| 内乡县| 社会| 天水市| 南宁市| 马边| 许昌市| 囊谦县| 阳信县| 共和县| 鄢陵县| 达孜县| 晋江市| 旺苍县| 西贡区| 黄大仙区| 克什克腾旗| 邵东县| 潜山县| 池州市| 乌兰浩特市| 高碑店市| 民乐县| 开封市|