程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> Java基礎知識筆記(一:修飾詞、向量、哈希表),java

Java基礎知識筆記(一:修飾詞、向量、哈希表),java

編輯:JAVA綜合教程

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved