天天看點

Java初級筆記-第一章

第一章 Java概覽

1.1 基本簡介

Java是一種理想的面向對象的網絡程式設計語言。

1991年,出現了Oak語言,旨在解決程式設計語言的選擇和跨平台的問題。

1994年,随着Internet的迅猛發展,Sun Microsystems公司發現Oak語言所具有的跨平台、面向對象、高安全性等特點非常适合于網際網路的需要,于是就改進了該語言的設計且命名為“Java”,并于1995年正式向IT業界推出。

1.2 Java的應用範疇

随着Java2一系列新技術(如JAVA2D、JAVA3D、SWING、JAVA SOUND、EJB、SERVLET、JSP、 CORBA、XML、JNDI等等)的引入,使得它在電子商務、金融、證券、郵電、電信、娛樂等行業有着廣泛的應用,使用Java技術實作網絡應用系統也正在成為系統開發者的首要選擇。

1.3 Java的特點

1)簡單、安全可靠

2)面向對象

3)分布式計算

4)平台的無關性(跨不同的作業系統)

5) 多線程

6) 動态的

7) 可擴充的

正如SUN Micro Systems所述:Java是簡單的、面向對象的、分布式的、解釋的、有活力的、安全的、結構中立的、可移動的、高性能的、多線程和動态的語言。

1.4 Java的三個平台

Java不僅僅是一種網絡程式設計語言,還是一個不斷擴充的開發平台。Sun公司針對不同的市場目标和裝置進行定位,把Java劃分為如下三個平台:

1)J2SE(Java2 Standard Edition)是Java2 的标準版,主要用于桌面應用軟體的程式設計。它包含了構成Java語言基礎和核心的類。我們在學習Java的過程中,主要是在該平台上進行的。

2)J2EE(Java2 Enterprise Edition)是Java2的企業版,主要是為企業應用提供一個伺服器的運作和開發平台。J2EE 不僅包含J2SE 中的類,還包含了諸如EJB、servlet、JSP、XML等許多用于開發企業級應用的類包。J2EE本身是一個開放的标準,任何軟體廠商都可以推出自己符合J2EE标準的産品,J2EE将逐漸發展成為強大的網絡計算平台。

3)J2ME(Java2 Micro Edition)是Java2的微縮版,主要為消費電子産品提供一個Java的運作平台,使得能夠在手機、機頂盒、PDA等消費電子産品上運作Java程式。

1.5 Java開發的步驟

1)使用文本編輯工具編寫Java的源程式,Java源程式的擴充名必須是.java。

2)使用Java編譯器Javac.exe編譯Java的源程式

Javac用于将擴充名為.java的源程式代碼檔案編譯成擴充名為.class位元組碼檔案。

使用格式: javac FileName.java

例:編譯java源程式myProg.java

Javac myProg.java

執行該指令将在目前目錄下生成位元組碼檔案myProg.class。

注意:在編譯檔案時,源檔案的擴充名.java必須帶上,否則會出現編譯錯誤,不能生成位元組碼檔案。

3)使用解釋器Java.exe(JVM)解釋執行Java的位元組碼程式

解釋執行編譯後的位元組碼檔案程式。

使用格式: java classFileName

例:解釋執行位元組碼檔案myProg.class

Java myProg

注意: 運作的類檔案名不需要帶.class擴充名。

Java.exe 是執行Java編譯後的.class位元組碼檔案的主要程式,所有的java程式均由此程式來加載執行,Java的跨平台技術也是由此程式實作,Sun公司在不同的作業系統中開發了不同的位元組碼解釋器,這些解釋器統稱為Java Virtual Machine(JVM)Java虛拟機。Windows下的JVM就是java.exe,使用虛拟機加載一個Java的位元組碼檔案後,Java虛拟機就開始尋找一個叫main的入口方法,開始執行位元組碼程式。

我們應該注意以下幾點:

(1) Java程式總是由一些類組成。在每個Java程式中可以包含有多個類,但至少必須有一個類;

(2) 可以把每個類的程式代碼放入一個單獨的程式檔案中,一般情況下程式檔案名和其中定義的類名取名相一緻;

(3) 源程式檔案必須使用擴充名.java。

 面向對象的特點:

Java是一種純面向對象的程式設計語言,面向對象的程式程式設計有如下的特點:

1)程式中所有東西都是對象,可将對象看成是一種新型變量;它儲存着資料,且能對自身進行操作。

2)程式是一些對象的組合,通過消息傳遞進行相關的處理,各對象知道自己該做些什麼。

3)每個對象都有自己的存儲空間并可容納其他對象。也就是說通過封裝現有的對象,可以建立出新的對象。對象的概念看似簡單,其實卻可達到任意高的複雜程度。

4)如前所述,每個對象都屬于某一類型,是以每個對象都是某個類的一個執行個體。類的最重要的特征就是能将什麼消息發給它,同一類所有對象都能接收相同的消息。

1.6 Java的開發環境的搭建

1)下載下傳并安裝JDK檔案

紅色箭頭指定的必須選中,紅框線内就是提供的不同作業系統的JDK開發環境安裝包,把安裝包下載下傳後,根據系統提示的步驟安裝即可,一般都遵循預設的選擇。

2)設定系統環境

在運作Java程式或進行一些相關處理時,用到了工具箱(JDK)中的工具和資源,這就需要設定兩個環境變量PATH和CLASSPATH,以擷取運作工具和資源的路徑。1.7後的版本可以不設定ClassPath環境變量

(1) 右擊“我的電腦”圖示;

(2) 在出現的快捷菜單中單擊“屬性”選項;

(3) 在出現的“系統屬性”對話框視窗上單擊“進階”選項;

(4) 單擊對話框上的“環境變量”按鈕;

(5) 在出現的“環境變量”對話框上,單擊系統或使用者變量框内的“建立”按鈕;

建立一個名為“JAVA_HOME”的系統環境變量。其變量的值為JDK安裝根目錄,我的JDK安裝到了C:\Program Files\Java\jdk1.8.0_101。

添加JAVA_HOME環境變量

4、“建立”(或編輯)一個名為“path”的環境變量,如果Path變量已經存在,則在變量值的最後面追加“;%JAVA_HOME%\bin;”。

注意不同的系統可能會有所不同,但是原理上一樣;

5、“建立”一個名為“ClassPath”的環境變量,其值為“.;”

6、在控制台中輸入“javac”如果出現Java的拽住資訊,則表示JDK安裝成功。

1.7 JDK和JRE

JDK(Java Development Kit),Java開發環境,要開發Java必須使用此環境。

JRE(Java Runtime Environment),Java運作時環境,運作Java程式時的必須環境。

JDK中包含了JRE。

1.8 第一個程式HelloWorld

用文本編輯器編寫一個HelloWorld.java的文本檔案(Java源程式)

/**

*/

這部分内容是注釋内容,用來描述對程式的描述,主要功能、作者、檔案資訊等内容,此部分内容也可以出現在代碼的行間,用以描述以下代碼的主要功能。

Import java.util.; import是Java的關鍵字,說明該單詞後跟的一個導入的包名(java.util.)

; Java代碼,一個完成語句後一般以分号”;”作辨別,以便系統可以識别每條語句。

Public Java的關鍵字,修改一段代碼是什麼通路權限的(以後會仔細講)

Class Java關鍵字 說明後邊跟的字元代表了一個類

HelloWorld 使用者辨別符(以後講辨別符——代号),類的名字,Java源代碼的檔案名以類名+“.java”命名,Java的檔案名必須同Public限定的類名嚴格一緻(區分大小寫)。

public static void main(String[] argc) 這名話中,static Java關鍵字,靜态的,void Java關鍵字 main Java虛拟機(JVM java.exe)所要調用的方法入口,()中的代碼是執行這個main方法所使用的參數其中String

是引用類型的資料類型名稱, argc 是使用者資料辨別符。 [] 代表的是數組的意思

在方法聲明完成後 要接 “{“ 相當于流程圖中的開始的意思,在方法的結尾要以 “}”結尾,相當于流程圖的結束。

System.out.println(“Hello World!”);//這名話的意思調用System.out.println方法,在螢幕上列印“Hello World!”,相當于流程圖中的平行四邊形。System是一個類,out也是一個類,做為System類的一個變量出現,println是out類的一個方法。方法的調用,直接使用方法名+(),在()中把方法中所要使用的參數進行傳入。

1.9 延伸閱讀:

1.9.1 什麼是環境變量

windows下面的環境變量有系統級變量和使用者級變量,系統級變量是指所有使用者都可使用,不管你用哪個使用者登入,這些變量都是可以通路的。

使用者級變量則是針對特定使用者設定的變量,其他使用者不可通路。

環境變量指的是目前使用者或系統所使用的一些基本配置資訊。

比如說你要執行 java 指令,你不設定環境變量path包括你的jdk安裝路徑,那系統去哪找你的java.exe檔案。

如果執行某個指令,系統無法在目前檔案夾裡找到對應的.exe,那麼系統就會去path包含的路徑找挨個找看是否能知道對應的.exe,一旦找到第一個對應的.exe就運作指令,其他的路徑下就不找了。如果找不到你就會看到“系統找不到某某指令”的提示。

其他的環境變量也一樣的用途,隻不過是用來存儲一些資訊用的,這些資訊可以被系統使用,也可以被你的應用程式使用。

在我們設定的環境變量中曾設定了一個JAVA_HOME= C:\Program Files\Java\jdk1.8.0_101,當系統解析PATH中的%JAVA_HOME%\bin時,會用C:\Program Files\Java\jdk1.8.0_101代替JAVA_HOME,進而得到C:\Program Files\Java\jdk1.8.0_101\bin的一個路徑,而我們要使用的javac.exe、java.exe等Java的一些程式,都在C:\Program Files\Java\jdk1.8.0_101\bin下。

1.9.2 指令提示符常用指令

cmd 是command的縮略格式,即指令控制台,Windows下稱之為指令提示符,在這個視窗中鍵入指令,相當于在輕按兩下滑鼠,系統會執行相關的操作,并将結果列印到控制台上,完成人機互動。

切換驅動器使用驅動器的字元+:enter來完成

如:D:會将目前使用的驅動器更改為D:盤

Help 所有常用的内部指令的提示

CD 進入目錄(檔案夾) 也可以使用CD 來完成目錄的浏覽

Md 建立目錄

Rd 删除為空的目錄

Dir 列出目前目錄的内容

Dir *.java 列出所有擴充名為.java的檔案名

Dir /? 此指令的幫助資訊

Del 删除檔案

Cd .. 傳回上一級目錄

Cd / 傳回根目錄

. 代表目前路徑

.. 代表目前路徑的父路徑,即上一級路徑。

1.9.3 PATH 與CLASSPATH

在Windows作業系統中,如果執行某個指令,系統無法在目前檔案夾裡找到對應的.exe,那麼系統就會去path包含的路徑找挨個找看是否能知道對應的.exe,一旦找到第一個對應的.exe就運作指令,其他的路徑下就不找了。如果找不到你就會看到“系統找不到某某指令”的提示。

同理,當JVM執行某個類的位元組碼檔案(.class)時,一般會需要其它的類的位元組碼檔案來支援,如執行System.out.println()這個方法進行螢幕輸出,這時就需要Java系統中的System類,這個類并不在目前的運作目錄中,系統會按照CLASSPATH中設定的路徑尋找相關的.class檔案來尋找可用的類的位元組碼檔案來支援目前程式的運作。(CLASSPATH這個環境變量對于1.6以後的JVM基本很少使用)。