第1章_java概述、語法_第1頁
第1章_java概述、語法_第2頁
第1章_java概述、語法_第3頁
第1章_java概述、語法_第4頁
第1章_java概述、語法_第5頁
已閱讀5頁,還剩52頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、課程內容課程內容Java 語言概述語言概述類與對象類與對象繼承與接口繼承與接口內部類與異常類內部類與異常類輸入輸出流輸入輸出流 多線程機制多線程機制常用實用類常用實用類圖形用戶界面程序設計圖形用戶界面程序設計JDBC連接數據庫連接數據庫Java網網 絡絡 編編 程程課堂教學:課堂教學:48學時(學時(5-16)實驗:實驗:16學時(學時( 6,8-11,13-15 )微信公眾平臺:微信公眾平臺:教學安排及考核方式教學安排及考核方式特殊情況?特殊情況?筆試筆試+ +機試機試總成績總成績 = = 考試成績考試成績* *0.7+0.7+實習成績實習成績* *0.2+0.2+考勤考勤* *0.10.1

2、Java誕生誕生Java的發展歷程的發展歷程Java的特點的特點安裝安裝JDK簡單的簡單的Java應用程序應用程序聯合編譯聯合編譯注釋注釋編程風格編程風格開發工具開發工具Eclipse本次內容本次內容基本類型基本類型輸入輸出數據方式輸入輸出數據方式數組數組Java語言概述語言概述 JavaJava具有面向對象、與平臺無關、安全、具有面向對象、與平臺無關、安全、穩定和多線程等優良特性,是目前軟件穩定和多線程等優良特性,是目前軟件設計中優秀的編程語言設計中優秀的編程語言. .JavaJava不僅可以用來開發大型應用程序,不僅可以用來開發大型應用程序,而且特別適合于而且特別適合于InternetIn

3、ternet的應用開發的應用開發. .JavaJava具備了具備了“一旦寫成處處可用一旦寫成處處可用”的特點的特點. .JavaJava已成為網絡時代最重要的語言之一已成為網絡時代最重要的語言之一. . 1.1 Java的誕生的誕生 源于對獨立于平臺語言的需要,希源于對獨立于平臺語言的需要,希望這種語言能編寫出嵌入各種家用望這種語言能編寫出嵌入各種家用電器等設備的芯片上,且易于維護電器等設備的芯片上,且易于維護的程序。的程序。Java 語言的出現語言的出現 James GoslingJames Gosling核心人物核心人物 19951995年年6 6月月生日生日1.1 Java的發展歷程的發

4、展歷程SunSun:Stanford University NetworkStanford University Network19821982年年2 2月成立月成立19951995年誕生年誕生 Java 1.0Java 1.0(JDK1.0JDK1.0)19981998年年 JDK1.2 JDK1.2 使用使用Java 2Java 220052005年年 JavaJava十周年大會上,正式改名為十周年大會上,正式改名為JAVA EEJAVA EE,JAVA SEJAVA SE, JAVA MEJAVA ME1.2 Java 的特點的特點 JavaJava是目前使用最為廣泛的網絡編程語言之是目

5、前使用最為廣泛的網絡編程語言之一,它具有以下特點一,它具有以下特點: : 1簡單簡單2面向面向對象對象平臺平臺無關無關 3多線程多線程4安全安全5動態動態61.2.1 簡單簡單JavaJava語言的語法規則和語言的語法規則和C+C+類似。常用的類似。常用的循環語句,控制語句,幾乎相同。循環語句,控制語句,幾乎相同。JavaJava語言對語言對C+C+進行了簡化和提高。例如,進行了簡化和提高。例如,指針和多重繼承通常使程序變得復雜,指針和多重繼承通常使程序變得復雜,JavaJava用接口取代了多重繼承,并取消了用接口取代了多重繼承,并取消了指針。指針。JavaJava語言還通過實現自動垃圾收集大

6、大語言還通過實現自動垃圾收集大大簡化了程序設計人員的內存管理工作。簡化了程序設計人員的內存管理工作。1.2.2 面向對象面向對象JavaJava語言以面向對象為基礎。語言以面向對象為基礎。JavaJava語言中,不能在類外面定義單獨的語言中,不能在類外面定義單獨的數據和函數,所有對象都要派生于同一數據和函數,所有對象都要派生于同一個基類,并共享它所有功能。個基類,并共享它所有功能。也就是說,也就是說,JavaJava語言最外部的數據類型語言最外部的數據類型是對象,所有的元素都要通過類和對象是對象,所有的元素都要通過類和對象來訪問。來訪問。1.2.3 平臺無關平臺無關JavaJava程序具有與體

7、系結構無關的特性。程序具有與體系結構無關的特性。JavaJava可以在平臺之上再提供一個可以在平臺之上再提供一個JavaJava運運行環境。行環境。這一特征使這一特征使JavaJava程序可以方便地移植到程序可以方便地移植到網絡的不同機器。同時,網絡的不同機器。同時,JavaJava的類庫中的類庫中也實現了針對不同平臺的接口,使這些也實現了針對不同平臺的接口,使這些類庫可以移植。類庫可以移植。1.2.4 多線程多線程多線程機制使應用程序能夠并行執行,多線程機制使應用程序能夠并行執行,而且同步機制保證了對共享數據的正確而且同步機制保證了對共享數據的正確操作。操作。通過使用多線程,程序設計者可以分

8、別通過使用多線程,程序設計者可以分別用不同的線程完成特定的行為,而不需用不同的線程完成特定的行為,而不需要采用全局的事件循環機制,這樣就很要采用全局的事件循環機制,這樣就很容易地實現網絡上的實時交互行為。容易地實現網絡上的實時交互行為。1.2.5 安全安全四個層面:語言級安全性、編譯時安全性、四個層面:語言級安全性、編譯時安全性、運行時安全性、可執行代碼安全性。運行時安全性、可執行代碼安全性。數據結構是完整的對象;數據結構是完整的對象;編譯時進行編譯時進行javajava語言和語義檢查;語言和語義檢查;運行時運行時javajava類需要類加載器載入,并經由字類需要類加載器載入,并經由字節碼校驗

9、器校驗之后才可以運行;節碼校驗器校驗之后才可以運行;在網絡上使用時,對他的權限進行了設計,在網絡上使用時,對他的權限進行了設計,保證了被訪問用戶的安全性。保證了被訪問用戶的安全性。1.2.6 動態動態JavaJava的設計使它適合于一個不斷發展的環境。的設計使它適合于一個不斷發展的環境。在類庫中可以自由地加入新的方法和實例變量在類庫中可以自由地加入新的方法和實例變量而不會影響用戶程序的執行。并且而不會影響用戶程序的執行。并且JavaJava通過接通過接口來支持多重繼承口來支持多重繼承, ,使之比嚴格的類繼承具有使之比嚴格的類繼承具有更靈活的方式和擴展性。自己編寫類,類庫引更靈活的方式和擴展性。

10、自己編寫類,類庫引入的,而類又是運行時動態加載的。入的,而類又是運行時動態加載的。1.3 安裝安裝JDK_三種平臺三種平臺 目前目前JavaJava平臺主要分為下列平臺主要分為下列3 3個版本個版本: : Java SEJava SE,標準版標準版Java EEJava EE,企業版企業版Java MEJava ME,微型版微型版Java Development KitJava開發工具集開發工具集JDK提供標準的提供標準的Java JDK,可以,可以開發開發Java桌面應用程序和低端桌面應用程序和低端的服務器程序的服務器程序可以用來構建企業級的服務可以用來構建企業級的服務應用,包含了應用,包含

11、了Java SE平臺,平臺,并增加了附加類庫,以便支并增加了附加類庫,以便支持目錄管理,交易管理和企持目錄管理,交易管理和企業級消息處理等功能業級消息處理等功能很小的很小的Java運行環境,用于嵌入式的運行環境,用于嵌入式的消費產品中消費產品中掌握掌握Java SEJava SE平臺是進一步學平臺是進一步學習習Java EEJava EE和和Java MEJava ME所必須的。所必須的。1 1 下載下載JDK8.0JDK8.0。 本書將使用針對本書將使用針對WindowWindow操作系統平臺的操作系統平臺的JDKJDK,因此下載,因此下載的版本為的版本為jdk-8u40-windows-x

12、64 jdk-8u40-windows-x64 。2 2 選擇安裝路徑界面選擇安裝路徑界面。為了便于今。為了便于今后設置環境變量,建議修改默認的安裝后設置環境變量,建議修改默認的安裝路徑為:路徑為:C:javajdk1.8C:javajdk1.8。3 3 系統環境系統環境pathpath的設置。的設置。 4 4 系統環境系統環境classpathclasspath的設置。的設置。 1.3 安裝安裝JDK_三種平臺三種平臺 Windows系統執行命系統執行命令時要搜尋的路徑令時要搜尋的路徑Java在編譯和運行時在編譯和運行時要找的要找的class所在的所在的路徑路徑binbin目錄目錄libli

13、b目錄目錄includeinclude目錄目錄demodemo目錄目錄jrejre目錄目錄JDKJDK目錄目錄 結構結構存放包含存放包含編譯器、解釋器編譯器、解釋器等可等可執行文件執行文件存放存放Java的類庫文件的類庫文件存放用于本地方法的文件存放用于本地方法的文件演示代碼演示代碼Java運行時環境的根路徑運行時環境的根路徑samplesample目錄目錄JDK提供的簡單示例代碼提供的簡單示例代碼1.3 安裝安裝JDK_三種平臺三種平臺 將源文件編譯成字節碼 解釋執行平臺無關的字節碼程序Javacjava1.3 安裝安裝JDK_三種平臺三種平臺 配置環境變量配置環境變量(1)(1)配置環境變

14、量配置環境變量(2)(2)演示環境變量的配置單擊右鍵選擇高級選擇路徑添加路徑1.3 安裝安裝JDK_三種平臺三種平臺 1.4 Java程序的開發步驟程序的開發步驟 1 1編寫源文件。擴展名必須是編寫源文件。擴展名必須是.java.java。 2 2編譯編譯JavaJava源程序。使用源程序。使用JavaJava編譯器編譯器(javac.exejavac.exe)編譯源文件,得到字節碼)編譯源文件,得到字節碼文件。文件。 3. 3. 運行運行JavaJava程序。使用程序。使用Java SEJava SE平臺中平臺中的的JavaJava解釋器(解釋器(java.exejava.exe)來解釋執行

15、)來解釋執行字節碼文件。字節碼文件。 1.5 簡單的簡單的Java應用程序應用程序例例1 1 1 1編寫源文件編寫源文件(JavaJava應用程序的源文件是由若干個書寫形式互相獨立的類組應用程序的源文件是由若干個書寫形式互相獨立的類組成)。成)。public class Teacher public static void main (String args) System.out.println(“I am a teacherI am a teacher); Student stu=new Student(); stu.speak(We are students); class Studen

16、t public void speak(String s) System.out.println(s); 源文件源文件命名為命名為Teacher.javaTeacher.java 保存至保存至C:chapter1 。 注:注:良好的編碼習慣良好的編碼習慣 、源文件的命名源文件的命名 規則規則2 2編譯編譯JavaJava源程序源程序。C:chapter1C:chapter1javac Teacher. java javac Teacher. java 3. 3. 運行運行JavaJava程序。程序。 C:chapter1C:chapter1java Teacherjava Teacher 如果

17、源文件有多個類,那么只能有一個如果源文件有多個類,那么只能有一個public類;如果有一個類是類;如果有一個類是public類,類,那么源文件的名字必須與這個類的名字那么源文件的名字必須與這個類的名字完全相同,擴展名是完全相同,擴展名是.java; 如果源文件沒有錯誤,編譯如果源文件沒有錯誤,編譯源文件將生成多個擴展名源文件將生成多個擴展名為為.class的文件,每個擴展的文件,每個擴展名是名是.class的文件中只存放的文件中只存放一個類的字節碼文件,其文一個類的字節碼文件,其文件名與該類的名字相同。這件名與該類的名字相同。這些字節碼文件被存放在與源些字節碼文件被存放在與源文件相同的目錄中文

18、件相同的目錄中Java應用程序總是從主類的應用程序總是從主類的main方法開始執行。方法開始執行。 當當Java應用程序中有多個類時,應用程序中有多個類時,Java命令執行的類名必須是主類的命令執行的類名必須是主類的名字(沒有擴展名)。名字(沒有擴展名)。一個一個Java應用程序的源文件必須有應用程序的源文件必須有一個類含有一個類含有public static void main (String args) 方法,稱這方法,稱這個類為應用程序的主類個類為應用程序的主類1.5 簡單的簡單的Java應用程序應用程序例例2 2 1 1編寫源文件編寫源文件命名為命名為Rect.java 保存至保存至C

19、:chapter1。2 2編譯編譯JavaJava源程序源程序。 C:chapter1C:chapter1javac Rect.javajavac Rect.java 3. 3. 運行運行JavaJava程序。程序。 C:chapter1C:chapter1java Example1_2java Example1_2 1.6 聯合編譯聯合編譯 例例3 31 1編寫源文件編寫源文件。 分別編輯、保存三個分別編輯、保存三個JavaJava 源文件源文件 Ci rcle.javaCi rcle.java 、Rectangle.javaRectangle.java、MainClass.javaMain

20、Class.java至至C:chapter1中中 。其中其中MainClass.javaMainClass.java是含有主類的是含有主類的JavaJava應用程序的源文件。應用程序的源文件。 2 2編譯編譯JavaJava源程序源程序。C:chapter1C:chapter1javac MainClass.java javac MainClass.java 編譯編譯MainClass.javaMainClass.java的過程中,的過程中,JavaJava系統會自動地編譯系統會自動地編譯Circle.javaCircle.java和和Rectangle.javaRectangle.java,

21、這是因為應用程序要使用,這是因為應用程序要使用Circle.javaCircle.java和和Rectangle.javaRectangle.java源文件產生的字節碼文件。編源文件產生的字節碼文件。編譯通過后,譯通過后,C:chapter1C:chapter1目錄中將會有目錄中將會有Cirlce.class Cirlce.class 、Rectangle.classRectangle.class和和MainClass.classMainClass.class三個字節碼文件。三個字節碼文件。 3. 3. 運行運行JavaJava程序。程序。 C:chapter1C:chapter1java j

22、ava MainClassMainClass1.7 注釋注釋 編譯器忽略注釋內容,注釋的目的是有利于代碼的編譯器忽略注釋內容,注釋的目的是有利于代碼的維護和閱讀,因此給代碼增加注釋是一個良好的編程維護和閱讀,因此給代碼增加注釋是一個良好的編程習慣。習慣。JavaJava支持兩種格式的注釋:單行注釋和多行注支持兩種格式的注釋:單行注釋和多行注釋。釋。 單行注釋使用單行注釋使用“/”表示單行注釋的開始,即該表示單行注釋的開始,即該行中從行中從“/”開始的后續內容為注釋。開始的后續內容為注釋。多行注釋使用多行注釋使用“/*”表示多行注釋的開始,以表示多行注釋的開始,以“*/”表示多行注表示多行注釋的

23、結尾,之間的內容均為注釋語句。釋的結尾,之間的內容均為注釋語句。 1.8 編程風格編程風格 1 、Allmans風格風格 AllmansAllmans風格也稱風格也稱“獨行獨行”風格,即左、右大風格,即左、右大括號各自獨占一行。括號各自獨占一行。2 、 Kernighan風格風格KernighanKernighan風格也稱風格也稱“行尾行尾”風格,即左大括風格,即左大括號在上一行的行尾,而右大括號獨占一行號在上一行的行尾,而右大括號獨占一行 。 1.9 JAVAJAVA常用開發工具常用開發工具 文本編輯器:如,記事本,UltrEdit Eclipse JCreator Jbuilder Net

24、Beans 等能夠很快理解程序中各部分代碼之間的關系,能夠很快理解程序中各部分代碼之間的關系,有利于理解有利于理解JavaJava面向對象的設計思想面向對象的設計思想從事大規模企業級從事大規模企業級JavaJava應用開發非常困難,不應用開發非常困難,不能進行復雜的能進行復雜的JavaJava軟件開發,也不利于團體協軟件開發,也不利于團體協同開發同開發 BorlandBorland公司開發公司開發,Java,Java可視化開發環境可視化開發環境. . JBuilderJBuilder環境開發程序方便,支持最新的環境開發程序方便,支持最新的JavaJava技術,它是純的技術,它是純的Java J

25、ava 開發環境,適合企業的開發環境,適合企業的J2EEJ2EE開發開發EclipseEclipse是基于是基于JavaJava的,開放源碼的、可擴展的應的,開放源碼的、可擴展的應用開發平臺,它為編程人員提供了一流的用開發平臺,它為編程人員提供了一流的JavaJava集成集成開發環境開發環境是一個是一個JavaJava集成開發環境(集成開發環境(IDE )IDE ),設計接近,設計接近WindowsWindows界面風格,其最大特點是與機器中所裝的界面風格,其最大特點是與機器中所裝的JDKJDK完美結合,是其它任何一款完美結合,是其它任何一款IDEIDE所不能比擬的。所不能比擬的。它是一種初學

26、者很容易上手的它是一種初學者很容易上手的javajava開發工具,缺點開發工具,缺點是只能進行簡單的程序開發,不能進行企業是只能進行簡單的程序開發,不能進行企業J2EEJ2EE的的開發應用。開發應用。 開放源代碼開放源代碼IDEIDE 對初學者而言,不要使用任何對初學者而言,不要使用任何IDE工工具來學習具來學習Java編程,編程,Windows平臺平臺上選擇記事本上選擇記事本經驗經驗 2.0開發工具開發工具EclipseEclipse簡介簡介Eclipse是基于Java的,開放源碼的、可擴展的應用開發平臺,它為編程人員提供了一流的Java集成開發環境(Integrated Developme

27、nt Environment,IDE)。是一個可以用于構建集成Web和應用程序的開發工具平臺,其本身并不會提供大量的功能,而是通過插件來實現程序的快速開發功能。26Eclipse利用Java語言寫成,所以Eclipse可以支持跨平臺操作,但是需要SWT(Standard Widget Toolkit)的支持,不過這已經不是什么大問題了,因為SWT已經被移植到許多常見的平臺上,例如Windows、Linux、Solaris等多個操作系統,甚至可以應用到手機或者PDA程序開發中。27 2.0開發工具開發工具EclipseEclipse簡介簡介Eclipse 常用快捷鍵介紹常用快捷鍵介紹 Ctrl

28、+ i :規范代碼格式 Ctrl+Shift+F 格式化當前代碼 Ctrl + shift +M :import 類的路徑(包括Java的標準類以及自己定義的類) Ctrl+shift+T: 查找工程下某一個類的源代碼,(包括Java的標準類以及自己定義的類) Ctrl+shift+/: 注釋掉一段代碼塊. 選擇某個方法或者類對象名,按下Ctrl鍵, 點擊鼠標,可以查看方法代碼或者類的實現. Ctrl+D刪除當前行 Ctrl+1 快速修復(最經典的快捷鍵,就不用多說了) Alt+/ 提示小結小結Java特點Java環境配置Eclipse使用2.1 基本數據類型基本數據類型 基本數據類型也稱作簡

29、單數據類型。基本數據類型也稱作簡單數據類型。JavaJava語言有語言有8 8種基本數據類型,分別是:種基本數據類型,分別是: booleanboolean、bytebyte、shortshort、intint、longlong、floatfloat、doubledouble、charchar。 這這8 8種基本數據類型習慣上可分為以下四大類型:種基本數據類型習慣上可分為以下四大類型: 邏輯類型:邏輯類型:booleanboolean 整數類型:整數類型:bytebyte、shortshort、intint、longlong 字符類型:字符類型:charchar 浮點類型:浮點類型:float

30、float、doubledouble 2.1 基本數據類型的轉換基本數據類型的轉換 Java中數據的基本類型(不包括邏輯類型)按精度從中數據的基本類型(不包括邏輯類型)按精度從“低低”到到“高高”排列:排列:byte short char int long float doublebyte short char int long float double 當把級別低的變量的值賦給級別高的變量時,系統當把級別低的變量的值賦給級別高的變量時,系統自動完成數據類型的轉換。例如:自動完成數據類型的轉換。例如: float x=100;float x=100; 當把級別高的變量的值賦給級別低的變量時,必

31、須當把級別高的變量的值賦給級別低的變量時,必須使用使用顯示顯示類型轉換運算。顯示轉換的格式:類型轉換運算。顯示轉換的格式:(類型(類型名)要轉換的值名)要轉換的值; ; 例如例如 int x=(int)34.89; int x=(int)34.89; 2.2從命令行輸入、輸出數據從命令行輸入、輸出數據 1 輸入基本型數據輸入基本型數據 可以使用Scanner類創建一個對象: Scanner reader=new Scanner(System.in); reader對象調用下列方法,讀取用戶在命令行(例如,MS-DOS窗口)輸入的各種基本類型數據: nextBoolean()、 nextByte

32、()、 nextShort()、 nextInt() nextLong()、nextFloat()、nextDouble()。 上述方法執行時都會堵塞,程序等待用戶在命令行輸入數據回車確認。 import javax.swing.JOptionPane; public class DataInputDialog /*對話框輸入數據 * param args */ public static void main(String args) / TODO Auto-generated method stub String str; str=JOptionPane.showInputDialog(in

33、put data:); int num=Integer.parseInt(str); System.out.println(num); 2.3 對話框輸入數據對話框輸入數據 輸出基本型數據輸出基本型數據 用System.out.println()或System.out.print()可輸出串值、表達式的值,二者的區別是前者輸出數據后換行,后者不換行。 允許使用并置符號:“+”將變量、表達式或一個常數值與一個字符串并置一起輸出,如: System.out.println(m+個數的和為+sum); System.out.println(“:”+123+“大于”+122) 2.4 數組數組 數組是

34、相同類型的變量按順序組成的一種復合數組是相同類型的變量按順序組成的一種復合數據類型,稱這些相同類型的變量為數組的元數據類型,稱這些相同類型的變量為數組的元素或單元。數組通過數組名加索引來使用數組素或單元。數組通過數組名加索引來使用數組的元素。索引從的元素。索引從0開始。開始。C如何定義和使用數組的?int a10;a0=5;2010-1-1037數組的使用數組的使用定義一維數組變量定義一維數組變量為數組分配內存單元為數組分配內存單元使用數組元素使用數組元素在在javajava里,一里,一維數組維數組的使用的使用分三步分三步2.4.1 聲明數組聲明數組 聲明一維數組有下列兩種格式:聲明一維數組有

35、下列兩種格式: 數組的元素類型數組的元素類型 數組名字數組名字 ; 或或 數組的元素類型數組的元素類型 數組名字數組名字; 例如:例如:float boy; 或或 float boy; 聲明聲明2維數組有下列兩種格式:維數組有下列兩種格式: 數組的元素類型數組的元素類型 數組名字數組名字; 或或 數組的元素類型數組的元素類型 數組名字數組名字; 例如:例如:char cat; 或或 char cat; 數組boy的元素可以存放float型數據、數組cat的元素可以存放char型數據。2.4.1 聲明數組聲明數組 數組的元素的類型可以是數組的元素的類型可以是Java的任何一種類型。的任何一種類型

36、。 假如已經聲明了一種People類型數據,那么可以如下聲明一個數組: People china; 數組china的元素可以存放People類型的數據。 2.4.2 創建數組創建數組 為數組分配內存空間的格式如下為數組分配內存空間的格式如下: 數組名字 = new 數組元素的類型數組元素的個數; 例如:例如: boy= new float4; 為數組分配內存空間后,數組為數組分配內存空間后,數組boy獲得獲得4個用來存放個用來存放float類型數據的內存空間,即類型數據的內存空間,即4個個float型元素。型元素。數組變量數組變量boy中存放著這些內存單元的首地址中存放著這些內存單元的首地址,

37、該地,該地址稱作數組的引用,這樣數組就可以通過索引操作這些址稱作數組的引用,這樣數組就可以通過索引操作這些內存單元內存單元 。2.4.2 創建數組創建數組 boy圖圖2.4 數組的內存模型數組的內存模型 0 x785BAboy0boy1boy2boy3聲明數組和創建數組可以一起完成,例如:float boy=new float4;二維數組和一維數組一樣,在聲明之后必須用new運算符分配內存空間,例如:int mytwo; mytwo=new int 34;或 int mytwo=new int34; 2.4.3 數組元素的使用數組元素的使用 一維數組通過索引符訪問自己的元素,如boy0,boy

38、1等。注意:注意:索引從0開始,數組若有7個元素,那么索引到6為止,如果程序使用了如下語句:boy7=384.98f;程序運行時將發生.ArrayIndexOutOfBoundsException異常,因此在使用數組時必須謹慎,防止索引越界。2.4.3 數組元素的使用數組元素的使用 二維數組也通過索引符訪問自己的元素,如a01,a12等;需要注意的是索引從0開始,比如聲明創建了一個二維數組a:int a = new int23;那么第一個索引的變化范圍從0到1,第二個索引變化范圍從0到2。 2.4.4 length的使用的使用 一數組的元素的個數稱作數組的長度。對于一維數組,“數組名字.len

39、gth”的值就是數組中元素的個數。對于二維數組“數組名字.length”的值是它含有的一維數組的個數。 對于 float a = new float12; a.length的值12對于 int b = new int36; b.length的值是3 2.4.5 數組的初始化數組的初始化 創建數組后,系統會給每個數組元素一個默認的值,如,float型是0.0。 在聲明數組時同時也可以給數組的元素一個初始值,如:Float boy = 1.3f,23.89f,2.0f,23f,778.98f;也可以直接用若干個一維數組初始化一個二維數組。 2.4.6 數組的引用數組的引用 數組屬于引用型變量,因此

40、兩個相同類型的數組如果具有相同的引用,它們就有完全相同的元素。例如,對于int a = 1,2,3,b = 4,5;int a = 1,2,3,b = 4,5; 如果使用了下列賦值語句(a和b的類型必須相同):a=b; 那么a中存放的引用和b的相同。 ArrayCopy.javaArrayCopy.java 2.4.7 表示格式表示格式 ArraysArrays類調用類調用 public static String toString(int a)public static String toString(int a)方法,可以得到參數指定的一維數組a的如下格式的字符串表示: a0,a1 a0,

41、a1 aa.length-1aa.length-1使用: System.out.println(Arrays.toString(a);2.4.8 復制數組復制數組 1arraycopy方法方法 SystemSystem類調用方法類調用方法 public static void arraycopy(public static void arraycopy(sourceArraysourceArray, ,int index1int index1,copyArray,int index2,copyArray,int index2,int lengthint length) )可以將數可以將數組組s

42、ourceArraysourceArray從索引從索引index1index1開始后的開始后的lengthlength個元素個元素中的數據復制到數組中的數據復制到數組copyArraycopyArray中,中,copyArraycopyArray數組從第數組從第index2index2元素開始存放這些數據。元素開始存放這些數據。 2copyOf和和copyOfRange()方法方法 ArraysArrays類調用類調用copyOf方法方法復制整個數組復制整個數組中元素的值到另一個數組中中元素的值到另一個數組中。 public static double copyOf(double origin

43、al,int newLength)public static double copyOf(double original,int newLength) ArraysArrays類調用類調用copyOfRange()方法方法復制復制數組中部分元素的值復制到另一數組中部分元素的值復制到另一個數組中個數組中 public static double copyOfRange(double original,int from,int to) public static double copyOfRange(double original,int from,int to) 2.4.9 排序與二分查找排序與二分查找 1Arrays類調用 public static void sort(double a) 方法可以把參數a指定的double類型數組按升序排序。2Arrays類調用 public static void sort(double a,int start,int end)方法可以把參數a指定的double類型數組中索引star至end-

溫馨提示

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

評論

0/150

提交評論