關於JAVA你必須知道的那些事(一) 頂 原

第一次寫文章,有點小緊張,不過沒關係,因爲我面對的都是小白。好了廢話少說,直接開始吧。

 

我主要說一下JAVA的發展和開發java的基本知識及JAVA的主要特性。

 

一、JAVA的主要特性:

 

1、 一方面,Java語言的語法與C語言和C++語言非常接近,這使得大多數程序員都很容易學習和使用。另一方面,Java丟棄了C++中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動的強制類型轉換。特別地,Java語言不使用指針,而是引用。並提供了自動的廢料收集,使得程序員不必爲內存管理而擔憂。

 

2、Java是面向對象的,具有類,接口等;

 

3、Java是解釋型的語言,Java程序在Java平臺上被編譯爲字節碼格式,然後可以在實現這個Java平臺的任何系統中運行。即所謂的“一次編譯,永久使用”。

 

下面解釋一下解釋型語言和編譯型語言的區別?

 

(A)解釋型語言:,解釋性語言編寫的程序不進行預先編譯,以文本方式存儲程序代碼。在發佈程序時,看起來省了道編譯工序。但是,在運行程序的時候,解釋性語言必須先解釋再運行。

 

(B)編譯型語言:程序在執行之前需要一個專門的編譯過程,把程序編譯成爲機器語言的文件,運行時不需要重新翻譯,直接使用編譯的結果就行了。程序執行效率高,依賴編譯器,跨平臺性差些。如C、C++、Delphi等。

 

二、JAVA的開發工具(JDK),工具及運行環境(JRE)

 

(1)Java主要分爲三大體系:

 

JavaSE(J2SE)(Java2 Platform Standard Edition,java平臺標準版)

 

JavaEE(J2EE)(Java 2 Platform,EnterpriseEdition,java平臺企業版)

 

JavaME(J2ME)(Java 2 Platform Micro Edition,java平臺微型版)

 

2005年6月,JavaOne大會召開,SUN公司公開Java SE 6。此時,Java的各種版本已經更名以取消其中的數字”2”:J2EE更名爲Java EE,J2SE更名爲Java SE,J2ME更名爲Java ME。

 

說明:

 

Standard Edition(標準版) J2SE 包含那些構成Java語言核心的類

 

比如:數據庫連接、接口定義、輸入/輸出、網絡編程

 

Enterprise Edition(企業版) J2EE 包含J2SE 中的類,並且還包含用於開發企業級應用的類。比如:EJB、servlet、JSP、XML、事務控制

 

Micro Edition(微縮版) J2ME 包含J2SE中一部分類,用於消費類電子產品的軟件開發。比如:呼機、智能卡、手機、PDA、機頂盒

 

他們的範圍是:J2SE包含於J2EE中,J2ME包含了J2SE的核心類,但新添加了一些專有類,應用場合,API的覆蓋範圍各不相同。

 

上面的每個版本都分別對應不同的JDK(java development kit),可以根據應用不同下載不同的JDK安裝。對於初學者,先學習Java SE,有了一定基礎之後,可以考慮深入學習Java EE,或者轉戰Android也行。

 

(2)JDK中包含了java開發需要的各種類和接口,以及運行java程序所需要的環境JRE,若是隻想在各種系統平臺上運行java程序而不進行開發,則可以直接下載JRE包即可。有些系統是自帶JRE的,但不包括windows,因此要想在windows上運行java程序,需要在系統上安裝JRE。

 

(3)JRE中包含了JVM(Java虛擬機):它是整個java實現跨平臺的最核心的部分,所有的java程序會首先被編譯爲.class的類文件,這種類文件可以在虛擬機上執行,也就是說class並不直接與機器的操作系統相對應,而是經過虛擬機間接與操作系統交互,由虛擬機將程序解釋給本地系統執行。

 

2、工具

 

Java開發需要一些較好的開發工具,比較好的一個IDE就是Eclipse;eclipse、idea等IDE有自己的編譯器而不是用JDKbin目錄中自帶的,所以在安裝時你會發現他們只要求你選中jre路徑就ok了;而且用eclipse的話不需要設置系統環境變量,它會自動找到安裝的JRE地址。

 

3、開發環境

 

Java可以下windows和linux等系統下進行開發,這裏僅介紹在windows下開發需要設置的環境參數,在安相應版本JDK之後,進行變量設置。

 

變量設置

 

變量名:JAVA_HOME

 

變量值:C:\ProgramFiles\Java\jdk1.7.0

 

//這裏是你JDK的安裝路徑,可以更換

 

變量名:CLASSPATH

 

變量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;//記得前面有個"."

 

變量名:Path

 

變量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

 

1、”開始”->;”運行”,鍵入”cmd”;

 

2、鍵入命令”java -version”,”java”,”javac”幾個命令,出現相關畫面,說明環境變量配置成功;

 

三、Java基礎語法

 

1、基本語法規則

 

編寫Java程序時,應注意以下幾點:

 

大小寫敏感:Java是大小寫敏感的,這就意味着標識符Hello與hello是不同的。

 

類名:對於所有的類來說,類名的首字母應該大寫。如果類名由若干單詞組成,那麼每個單詞的首字母應該大寫,例如 MyFirstJavaClass 。

 

方法名:所有的方法名都應該以小寫字母開頭。如果方法名含有若干單詞,則後面的每個單詞首字母大寫。

 

源文件名:源文件名必須和類名相同。當保存文件的時候,你應該使用類名作爲文件名保存(切記Java是大小寫敏感的),文件名的後綴爲.java。(如果文件名和類名不相同則會導致編譯錯誤)。

 

主方法入口:所有的Java 程序由public static void main(Stringargs)方法開始執行。

 

另外:java中沒有頭文件,它是以import的方法從外面導入.class文件的; java中的main函數是包含在一個類中的,與C++是不一樣的,在C++中沒有定義類也是一個程序。

 

2、源文件聲明規則

 

當在一個源文件中定義多個類,並且還有import語句和package語句時,要特別注意這些規則。

 

一個源文件中只能有一個public類

 

一個源文件可以有多個非public類

 

源文件的名稱應該和public類的類名保持一致。例如:源文件中public類的類名是Employee,那麼源文件應該命名爲Employee.java。

 

如果一個類定義在某個包中,那麼package語句應該在源文件的首行。

 

如果源文件包含import語句,那麼應該放在package語句和類定義之間。如果沒有package語句,那麼import語句應該在源文件中最前面。

 

import語句和package語句對源文件中定義的所有類都有效。在同一源文件中,不能給不同的類不同的包聲明。

 

類有若干種訪問級別,並且類也分不同的類型:抽象類和final類等。這些將在訪問控制章節介紹。除了上面提到的幾種類型,Java還有一些特殊的類,如:內部類、匿名類。

 

3、Java包:

 

包主要用來對類和接口進行分類。當開發Java程序時,可能編寫成百上千的類,因此很有必要對類和接口進行分類。(即包中包含很多種類的類和接口)

 

當編譯一個.java文件(即一個編譯單元)時,在.java文件中的每個類都會有一個輸出文件,而該輸出文件的名稱與.java文件中每個類的名稱相同,只是多了一個後綴名.class。如果你真的想學習java你可以來這個羣前面是四九一,中間是八九七後面是一五八這裏有技術大牛親自指導幫助你 還有免費的直播課程學。因此在編譯少量.java文件之後,會得到大量的.class文件。每一個.java文件編譯以後都會有一個public類,以及任意數量的非public類。因此每個.java文件都是一個構件,如果希望許許多多的這樣的構件從屬於同一個羣組,就可以在每一個.java文件中使用關鍵字package。而這個羣組就是一個類庫。

 

如果使用package語句,它必須是.java文件中除註釋以外的第一句程序代碼。

 

 

4、權限修飾符

 

Java中有四種權限修飾符,這些修飾符控制對類,類的成員方法,類的成員變量的訪問;其作用範圍如下:

 

public:所有的類都可以訪問。

 

private:只有在同一個類中纔可以訪問。

 

protected:同一個類中、同一個包中、子類中都可以訪問,其他包不可以。

 

包類型的,即默認類型同一個類中、同一個包中可以訪問到,其他包和子類不可以。

 

5、數據類型

 

byte: Java數據類型和c/c++基本類似,但Java中有byte類型,表示8位2進制的整數,相當於c/c++中的char.

 

常量:Java中常量用final表示,相當於const,final中的值是可以改變的;

 

-包裝類: 在開發過程中,有時候需要使用對象,而不是內置數據類型,因此java爲每個內置數據類型提供了對應的包裝類所有的包裝類(Integer、Long、Byte、Double、Float、Short)都是抽象類Number的子類,對於字符也有相應的Character類。每個類具有相應的函數。

 

數組:java數組是對象,與c++不同,語法上與c++類似,java數組具有一個屬性length可以獲取數組的長度。(數組a,a.length爲數組長度),Array類具有一些函數可以對數組進運算。

 

6、Java高級特性和接口

 

Java中類繼承只允許一個父類,當需要進行多個繼承時,需要使用接口。接口類似於類,定義時用interface替代類定義中的class,但裏面的方法只有定義沒有實現。接口文件的文件名必須與接口名相同。繼承接口的關鍵字爲implement,與類的繼承extends相似,可以進行多繼承。接口繼承必須實現接口中的所有方法。

 

接口是規範,規定某個實現類裏必須有那些方法,只要事先定義好接口,當大家一起合作的時候就不用特別麻煩的交互,而是每個人寫好自己的接口實現類,最後拼接到一起就可以了比如數據庫連接類,接口規定好有哪些方法、方法的功能,然後每個數據庫廠商根據接口去實現具體的類,達到統一的目的,要不每個數據庫廠商自己實現一套,那麼你編程的時候就要根據不同驅動使用不同的方法,造成不必要的麻煩。

 

2、Java中的抽象類

 

只聲明方法的存在而不具體實現的類,抽象類不能實例化(不能創建相應對象)定義方式:在class前加上abstract,ex:

 

abstractclass 類名{ ;;;}抽象類中定義的沒有實際意義的,必須在子類重寫的方法爲抽象方法,定義時前面加abstract:abstract type name(agrs)。

 

一般方法定義與在正常類中定義一樣。

 

 

關於如何創建類和其他知識我將在後續文章陸續介紹,謝謝大家!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章