Java從入門到實踐.ppt_第1頁
Java從入門到實踐.ppt_第2頁
Java從入門到實踐.ppt_第3頁
Java從入門到實踐.ppt_第4頁
Java從入門到實踐.ppt_第5頁
已閱讀5頁,還剩221頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第1章 Java語言概述,Java語言是當前非常流行的開發(fā)語言,廣泛應(yīng)用于信息技術(shù)、科學研究、軍事工業(yè)、航空航天等各個領(lǐng)域。Java語言發(fā)展到今天,互聯(lián)網(wǎng)的快速發(fā)展起了很大的推動作用。下面將對Java語言的發(fā)展、特點、運行環(huán)境等方面做個簡要介紹,使讀者對Java語言有個全面了解。本章包括以下知識點。(源碼網(wǎng)整理:) Java語言簡介; 運行環(huán)境的搭建; 編寫第一個Java程序。 通過學習本章內(nèi)容,讀者可以對Java語言有個全面的了解,并且掌握Java程序運行環(huán)境的搭建過程。,1.1 Java語言簡介,Java語言是當前非常流行的開發(fā)語言,不過發(fā)展到今天也走過了非常曲折的道路。下面就從語言的發(fā)展、特點、工作原理幾個方面詳細介紹一下Java語言。,1.1.1 Java語言的發(fā)展,計算機編程語言不斷發(fā)展,Java語言發(fā)展到今天也走過了非常曲折的道路。事物的產(chǎn)生都有其必然的因素,Java語言的出現(xiàn)也驗證了這一點。透過Java語言的發(fā)展歷程,可以更詳盡的了解什么是Java。 Java語言發(fā)展到今天,可以說互聯(lián)網(wǎng)的快速發(fā)展起了很大的推動作用。現(xiàn)在談到Java,已不僅僅表示一門程序語言,更是一種軟件開發(fā)平臺。Java已經(jīng)演化出了J2SE、J2EE、J2ME三個版本,分別面向不同領(lǐng)域的應(yīng)用開發(fā)。 1Java 2 Platform,Standard Edition(J2SE) 2Java 2 Platform,Enterprise Edition(J2EE) 3Java 2 Platform,Micro Edition(J2ME),1.1.2 Java語言的特點,Java語言是一種分布式的面向?qū)ο缶幊陶Z言,在各個行業(yè)領(lǐng)域開發(fā)中得到了廣泛的應(yīng)用。作為一種 程序設(shè)計語言,Java具有面向?qū)ο蟆⑵脚_無關(guān)、簡單、健壯、多線程、安全等諸多特性。下面就這些方面特性分別進行討論。 1面向?qū)ο?2平臺無關(guān)性 3簡單性 4解釋執(zhí)行 5網(wǎng)絡(luò)的 6分布式 7健壯性 8.可擴展性 9.安全性,1.1.3 工作原理,虛擬機(JVM)與垃圾回收是Java語言工作的兩種重要機制,下面對其分別進行詳細介紹。 1Java虛擬機(JVM) 2垃圾回收機制,1.2 Java程序運行環(huán)境,在使用一門語言之前,首先需要搭建相關(guān)的運行環(huán)境。下面就從JDK的安裝、環(huán)境變量設(shè)置、開發(fā)工具幾個方面介紹如何搭建Java語言的運行環(huán)境。,要進行Java應(yīng)用程序開發(fā),首先需要安裝JDK(Java Development Kits)。JDK是Sun公司提供的一套Java開發(fā)環(huán)境,具有多種操作系統(tǒng)的多個版本。自從Java誕生以來,JDK的版本一直在不斷升級,如JDK1.3、JDK1.4、JDK1.5。下面以J2SE 6.0 Development Kits在Windows操作系統(tǒng)下的安裝為例,逐步搭建Java程序的運行環(huán)境。,1.2.2 設(shè)置環(huán)境變量,Java程序運行的環(huán)境變量主要包括Path和Classpath。Path用于指定JDK包含的工具程序所在的路徑,這與設(shè)置操作系統(tǒng)中其他應(yīng)用程序的Path是一樣的。Classpath是Java程序運行所特需的環(huán)境變量,用于指定運行的Java程序所需的類的加載路徑。設(shè)置Java運行環(huán)境變量有命令行和圖形界面兩種形式,下面分別進行介紹。 1設(shè)置Path 2設(shè)置Classpath,1.2.3 開發(fā)工具介紹,Eclipse是一個流行的針對Java編程的集成開發(fā)環(huán)境(IDE)。它還可以用作編寫其他語言(比如C+和Ruby)的環(huán)境,合并各種種類工具的框架,以及創(chuàng)建桌面或服務(wù)器應(yīng)用程序的富客戶端平臺。Eclipse是開放源代碼的項目,可以免費下載。它的官方網(wǎng)址是http:/www.E,目前最新的版本號是3.4。,1.3 第一個Java程序,在全面學習一門編程語言之前,最快的對該語言進行大致了解的方式就是編寫一個簡單的程序。下面就以第一個Java程序為例,詳細介紹Java程序的編寫、編譯、運行等過程。,1.3.1 編寫程序,配置好程序運行環(huán)境后就可以動手編寫Java程序了。通過編寫第一個簡單的Java程序,能夠?qū)ava有個快速的體驗,也能驗證運行環(huán)境配置的正確與否。學習一門程序語言,通常都是以一個“HelloWorld”的程序開始。為了讓讀者能夠更深的體會Java程序的編寫、執(zhí)行過程,下面的實例先是采用文本編輯器編寫、命令行方式執(zhí)行。最后將會介紹使用Eclipse編寫該實例的過程。,1.3.2 編譯、運行,程序編寫完成后,在執(zhí)行前首先需要進行編譯。編譯Java源程序需要使用Javac命令程序。命令行方式編譯、運行Java源程序的步驟如下所示。,1.3.3 使用Eclipse編寫、執(zhí)行程序,在掌握了用命令行方式編譯、執(zhí)行程序的方法后,下面詳細介紹一下如何使用Eclipse編寫、執(zhí)行上面列舉的HelloWorld程序。,1.3.4 程序結(jié)構(gòu)說明,第一個Java程序比較簡單,但畢竟是一個完整的程序,能夠正確執(zhí)行。下面對這個程序的整個結(jié)構(gòu)做個簡單說明,以便對Java程序結(jié)構(gòu)有個最初步的簡單認識。 01 public class HelloWorld /定義類HelloWorld 02 /定義main()方法 03 public static void main(String args) 04 System.out.println(“Hello World!“); /輸出字符串 05 06 ,1.3.5 Java程序調(diào)試技巧,程序調(diào)試是程序開發(fā)過程中很重要的一項工作,即時熟練的開發(fā)人員也是如此。不過,對于初學者來說有時更容易犯一些入門級的錯誤。很小的一個錯誤往往使初學者費盡周折,為此花費大量精力。下面給出一些編寫程序過程中經(jīng)常遇到的一些問題及調(diào)試技巧,以便在遇到問題時能夠快速餼觥 1Path、Classpath的問題 2注意大小寫 3主文件名與類名一致 4全角與半角 5使用Eclipse調(diào)試程序,1.6 小結(jié),本章介紹了Java語言的發(fā)展、特點、運行環(huán)境等方面內(nèi)容。另外,通過一個實例程序演示了Java程序的編寫、編譯、執(zhí)行、調(diào)試過程。本章的重點是掌握Java程序運行環(huán)境的搭建。從下一章開始,本書將全面展開Java語言具體內(nèi)容的學習。,1.7 本章習題,1. Java語言都有哪些特點?按應(yīng)用領(lǐng)域來分,有哪些版本? 2. 如何搭建Java程序的運行環(huán)境? 3. 什么是Classpath,該如何設(shè)置?,第2章 簡單數(shù)據(jù)類型及運算,在Java語言中定義了一組簡單數(shù)據(jù)類型,這些數(shù)據(jù)類型是構(gòu)成其他數(shù)據(jù)類型的基礎(chǔ)。簡單數(shù)據(jù)類型類似結(jié)構(gòu)化編程語言中的數(shù)據(jù)類型。定義了數(shù)據(jù)類型的變量與常量,與運算符進行組合,可以形成各種復(fù)雜的表達式,從而構(gòu)成程序中的基本運算單元。在各種編程語言中,可以說數(shù)據(jù)類型、運算符及表達式等都是程序基礎(chǔ)。會同標識符、關(guān)鍵字、變量與常量,這些基礎(chǔ)知識又互相銜接,密不可分。本章針對這些基礎(chǔ)知識逐一詳細介紹。,2.1 標識符與關(guān)鍵字,程序中的標識符與關(guān)鍵字都具有一定的含義。標識符是用戶定義的程序中類、變量、常量、方法等的標識,關(guān)鍵字是語言本身留作特殊用途的專用符號。關(guān)于標識符與關(guān)鍵字的具體知識,下面分別進行介紹。,2.1.1 標識符,標識符是指程序中類、變量、常量、方法等的名字。類、變量、常量、方法等進行定義和引用時需要利用一定的標識進行識別,這就需要使用標識符。標識符的命名必需符合一定的規(guī)范,Java語言的標識符命名規(guī)則如下。 首字符必需是字母、下劃線_、美元符號$、或者人民幣符號¥。 標識符由數(shù)字09、大寫字母AZ、小寫字母az和下劃線_、美元符號$以及所有在十六進制0xc0前的ASCII碼等組成。 不能把關(guān)鍵字和保留字作為標識符。 標識符對大小寫敏感,也就是需要區(qū)分大小寫。 標識符沒有長度限制。,2.1.2 關(guān)鍵字,語言本身專門使用的標識符為關(guān)鍵字,在程序代碼中有其特殊的含義。Java常用的關(guān)鍵字有package、class、interface、public、private、protected、default、int、byte、double、boolean、char、if、else、while、switch、case、do、break、continue、try、catch、finally、throw、throws、new、this、super等。所有的關(guān)鍵字都為小寫,每個都有其特殊的作用,比如: 用于包、類、接口定義:package、class、interface。 訪問控制修飾符:public、private、protected、default。 數(shù)據(jù)類型:int、byte、double、boolean、char。 關(guān)于流程控制:if、else、while、switch、case、do、break、continue。 關(guān)于異常處理:try、catch、finally、throw、throws。 創(chuàng)建對象:new。 引用:this、supe。,2.2 基本數(shù)據(jù)類型,程序中的主要數(shù)據(jù)元素為變量與常量,每一個變量與常量必須屬于一種數(shù)據(jù)類型。數(shù)據(jù)類型指定了該類數(shù)據(jù)所占內(nèi)存空間的大小、取值范圍及其可以進行的操作。Java語言中的數(shù)據(jù)類型可分為基本數(shù)據(jù)類型和復(fù)合數(shù)據(jù)類型。基本數(shù)據(jù)類型可稱為“原始數(shù)據(jù)類型”,是其他數(shù)據(jù)類型的基礎(chǔ)。復(fù)合數(shù)據(jù)類型以基本數(shù)據(jù)類型為基礎(chǔ),通常以類的形式進行封裝。復(fù)合數(shù)據(jù)類型的概念后續(xù)章節(jié)會詳細說明。基本數(shù)據(jù)類型主要包括布爾類型、字符型、整型、實型,下面分別進行介紹。,2.2.1 布爾類型,布爾類型用關(guān)鍵字boolean表示,只有true和false兩個值。布爾類型通常用在流程控制中進行邏輯判斷。布爾型數(shù)據(jù)在機器中占1個字節(jié),系統(tǒng)默認初始值為false。,2.2.2 字符型,字符型用關(guān)鍵字char表示。Java中的字符屬于Unicode編碼(一種類似于ASCII碼的國際標準編碼,采用二字節(jié)編碼)。由于計算機底層只能處理二進制數(shù)據(jù),要想使用字符,就需要對字符進行編碼,轉(zhuǎn)換成一系列二進制數(shù)來表示特定的字符。目前有多種編碼字符集,如Unicode、ISO-8859-1、GBK、ASCII等。不同的字符集收錄的字符不盡相同,Unicode屬于國際標準字符集,收錄了世界上所有各國語言文字的字符。字符型數(shù)據(jù)在機器中占2個字節(jié),默認初始值為u0000。,2.2.3 整型,整型用來表示不含小數(shù)部分的數(shù)字。Java語言中共有四種整數(shù)類型,分別是byte、short、int和long。這四種整數(shù)類型占用的內(nèi)存空間各不相同,從而取值范圍也不同。,2.2.4 實型(浮點型),實型用來表示含有小數(shù)的數(shù)字。Java語言中共有float和double兩種實數(shù)類型。這兩種實數(shù)類型占用的內(nèi)存空間、取值范圍各不相同。,2.2.5 數(shù)據(jù)類型轉(zhuǎn)換,在程序編寫過程中,不同數(shù)據(jù)類型的變量之間經(jīng)常需要賦值或運算,這就需要進行數(shù)據(jù)類型轉(zhuǎn)換。各種數(shù)據(jù)類型根據(jù)分配空間大小、取值范圍不同,劃分為一定的優(yōu)先級關(guān)系。再根據(jù)優(yōu)先級,數(shù)據(jù)類型轉(zhuǎn)換分為自動類型轉(zhuǎn)換和強制類型轉(zhuǎn)換。 1自動類型轉(zhuǎn)換 2強制類型轉(zhuǎn)換,2.3 運算符與表達式,運算符與表達式的概念是緊密聯(lián)系在一起的。運算符與操作數(shù)組成表達式來完成相應(yīng)的運算。不同類型的運算符,組成不同的表達式,可以完成不同類型的運算。表達式是具有確定值的語句,由操作數(shù)和各種運算符按照一定的規(guī)則組成。表達式的值可以作為操作數(shù),進而形成更復(fù)雜的表達健Java語言中的運算符主要包括如下類別: 算術(shù)運算符。 賦值運算符。 關(guān)系運算符。 邏輯運算符。 位運算符。 條件運算符。,2.3.1 算術(shù)運算符及表達式,算術(shù)運算符和操作數(shù)組成算術(shù)表達式,完成基本的算術(shù)運算。算術(shù)運算符按照操作數(shù)的個數(shù)可以分為二元運算符和一元運算符,下面分別進行介紹。 1二元算術(shù)運算符 2一元算術(shù)運算符,2.3.2 賦值運算符及表達式,由賦值運算符組成的表達式為賦值表達式。賦值運算符只有一個,即=。賦值運算符用于運算符右邊的值賦值給左邊的變量。,2.3.3 關(guān)系運算符及表達式,由關(guān)系運算符及兩個操作數(shù)組成關(guān)系表達式。關(guān)系運算符都是二元運算符,用來比較兩個操作數(shù),執(zhí)行結(jié)果為布爾型。關(guān)系運算符共有六種,分別是(大于)、=(大于等于)、=(小于等于)=(等于)和!=(不等于)。關(guān)系表達式的語法格式如下所示。 operation1 Operator operation2 其中,參數(shù)operation1表示第一個操作數(shù)。參數(shù)Operator表示關(guān)系運算符。參數(shù)operation2表示第二個操作數(shù)。,2.3.4 邏輯運算符及表達式,由邏輯運算符及操作數(shù)組成邏輯表達式。邏輯運算符共有三個,分別是&(邏輯與)、|(邏輯或)和!(邏輯非)。其中&(邏輯與)、|(邏輯或)是二元運算符,!(邏輯非)是一元運算符。邏輯表達式的操作數(shù)都必須為布爾型,執(zhí)行結(jié)果也為布爾型。,2.3.5 位運算符及表達式,位運算是指將操作數(shù)以二進制位的形式進行運算。位運算的操作數(shù)只能是整數(shù)類型。位運算符共有七個,分別是(位右移)、(無符號位右移)、&(按位與)、|(按位或)、(按位異或)和(按位取反)。其中前六項均為二元運算符,而(按位取反)是一元運算符。,2.3.6 條件運算符及表達式,條件運算符為三元運算符,由條件運算符和三個操作數(shù)組成三元條件表達式。三元條件表達式運算時首先判斷條件式(第一個操作數(shù),為布爾型)的值,如果為true,則整個表達式的結(jié)果為冒號前的值,否則為冒號后的值。三元條件表達式的語法格式如下所示。 operation1 ? operation2 : operation3 其中,參數(shù)operation1表示第一個操作數(shù),值必需為布爾類型,可以為表達式。參數(shù)operation2表示第二個操作數(shù),當?shù)谝粋€操作數(shù)的值為true時,其值作為表達式的結(jié)果。參數(shù)operation3表示第三個操作數(shù),當?shù)谝粋€操作數(shù)的值為false時,其值作為表達式的結(jié)果。,2.3.7 運算符的優(yōu)先級,最簡單的表達式是一個變量或常量,變量或常量的值就是表達式的值。前面講過,表達式的值可以作為操作數(shù),從而組成更加復(fù)雜的表達式。復(fù)雜的表達式中往往包含多個運算符,它們的計算需要有一定的先后順序,這就是運算符的優(yōu)先級。,2.4 變量與常量,變量與常量是程序中的基本數(shù)據(jù)元素。變量代表運行過程中值可以改變的數(shù)據(jù),常量代表運行過程中值恒定不變的數(shù)據(jù)。關(guān)于變量與常量的具體知識,下面分別進行介紹。,2.4.1 定義變量,變量是編程語言中十分重要的概念,代表一定的存儲空間,里面用來存儲相應(yīng)數(shù)據(jù)。類中的變量用來表示類的屬性,在程序運行過程中,變量所對應(yīng)的值是可以變化的。定義變量的語法如下所示。 type Variablename = initialvalue; 其中,參數(shù)type表示變量的類型,可以是基本類型,也可以是復(fù)雜類型。關(guān)于數(shù)據(jù)類型,下面會詳細說明。參數(shù)Variablename表示變量名稱,需要符合標識符的命名規(guī)范。參數(shù)=為賦值運算符,這里用于初始化,運算符的概念后續(xù)章節(jié)會詳細說明。參數(shù)initialvalue表示初始化值。,2.4.2 變量的作用域,變量的作用域規(guī)定了變量能被使用的范圍,只有在作用域范圍內(nèi),變量才能夠被調(diào)用。作用域在變量聲明時即被指定。根據(jù)作用域的不同,變量可以分為不同的類型:類變量、局部變量、方法參數(shù)變量、異常處理參數(shù)變量。下面分別對這幾類變量進行詳細介紹。 1類變量 2局部變量 3方法參數(shù)變量 4異常處理參數(shù)變量,2.4.3 定義常量,常量可以說是一種特殊的變量,一旦初始化以后,不能再對其進行賦值。也就是說,常量在初始化后,其值不再改變,只能進行訪問。定義常量的語法如下所示。 final type Constantname = initialvalue; 其中,參數(shù)final為關(guān)鍵字,代表不可更改。參數(shù)type表示常量的類型。參數(shù)Constantname表示常量名稱,可以任意取,不過需要符合標識符的命名規(guī)范。參數(shù)=為賦值運算符,這里用于初始化,運算符的概念后續(xù)章節(jié)會詳細說明。參數(shù)initialvalue表示初始化值。,2.5 本章實例,本章主要講解了簡單數(shù)據(jù)類型及各種運輸符與表達式,還有變量與常量的定義。下面給出一個較完整的實例,進一步加深掌握本章內(nèi)容。 1編寫程序 2程序說明 3執(zhí)行結(jié)果,2.8 小結(jié),本章首先介紹了Java語言中標識符與關(guān)鍵字、變量與常量的知識。然后重點討論了各種基本數(shù)據(jù)類型,又討論了各種運算符及相應(yīng)表達式,最后給出了一個完整的實例。其中,變量的作用域是本章的難點,需要在編程過程中多加體會。下一章將以本章為基礎(chǔ),講解有關(guān)程序流程控制方面的內(nèi)容。,2.9 本章習題,1舉例說明什么是非法的標識符 2定義兩種不同數(shù)據(jù)類型的變量,完成它們之間的類型轉(zhuǎn)換 3二元運算符都有哪些?一元運算符又有哪些? 4定義一個公式,能夠根據(jù)攝氏溫度計算出華氏溫度。已知,華氏溫度轉(zhuǎn)化為攝氏溫度的計算公式為:C = (F - 32) * 5/9。其中,C代表攝氏溫度,F(xiàn)代表華氏溫度。,第3章 流程控制,為了解決現(xiàn)實問題,程序的執(zhí)行流程應(yīng)該是多種多樣的。流程應(yīng)該既可以自上而下的順序執(zhí)行,又應(yīng)該能夠遇到某些條件進行跳轉(zhuǎn),還應(yīng)該能夠?qū)δ承┎僮髦貜?fù)執(zhí)行。為了控制程序的執(zhí)行流程,需要使用流程控制語句。流程控制主要包括順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)以及跳轉(zhuǎn)語句,本章針對這些基礎(chǔ)知識逐一詳細介紹。本章包括以下知識點。 順序結(jié)構(gòu); 選擇結(jié)構(gòu); 循環(huán)結(jié)構(gòu); 跳轉(zhuǎn)語句; 注釋語句。,3.1 順序結(jié)構(gòu),順序結(jié)構(gòu)是程序中最常見的流程結(jié)構(gòu),語句按照出現(xiàn)的先后順序自上而下執(zhí)行。順序語句執(zhí)行的過程中沒有跳轉(zhuǎn)和判斷,直到程序執(zhí)行結(jié)束為止。,3.2 選擇結(jié)構(gòu),選擇結(jié)構(gòu)也稱為分支結(jié)構(gòu),根據(jù)一個判斷表達式的結(jié)果選擇不同的分支語句執(zhí)行。選擇結(jié)構(gòu)提供了程序跳轉(zhuǎn)機制,根據(jù)選擇的結(jié)果,有些語句可能被跳轉(zhuǎn)過去不被執(zhí)行。選擇結(jié)構(gòu)主要包含兩種語句,if語句和switch語句,下面分別進行介紹。,3.2.1 if語句,If語句是最經(jīng)常使用的選擇結(jié)構(gòu)。它包含兩個分支,根據(jù)指定布爾類型表達式的結(jié)果true或false,選擇不同的分支執(zhí)行。If語句根據(jù)復(fù)雜程度,可以具有多種形式,如if、if-else、if-else-if。下面分別進行介紹。 1if形式 2if-else形式 3if-else-if形式,3.2.2 switch語句,switch語句屬于多分支結(jié)構(gòu),通??梢蕴娲鷱?fù)雜的if-else-if形式的語句。switch語句根據(jù)表示的值選擇一個分支來執(zhí)行,表達式的結(jié)果類型只能為byte、short、int或char型。switch語句的語法格式如下所示。 switch (表達式) case value1: /處理語句1 break; case value2: /處理語句2 break; case value3: /處理語句3 break; default: /處理語句n ,3.3 循環(huán)結(jié)構(gòu),要重復(fù)執(zhí)行一段代碼,需要使用循環(huán)結(jié)構(gòu)。循環(huán)結(jié)構(gòu)可以重復(fù)執(zhí)行指定的處理語句,直到不再滿足循環(huán)條件為止。循環(huán)結(jié)構(gòu)主要有for和while兩種循環(huán)語句,下面分別進行介紹。,3.3.1 for循環(huán)語句,for語句通常用于重復(fù)次數(shù)確定的循環(huán)。for循環(huán)的語法格式如下所示。 for (初始化;循環(huán)條件;迭代部分) 循環(huán)體 其中,參數(shù)for為關(guān)鍵字。參數(shù)“初始化”表示循環(huán)的初始化語句,只在循環(huán)開始前執(zhí)行一次,通常用于迭代變量的定義。參數(shù)“循環(huán)條件”為布爾類型表達式,結(jié)果為true時執(zhí)行循環(huán)體,結(jié)果為false時結(jié)束循環(huán)體。參數(shù)“迭代部分”在循環(huán)體執(zhí)行完畢時執(zhí)行。執(zhí)行完迭代部分,再次判斷循環(huán)條件,如此反復(fù)執(zhí)行,直到循環(huán)條件不再滿足。,3.3.2 while循環(huán)語句,while語句通常用于重復(fù)次數(shù)不確定的循環(huán)。該語句包含兩種形式,while形式和dowhile形式。下面分別進行介紹。 1while形式 2dowhile形式,3.3.3 多重循環(huán),各種循環(huán)語句可以嵌套使用,從而構(gòu)成更加復(fù)雜的多重循環(huán)。比如for語句中還有for語句,while語句中還有while語句,for語句中包含while語句等。,3.4 跳轉(zhuǎn)語句,要進行流程跳轉(zhuǎn),需要使用跳轉(zhuǎn)語句。Java語言包括三種跳轉(zhuǎn)語句,分別是break、continue、return,下面分別進行介紹。,3.4.1 break語句,在switch語句中,break語句用于結(jié)束switch語句的執(zhí)行。這在上面switch章節(jié)已經(jīng)介紹,在此不再贅述。在循環(huán)結(jié)構(gòu)中,break用于強行終止循環(huán)。,3.4.2 continue語句,continue語句用于循環(huán)結(jié)構(gòu)中,作用是跳過本次循環(huán),執(zhí)行下一次迭代。,3.4.3 return語句,return語句用于終止當前方法運行,返回到調(diào)用該方法的語句處。如果方法需要有返回值,return語句后就應(yīng)該提供相應(yīng)返回值。有關(guān)方法的概念,在后續(xù)章節(jié)中會詳細介紹。,3.5 注釋語句,在介紹了Java語言的流程控制語句之后,現(xiàn)在來介紹一下Java程序中注釋的使用。在Java程序的任意位置都可以加入注釋語句,Java編譯器會忽略這些注釋語句。Java語言主要包括單行和多行兩種注釋,下面分別進行介紹。,3.5.1 單行注釋,在Java程序中使用“/”符號來進行單行注釋。從“/”符號開始,到本行結(jié)束的所有字符均被編譯器作為注釋而忽略。,3.5.2 多行注釋,多行注釋的方法是以“/*”符號為開頭,以“*/”為結(jié)尾,中間為注釋的內(nèi)容。注釋的內(nèi)容沒有數(shù)量限制,可以為任意多行數(shù)目,當然也可以是單行。,3.6 本章實例,意大利著名數(shù)學家列奧納多斐波納契曾經(jīng)在其著作算法之書中提出了“著名的兔子問題”:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數(shù)為多少? 答案是一組非常特殊的數(shù)字,即:1、1、2、3、5、8、13、21、34以上這些數(shù)字就是著名的“斐波納契數(shù)列”。 1編寫程序 2程序說明 3執(zhí)行結(jié)果,3.7 上機實踐,1編寫程序,實現(xiàn)求解以下分段函數(shù): y= 2編寫程序,用*號打印出金字塔圖形,3.8 小結(jié),本章介紹了Java語言中的各種流程控制語句,包括選擇結(jié)構(gòu)的if/switch語句,循環(huán)結(jié)構(gòu)的for/while語句及程序跳轉(zhuǎn)語句break、continue、return。另外還介紹了注釋語句的使用方法。本章最后給出了一個完整的實例。其中各種控制語句的綜合運用是本章的難點。在編寫程序解決現(xiàn)實問題時,常常需要綜合運用各種流程控制語句,從而實現(xiàn)較復(fù)雜的處理邏輯。在掌握了基本語法后,讀者應(yīng)該多學習一些相關(guān)的算法知識,從而能夠解決更加復(fù)雜地問題。下一章將介紹Java語言面向?qū)ο缶幊讨蓄惡蛯ο蟮南嚓P(guān)知識。,3.9 本章習題,1. 某市不同車牌的出租車3km的起步價和計費分別為:夏利5元,3km以外2.1元/km;富康8元,3km以外2.4元/km;桑塔納10元,3km以外2.7元/km。分別用if語句和switch語句編程實現(xiàn):根據(jù)乘車的車型及行車公里數(shù)輸出應(yīng)付車資。 2. 用循環(huán)實現(xiàn)求100的階乘。 3. break語句和continue語句的區(qū)別是什么?,第4章 類與對象,類與對象是進行面向?qū)ο缶幊痰幕A(chǔ)。類是具有相同屬性特征和行為規(guī)則的多個對象的一種統(tǒng)一描述,對象是對類的實例化。在Java語言中,類是一種最基本的復(fù)合數(shù)據(jù)類型,是組成Java程序的基本要素。下面詳細介紹Java語言中有關(guān)類與對象的定義方法。本章包括以下知識點。 類的創(chuàng)建; 創(chuàng)建類的成員及方法; 關(guān)鍵字this; 對象的創(chuàng)建、使用及清除。,4.1 創(chuàng)建類,面向?qū)ο蟮木幊虖膭?chuàng)建類開始。創(chuàng)建了類,才談得上封裝、繼承、多態(tài),才能實例化生成對象。類的整體結(jié)構(gòu)主要包括聲明和類成員兩大部分。本節(jié)詳細介紹如何聲明類及類成員的訪問控制。,4.1.1 聲明類,要使用一個類,必須先聲明類。聲明類就是創(chuàng)建一種新的數(shù)據(jù)類型,利用聲明的類可以定義類實例,也就得到了一個對象。聲明類的語法如下所示。 public abstract | final class extends implements /類主體 其中,參數(shù)public、abstract、final表示類修飾符是可選項,下面會詳細說明。參數(shù)class是關(guān)鍵字。參數(shù)Classname表示類名。參數(shù)extends Classname表示繼承自其他類。參數(shù)implements Interface表示實現(xiàn)了某些接口。繼承和接口方面在后續(xù)章節(jié)會詳細介紹。,4.1.2 類成員的訪問控制,對于類的成員,不管是成員變量還是成員方法,都有一定的訪問控制權(quán)限。訪問控制權(quán)限限定了指定對象可以被訪問的范圍。類成員的訪問控制符有public、private、protected和default。 public:用public修飾的成分表示是公有的,也就是它可以被其他任何對象訪問(前提是對類成員所在的類有訪問權(quán)限)。 private:類中限定為private的成員只能被這個類本身訪問,在類外不可見。 protected:用該關(guān)鍵字修飾的成分是受保護的,只可以被同一類及其子類的實例對象訪問。 default:public、private、protected這三個限定符不是必須寫的。如果不寫則表明是default,相應(yīng)的成分可以被所在的包中各類訪問。,4.2 創(chuàng)建類的成員,類的成員變量定義了類的屬性。所定義的成員變量,可以被類內(nèi)的所有方法訪問。比如,如果把電視機看作一個類,則電視機的顏色就是這個類的一個成員變量。該變量用來描述電視機的顏色。聲明成員變量的語法如下所示。 public | protected | private static final transient volatile type variableName; 其中,參數(shù)public、private、protected表示成員變量的訪問權(quán)限。參數(shù)static表示限定該成員變量為類變量。參數(shù)final表示聲明為常量。參數(shù)transient表示聲明為暫時性變量。參數(shù)volatile表示聲明一個共享變量。參數(shù)type表示變量的類型。參數(shù)variableName表示變量名稱。,4.3 創(chuàng)建類的方法,除了成員變量,方法也是類的重要成員。成員方法描述了對象所具有的功能或操作,反映對象的行為,是具有某種相對獨立功能的程序模塊。本節(jié)詳細介紹如何創(chuàng)建類的方法以及類的特殊方法,即構(gòu)造方法和main()方法。,4.3.1 定義類的成員方法,成員方法描述對象所具有的功能或操作,反映對象的行為,是具有某種相對獨立功能的程序模塊。它與過去所說的子程序、函數(shù)等概念相當。一個類或?qū)ο罂梢杂卸鄠€成員方法,對象通過執(zhí)行它的成員方法對傳來的消息作出響應(yīng),完成特定的功能。成員方法一旦被定義,便可在不同的程序段中多次調(diào)用,故可增強程序結(jié)構(gòu)的清晰度,提高編程效率。 1成員方法的返回值 2形式參數(shù)與實際參數(shù) 3方法體中的局部變量,4.3.2 構(gòu)造方法,Java中的每個類都有構(gòu)造方法,它是類的一種特殊的方法。構(gòu)造方法用來初始化類的一個新的對象。它必須具有和類名相同的名稱,而且不指出返回類型,它的默認返回類型就是對象類型本身。每個類可以具有多個構(gòu)造方法,它們各自包含不同的方法參數(shù)。構(gòu)造方法的語法如下所示。 public abstract|final class extends implements Classname(paramList); /定義構(gòu)造方法 Classname(paramList); /定義其他構(gòu)造方法 /類主體 其中,類聲明部分的參數(shù)在前面已經(jīng)介紹。最大的特點是存在一到多個與類同名的方法,這些方法就是構(gòu)造方法。,4.3.3 main()方法,main()方法是Java程序執(zhí)行的入口。作為application執(zhí)行的Java程序,有且只能有一個類具有main()方法。main()方法定義的語法如下所示。 public static void main(String args) /方法體 其中,訪問控制權(quán)限是公有的(public),并且是類的靜態(tài)成員方法(static),沒有返回值(void)。這些特性對main()方法來說是指定的且不能改變的。main()方法具有一個字符串數(shù)組參數(shù),用來接收執(zhí)行Java程序時的命令行參數(shù)。命令行參數(shù)作為字符串,按照順序依次對應(yīng)字符串數(shù)組中的元素。,4.3.4 方法的可變參數(shù),以上幾節(jié)介紹了類中方法的創(chuàng)建。在具體實際開發(fā)過程中,有時方法中參數(shù)的個數(shù)是不確定的。為了解決這個問題,在J2SE 5.0 版本中引入了可變參數(shù)的概念。聲明可變參數(shù)的語法格式如下所示。 methodName (paramList,paramTypeparamName) 其中,參數(shù)methodName表示方法名稱。參數(shù)paramList表示方法的固定參數(shù)列表。參數(shù)paramType表示可變參數(shù)的類型。參數(shù)是聲明可變參數(shù)的標識。參數(shù)paramName表示可變參數(shù)名稱??勺儏?shù)必須定義在參數(shù)列表的最后。,4.4 關(guān)鍵字this,在示例4-4中,出現(xiàn)了Java關(guān)鍵字this。this是Java語言中一個特殊的關(guān)鍵字,用來代表當前對象。關(guān)鍵字this是與對象密切相關(guān)的,在容易混淆的地方使用this會使程序設(shè)計變得規(guī)范、簡單、靈活。,4.5 對象,對象是對類的實例化。對象具有狀態(tài)和行為,變量用來表明對象的狀態(tài),方法表明對象所具有的行為。Java對象的生命周期包括創(chuàng)建、使用和清除。本節(jié)詳細介紹對象的整個聲明周期過程。,4.5.1 對象的創(chuàng)建,要使用一個對象,首先要創(chuàng)建它。通常創(chuàng)建對象的語法如下所示。 type objectNmae = new type(paramList); 其中,參數(shù)type表示對象的類型。參數(shù)objectName表示對象的名稱。參數(shù)new為Java的關(guān)鍵字,下面會詳細介紹。參數(shù)type(paramList)是對類型type構(gòu)造方法的調(diào)用。,4.5.2 對象的使用,對象定義好了之后,才可以使用對象。對象的使用即是調(diào)用對象的變量或方法。使用對象的語法如下所示。 objectNmae.memberVariableName /調(diào)用對象的變量 objectNmae.memberMethodName /調(diào)用對象的方法 其中,參數(shù)objectNmae表示對象的名稱。參數(shù)memberVariableName表示對象的成員變量名稱。參數(shù)memberMethodName表示對象的成員方法名稱。,4.5.3 對象的清除,對象使用完之后需要進行對象的清除。對象的清除是指釋放對象占用的內(nèi)存。在創(chuàng)建對象時,用戶必須使用new操作符為對象分配內(nèi)存。不過,在清除對象時,由系統(tǒng)自動進行內(nèi)存回收,不需要用戶額外處理。這也是Java語言的一大特色,某種程度上方便了程序員對內(nèi)存的管理。 Java語言的內(nèi)存自動回收稱為垃圾回收(Garbage Collection)機制,簡稱GC。垃圾回收機制是指JVM用于釋放那些不再使用的對象所占用的內(nèi)存。Java語言并不要求JVM有GC,也沒有規(guī)定GC如何工作。不過常用的JVM都有GC,而且大多數(shù)GC都使用類似的算法管理內(nèi)存和執(zhí)行收集操作。具體的垃圾收集實現(xiàn)策略有好多種,在此不再詳細贅述。,4.6 本章實例,在開發(fā)某圖書管理系統(tǒng)時,其中有三個類,即圖書類Book、圖書類別類BookType和圖書管理類BookManager。圖書類Book用于管理圖書本身的相關(guān)信息,包括編號、書名、作者、出版社等;圖書類別類BookType用于表示圖書分類,包括類別編號、類別名稱等;圖書管理類BookManager用于管理所有圖書,主要是針對數(shù)據(jù)庫進行操作,包括增加、刪除、修改等。下面是這幾個類的類圖及源代碼。,4.7 上機實踐,1編寫程序,創(chuàng)建一個汽車類(Car)。該類包含顏色和型號屬性,并為其創(chuàng)建兩個構(gòu)造函數(shù): 第一個為無形參的構(gòu)造函數(shù),其過程是將顏色和型號初始化為紅色轎車。 第二個須定義兩個形參,并將形參的值分別賦給顏色和型號。 另外,為該類創(chuàng)建兩個方法,分別用來獲得顏色和型號。在該類中定義一個main()方法,分別用上面的兩個構(gòu)造函數(shù)創(chuàng)建兩個對象,并顯示相關(guān)對象的各個屬性。 汽車類(Car)類圖如圖4-8所示。,4.8 小結(jié),本章介紹了Java語言面向?qū)ο缶幊讨杏嘘P(guān)類與對象的相關(guān)知識。主要包括類及成員變量、成員方法的創(chuàng)建,以及對象的創(chuàng)建、使用、清除等方面的知識。本章最后給出了一個完整的實例。其中類的成員變量、成員方法的定義和使用是本章的難點。在實際編程過程中,應(yīng)該多通過具體實例加深理解。下一章徊繳釗虢檣Java語言面向?qū)ο缶幊谭矫娴闹R,包括類的繼承、封裝、多態(tài)以及接口和包等。,4.9 本章習題,1定義一個類,包含成員變量、構(gòu)造方法、成員方法。 2構(gòu)造方法與成員方法有哪些不同? 3類和對象之間是什么關(guān)系,用具體實例說明如何創(chuàng)建一個類的對象。,第5章 深入面向?qū)ο缶幊?除了基本的類和對象,Java語言的面向?qū)ο缶幊踢€包括抽象類、接口、內(nèi)部類、包等高級特性。通過對這些高級特性的支持,Java語言全面實現(xiàn)了面向?qū)ο蟮木幊?。下面進一步深入介紹Java語言面向?qū)ο缶幊谭矫娴闹R。本章包括以下知識點。 類的封裝、繼承、多態(tài); 抽象類與接口; 內(nèi)部類及匿名內(nèi)部類; 包的創(chuàng)建及使用。,5.1 類的封裝、繼承與多態(tài),上一章介紹了有關(guān)類定義的基本知識。面向?qū)ο笾械念愡€具有封裝、繼承與多態(tài)的特性,這也是面向?qū)ο缶幊趟哂械闹匾攸c。Java語言對類的封裝、繼承、多態(tài)均有很好的體現(xiàn),下面分別進行介紹。,5.1.1 封裝,封裝是指隱藏對象的屬性及實現(xiàn)細節(jié),對外僅提供接口可見。封裝實現(xiàn)了信息隱藏,有利于軟件復(fù)用。這種技術(shù)帶來的好處是達到了模塊化的標準,從而提高了代碼的復(fù)用程度。在某種程度上,封裝也大大改善了軟件開發(fā)的可維護性,降低了構(gòu)建復(fù)雜軟件系統(tǒng)的風險。 在Java語言中,對象的屬性和方法均可以進行訪問控制。使用前面介紹的訪問控制修飾符public、private、protected、default,可以實現(xiàn)不同程度的信息封裝。下面通過一個具體的示例來介紹Java語言中封裝的實現(xiàn)。,5.1.2 繼承,繼承是指一個類是從另一個類派生而來,派生類自動具有了被繼承類的所有特性。其中被繼承的類稱為“父類”,繼承父類的類稱為“子類”。繼承可以使子類具有父類的各種屬性和方法,而不需要再次編寫相同的代碼。繼承也極大地促進了軟件的復(fù)用,而且繼承的形式可以更加復(fù)雜。Java語言中類繼承的語法格式如下所示。 class ClassName extends SuperClassName /類體 其中,參數(shù)class是關(guān)鍵字。參數(shù)Classname表示類名,可以由用戶任意定義,但需要符合Java標識符的命名規(guī)范。參數(shù)extends是關(guān)鍵字,表示該類繼承自其他類。參數(shù)SuperClassName表示被繼承的父類的名字,可以由用戶任意定義,但需要符合Java標識符的命名規(guī)范。,5.1.3 多態(tài),多態(tài)是指對于一種服務(wù)功能,可以具有不同的實現(xiàn)方式,即多種形態(tài)。多態(tài)形象的描述了現(xiàn)實世界的復(fù)雜形態(tài),使程序具有良好的擴展性。在繼承的基礎(chǔ)上,方法重載是實現(xiàn)多態(tài)的方式之一。,5.2 抽象類與接口,抽象類是Java語言中一種特殊的類,其中包含只進行了聲明沒有具體實現(xiàn)的抽象方法。而接口更像是一種特殊的抽象類,其中所有方法都只進行了聲明沒有具體實現(xiàn)。抽象類和接口有著相似之處,不過也有許多區(qū)別。下面分別對它們進行詳細地介紹。,5.2.1 抽象類,抽象類是指包含了抽象方法的類。其中,抽象方法是一種只聲明了方法名稱,而沒有指明方法體的方法。當需要表示對問題域進行分析、設(shè)計中得出的抽象概念時需要使用抽象類。抽象類比類的繼承更高一層,是對類的抽象。抽象類擁有未實現(xiàn)的方法,不能被實例化,只能被繼承擴展。Java語言中通常抽象類的語法格式如下所示。 abstract class ClassName abstract ReturnType abstractMethodName(paramList); /其他類成員 其中,參數(shù)abstract是關(guān)鍵字,表示此類為抽象類。參數(shù)class是關(guān)鍵字。參數(shù)Classname表示類名,可以由用戶任意定義,但需要符合Java標識符的命名規(guī)范。類體中至少包含一個抽象方法。其中,參數(shù)abstract是關(guān)鍵字,表示此方法為抽象方法。參數(shù)ReturnType表示抽象方法的返回類型,為合法的Java數(shù)據(jù)類型。參數(shù)abstractMethodName表示抽象方法的名子,可以由用戶任意定義,但需要符合Java標識符的命名規(guī)范。參數(shù)paramList表示抽象方法的參數(shù)列表。,5.2.2 接口,接口是面向?qū)ο缶幊讨杏忠恢匾拍?。在實際問題中,有些互不相關(guān)的類具有某種相同的行為,這時可以采用接口來定義這種相同的行為。接口只定義提供什么功能,而不定義功能的具體實現(xiàn),這一點與抽象類有些類似。在Java語言中,不提供類的多繼承,一個子類只能繼承自一個父類。為了解決多繼承的問題,在Java中可以采用接口來實現(xiàn)。一個類雖然不能同時繼承多個類,卻可以同時實現(xiàn)多個接口,從而可以解決現(xiàn)實中的多繼承問題。有關(guān)接口的知識包括接口定義、接口實現(xiàn),下面分別進行介紹。 1接口定義 2實現(xiàn)接口,5.3 內(nèi)部類,內(nèi)部類指的是在類的內(nèi)部嵌套定義的類。內(nèi)部類本身的結(jié)構(gòu)同普通類沒什么不同,只不過定義的位置是在另一個類的內(nèi)部。定義的內(nèi)部類同樣可以在被外部引用。內(nèi)部類可以只定義類體,沒有名稱,這就是匿名內(nèi)部類。關(guān)于內(nèi)部類的這些知識下面分別進行介紹。,5.3.1 內(nèi)部類,根據(jù)內(nèi)部類的概念,內(nèi)部類定義的位置是在類的內(nèi)部。在一個類的任意代碼塊內(nèi),均可以進行內(nèi)部類的定義。如可以直接作為類成員定義,可以定義在類的成員方法內(nèi)、循環(huán)體內(nèi)等。,5.3.2 匿名內(nèi)部類,匿名內(nèi)部類是一種沒有類名的特殊內(nèi)部類。就像僅使用一次的變量可以不定義名稱一樣,匿名內(nèi)部類也是用作定義僅使用一次的類。匿名內(nèi)部類通常具有特殊的用途,也能使程序顯得更加簡潔。,5.4 包,在面向?qū)ο缶幊讨?,包是Java語言所特有的概念。包用來將相關(guān)的一組類組織在一起進行管理,類似操作系統(tǒng)中的文件管理。包在外在形式上就是操作系統(tǒng)中的文件夾,包的內(nèi)容就是類文件。不同的包可以包含同名的類,包機制有效解決了命名沖突問題。有關(guān)包的知識包括創(chuàng)建包和使用包,下面分別進行介紹。,5.4.1 創(chuàng)建包,在使用包之前,首先需要創(chuàng)建包。創(chuàng)建包的語法格式如下所示。 package PackageName; 其中,參數(shù)package是關(guān)鍵字表示包。參數(shù)PackageName表示包名,可以由用戶任意定義,但需要符合Java標識符的命名規(guī)范。,5.4.2 使用包,創(chuàng)建了包之后,經(jīng)常需要使用不同包中的類。使用不同包中的類主要具有兩種形式:包名加類名形式、import導(dǎo)入形式。另外,在J2SE 5.0版本之后,還提供了靜態(tài)導(dǎo)入功能。對這些內(nèi)容,下面分別進行介紹。 1包名加類名 2import導(dǎo)入 3靜態(tài)導(dǎo)入,5.5 本章實例,下面的實例采用面向?qū)ο蟮姆椒ㄔO(shè)計一個簡單的學生管理系統(tǒng)。某高校在校的學生主要包括成人教育生、本科生、研究生這三類。每年新入學的學生要進行注冊,畢業(yè)的學生要予以注銷,三類學生注冊、注銷的方式可能略有不同。 經(jīng)過對系統(tǒng)進行需求分析,識別出系統(tǒng)中主要包括成人教育學生類、本科生類、研究生類,另外還要包括學生管理類。由于本章實例主要為鞏固面向?qū)ο蠓矫娴闹R,所以系統(tǒng)中涉及到的對象持久化方面的內(nèi)容這里進行省略。對系統(tǒng)進行面向?qū)ο笤O(shè)計,該系統(tǒng)主要包括如下兩個包: (1)entity包:用于包含實體類。 (2)business包:用于業(yè)務(wù)操作,這里只定義了一個StudentManager類。,5.6 上機實踐,1編寫程序,定義一個汽車類。它有兩個子類,一個是卡車類,一個是轎車類。 2編寫程序,首先定義一個接口,在接口中聲明計算面積的功能方法。然后定義兩個類,一個為正方形類,一個為三角形類,分別實現(xiàn)接口中定義的計算面積方法。,5.8 小結(jié),本章進一步深入地介紹了Java語言中面向?qū)ο缶幊痰南嚓P(guān)知識,包括類的封裝、繼承、多態(tài)以及抽象類、接口、內(nèi)部類、包等。本章最后給出了一個完整的實例。其中抽象類與接口的具體運用是本章的難點。抽象類與接口是面向?qū)ο缶幊讨懈映橄蟮母拍?,要想能真正發(fā)揮它們的特點需要多結(jié)合具體需求反復(fù)實踐。下一章將介紹Java語言中復(fù)合數(shù)據(jù)類型相關(guān)的內(nèi)容,如數(shù)組、字符串、集合等。,5.9 本章習題,1舉例說明如何實現(xiàn)類的繼承與擴展。 2抽象類與接口都有哪些區(qū)別? 3包有什么作用?,第6章 復(fù)合數(shù)據(jù)類型,除了簡單數(shù)據(jù)類型外,Java語言還定義了許多復(fù)合數(shù)據(jù)類型,如數(shù)組、字符串、集合等。這些復(fù)合數(shù)據(jù)類型都是以類的形式進行定義的,包含許多屬性和方法。綜合使用簡單數(shù)據(jù)類型和這些復(fù)合數(shù)據(jù)類型,可以處理實際需求中遇到的各種數(shù)據(jù)形式,能夠編寫更加復(fù)雜的程序。另外,自J2SE 5.0版本以來,Java語言又增加了許多新的特性,如增加的for循環(huán)、泛型、枚舉等。本章包括以下知識點。 數(shù)組的定義、使用; 字符串的各種操作; 集合的各種知識; 增強的for循環(huán)及泛型、枚舉、自動裝箱與拆箱。,6.1 數(shù)組,數(shù)組是Java語言中的一種復(fù)合數(shù)據(jù)類型,是具有相同數(shù)據(jù)類型的數(shù)據(jù)集合。數(shù)組中的每個數(shù)據(jù)稱為數(shù)組元素,數(shù)組元素是有序的。關(guān)于數(shù)組的知識主要包括數(shù)組的定義、創(chuàng)建數(shù)組、數(shù)組的使用及多維數(shù)組,下面分別進行介紹。,6.1.1 數(shù)組的定義,要使用數(shù)組,首先需要定義數(shù)組。定義數(shù)組的語法格式有兩種,如下所示。 datatype arrayName; 或: datatype arrayName; 其中,參數(shù)datatype表示數(shù)據(jù)類型,可以是Java語言中的各種數(shù)據(jù)類型。參數(shù)arrayName表示數(shù)組名稱,可以由用戶任意定義,但需要符合Java標識符的命名規(guī)范。參數(shù)表示聲明的為數(shù)組類型,可以放在數(shù)據(jù)類型后或數(shù)組名稱后。,6.1.2 創(chuàng)建數(shù)組,要想數(shù)組能被真正使用,只定義數(shù)組是不夠的,還需要為數(shù)組分配內(nèi)存空間完成和初始化。下面分別進行介紹。 1創(chuàng)建數(shù)組 2數(shù)組初始化,6.1.3 數(shù)組的使用,數(shù)組創(chuàng)建完成后即可使用數(shù)組。數(shù)組的使用最普遍的就是訪問數(shù)組的元素。訪問數(shù)組元素的語法格式如下所示。 arrayNamesubscript 其中,參數(shù)arrayName表示數(shù)組名稱,可以由用戶任意定義,但需要符合Java標識符的命名規(guī)范。參數(shù)subscript表示數(shù)組下標,下標從0開始,到數(shù)組長度減1結(jié)束。另外,可以通過數(shù)組的length屬性訪問數(shù)組的長度。關(guān)于屬性的概念后續(xù)章節(jié)會詳細說明。,6.1.4 多維數(shù)組,由于數(shù)組的數(shù)據(jù)類型可以是各種Java數(shù)據(jù)類型,當然也包括數(shù)組。這種數(shù)組類型的數(shù)組就構(gòu)成了多維數(shù)組。比如二維數(shù)組是一個數(shù)組元素為數(shù)組的一維數(shù)組。如此遞歸,可以形成更多維數(shù)組。下面以二維數(shù)組為例進行講解,多維的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論