Java基礎知識筆記(一:修飾詞、向量、雜湊表),java
一、Java語言的特點(養成經常查看Java線上協助文檔的習慣)
(1)簡單性:Java語言是在C和C++電腦語言的基礎上進行簡化和改進的一種新型電腦語言。它去掉了C和C++最難正確應用的指標和最難理解的多重繼承技術等內容,通過記憶體回收機制簡化了程式記憶體管理,統一了各種資料類型在不同作業系統平台上所佔用的記憶體大小。
(2)網路特性:Java語言是目前對網路支援最全面,與網路關係最密切的電腦語言之一。
(3)物件導向:由於Java語言是一種新型電腦語言,沒有相容過程式電腦語言的負擔,因此Java語言在物件導向的特性上比C++語言更為徹底。
(4)平台無關性/可移植性:Java語言的設計目標是讓程式不用修改就可以在任何一種電腦平台上運行。
(5)穩定性:Java在編譯和執行的過程中都會進行比較嚴格的檢查,以減少錯誤的發生。Java語言的垃圾自動回收機制和異常處理機制在很大程度上提高了程式的穩定性。另外,Java語言的簡單性也在一定程度上提高了程式的穩定性。
(6)安全性:在網路上啟動並執行Java程式是符合網路安全性通訊協定的。在執行Java程式的過程中,Java虛擬機器對程式的安全性進行檢測。
(7)多線程性:這主要用來處理複雜事務或需要並行的事務。組成Java虛擬機器的各個程式本身一般也採用多線程機制。採用多線程機制是提高程式運行效率的一種方法,但同時也增加了程式的設計難度。
(8)解釋性:Java語言是一種解釋性語言。這是Java語言的一個缺點,因為解釋執行的語言一般比編譯執行的語言(例如:C或者C++)的執行效率要低。
二、環境變數path和classpath的作用
運行路徑(path)變數記錄對的是各個運行程式所在的路徑。系統根據這個變數的值來尋找運行程式。
類路徑(classpath)通常用來記錄當前路徑和J2SE類庫所在的路徑,這是J2SE需要的一個環境變數。
在J2SE類庫中包含J2SE系統提供的各種軟體包,其中包括各個類和介面等。在設定好類路徑(classpath)環境變數之後,可以在程式中直接使用當前路徑和J2SE類庫所在路徑下的各種Java軟體包的類或者介面等。
三、修飾詞abstract、static、final簡介
(1)abstract(抽象):Java允許類、介面或者成員方法具有抽象屬性,但不允許成員域或者構造方法具有抽象屬性。如果在定義類修飾詞列表中含有關鍵字abstract,則該類具有抽象屬性。這時,這個類稱為抽象類別。無法通過抽象類別的構造方法產生抽象類別的執行個體對象。介面總是具有抽象屬性。因此,不管在定義介面的介面修飾詞列表中是否含有關鍵字abstract,該介面都具有抽象屬性。如果在定義成員方法的方法修飾詞列表中含有關鍵字abstract,則該成員方法具有抽象屬性。抽象成員方法一般在定義抽象類別的類體或者定義介面的介面體中定義。
抽象成員方法的定義格式與不具有抽象屬性的成員方法的定義格式之間的區別:除了是否含有方法修飾詞abstract之外,抽象成員方法的定義以分好結束,而且不含方法體;而不具有抽象屬性的成員方法的定義在成員方法聲明之後不能立即出現分號,而且必須含有方法體。
(2)static(靜態):除了內部類之外,類一般不能具有靜態屬性。類的構造方法不能具有靜態屬性。類的成員域和成員方法可以具有靜態屬性。如果在定義成員域的域修飾詞列表中加上修飾詞static,則該成員域具有靜態屬性。如果在定義成員方法的方法修飾詞列表中加上修飾詞static,則該成員方法具有靜態屬性,稱為靜態成員方法。
在Java語言中,類是其執行個體對象的模板,同時類本身也可以看作一種對象,簡稱為類對象。類的靜態成員隸屬於該對象。可以直接通過類名訪問類的靜態成員域或者調用類的靜態成員方法。具體形式如下:類名.靜態成員域,類名.靜態成員方法名(成員方法調用參數列表)。
(3)final(最終):關鍵字final(最終)可以用來修飾不具有抽象屬性的類、類的成員域、介面的成員域以及類的不具有抽象屬性的成員方法。如果在定義類的修飾詞列表中含有類修飾詞final,則稱該類具有最終屬性。
如果在定義成員域的修飾詞列表中加上修飾詞final,則稱該成員域具有最終屬性。如果該成員域同時具有最終屬性和靜態屬性,則該成員域只能在定義時賦值,而且在此之後就不能修改該成員域的值。如果成員域具有最終屬性,但不具有靜態屬性,則該成員域只能在定義時或者在構造方法中賦值,而且只能賦值一次。
如果在定義成員方法的方法修飾詞列表中加上修飾詞final,則稱該成員方法具有最終屬性。這時要求該成員方法不具有抽象屬性。如果一個類的成員方法具有最終屬性,則該成員方法不能被當前類的子類的成員方法覆蓋。
四、向量簡介
向量在功能上與數組類似,只是其元素個數可以改變,而且向量元素的資料類型必須是參考型別。向量的基本原理是預先給向量對象分配一定的儲存空間,然後再給向量對象添加元素或設定元素值。向量對象的儲存空間大小稱為向量對象的容量,其單位是元素個數。向量對象的實際元素個數,稱為向量對象的長度。如果向量對象的長度發生變化,當新長度超出在長度變化之前的向量對象舊容量時,向量對象的容量會自動擴大。在向量對象中還定義有一個量,稱為容量增量。
向量變數的聲明格式是:Vector<向量元素的資料類型> 變數名;
向量執行個體對象的建立方法:通常通過類java.util.Vector的構造方法建立向量對象——public Vector()可以建立向量對象,其初始容量預設值為10,容量增量為預設值0。
向量對象執行個體對象的操作主要有增加元素(成員方法有add、addElement、insertElement等)、修改元素(成員方法有set、setElement等)、刪除元素(成員方法有clear、remove、removeElement、removeElement等)、資訊查詢(成員方法有contains、equals、capacity等)。
五、
雜湊表簡介
數組和向量按順序儲存元素,因此通過元素的下標可以非常方便地獲得該元素。但反過來,如果知道元素而要獲得該元素的下標,則相對要困難一些,通常需要順序進行尋找。如果數組或向量已經按照某種方式排序,則可以採用二分法進行折半尋找,加速尋找過程。一般認為從元素尋找該元素所對應的儲存位置的最快方式是採用雜湊表。雜湊表也稱作散列表。
雜湊表詳解連結:http://www.cnblogs.com/vamei/archive/2013/03/24/2970339.html#undefined