java學習課件1_第1頁
java學習課件1_第2頁
java學習課件1_第3頁
java學習課件1_第4頁
java學習課件1_第5頁
已閱讀5頁,還剩54頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2022-2-101Java程序設計程序設計Programming in Java山東理工大學山東理工大學 周雪芹周雪芹二二O一一O年九月年九月2022-2-102教材教材 雍俊海雍俊海. Java程序設計教程(第程序設計教程(第2版)版). 北京北京: 清清華大學出版社華大學出版社, 2007.2022-2-103習題集習題集 雍俊海雍俊海. Java程序設計程序設計習題集習題集(含參考答案含參考答案). 北京北京: 清華大學出版社清華大學出版社, 2006.2022-2-104參考文獻參考文獻 雍俊海雍俊海. Java程序設計程序設計. 北京北京: 清華大學出版社清華大學出版社, 2004

2、. 戴特爾戴特爾美美. Java大學基礎教程大學基礎教程(第六版第六版)(英文版英文版). 北京北京: 電子工業(yè)出版社電子工業(yè)出版社, 2005. Bruce Eckel美美. Java編程思想:第編程思想:第3版版. 機械工業(yè)出版機械工業(yè)出版社社, 2005. Joshua Bloch美美著著. 潘愛民譯潘愛民譯. Effective Java中文版中文版. 北北京京: 機械工業(yè)出版社機械工業(yè)出版社, 2003. 尉哲明尉哲明, 李慧哲李慧哲. Java技術教程技術教程(基礎篇基礎篇). 北京北京: 清華大學清華大學出版社出版社, 2002. 董麗董麗. Java 技術及其應用技術及其應用.

3、 北京北京: 高等教育出版社高等教育出版社, 2001. 張洪斌張洪斌.Java程序設計百事通程序設計百事通. 清華大學出版社,清華大學出版社,2001. JVAV5.0學習筆記學習筆記 良葛格良葛格2022-2-105第第 1 章章 緒論緒論2022-2-106本章總體綱要本章總體綱要 課程總體介紹課程總體介紹 Java簡介簡介 開發(fā)環(huán)境的建立開發(fā)環(huán)境的建立 我會寫我會寫 JavaJava程序程序2022-2-107教學大綱教學大綱( Syllabus)第第 1 章章 緒論緒論第第 2 章章 結構化程序設計結構化程序設計第第 3 章章 面向對象程序設計面向對象程序設計第第 4 章章 數(shù)組、字

4、符串、向量和哈希表數(shù)組、字符串、向量和哈希表第第 5 章章 泛型和枚舉與泛型和枚舉與for語句的簡化寫法語句的簡化寫法第第 6 章章 異常處理、遞歸和單體程序設計方法異常處理、遞歸和單體程序設計方法第第 7 章章 文件與數(shù)據(jù)流文件與數(shù)據(jù)流2022-2-108教學大綱教學大綱( Syllabus)第第 8 章章 Swing圖形用戶界面程序設計圖形用戶界面程序設計第第 9 章章 小應用程序小應用程序(Applet)第第 10 章章 編程規(guī)范編程規(guī)范第第11章章 多線程程序設計多線程程序設計第第12章章 網絡程序設計網絡程序設計第第13章章 多媒體與圖形學程序設計多媒體與圖形學程序設計第第14章章

5、數(shù)據(jù)庫程序設計數(shù)據(jù)庫程序設計2022-2-109本課程學習目標本課程學習目標 掌握掌握Java編程基本技能編程基本技能 掌握學習掌握學習Java的基本方法的基本方法 能夠用能夠用Java來解決實際問題來解決實際問題 為為SCJP認證做準備認證做準備 為將來從事為將來從事JAVA程序開發(fā)打基礎程序開發(fā)打基礎2022-2-1010Sun公司的國際認證簡介公司的國際認證簡介 對于對于Java程序設計員,程序設計員,Sun公司推出兩項國際公司推出兩項國際認證:認證: Sun Certificated Java Programmer (SCJP) Sun Certificated Java Develo

6、per (SCJD) SCJP 是各種是各種Java認證的基礎,相對于認證的基礎,相對于SCJD來說,來說,它更側重于測驗它更側重于測驗Java程序設計概念及能力,內容程序設計概念及能力,內容偏重于偏重于Java語法及語法及JDK的內容。的內容。2022-2-1011學習方法及要求學習方法及要求 課內課內: 認真聽講認真聽講 課外課外: 閱讀教材并進行實踐閱讀教材并進行實踐 上課時的案例、教材和習題集的習題上課時的案例、教材和習題集的習題 其他課程的作業(yè)其他課程的作業(yè) 實際的項目實際的項目 實踐是硬道理,多練習實踐是硬道理,多練習 學習方法:學習方法: 奠定奠定Java語言基礎,多看別人的程序

7、,舉一反三,反復練習語言基礎,多看別人的程序,舉一反三,反復練習 運用基本的運用基本的J2SE API,多查,多查API幫助文檔幫助文檔 使用搜索引擎、加入論壇參與討論使用搜索引擎、加入論壇參與討論 學習建議:學習建議: 從從java語言開始學起,然后學語言開始學起,然后學JSP、servlet,然后接觸框架,然后接觸框架SSH(Struts+Spring+Hibernate) 2022-2-1012本章總體綱要本章總體綱要 課程總體介紹課程總體介紹 Java簡介簡介 開發(fā)環(huán)境的建立開發(fā)環(huán)境的建立 我會寫我會寫 JavaJava程序程序2022-2-1013Java歷史簡介歷史簡介 Sun公司

8、公司“綠色項目綠色項目”中編寫智能消費型電子產品中編寫智能消費型電子產品Star7應用程序的一個程序語言,當時取名應用程序的一個程序語言,當時取名Oak,由于,由于商標沖突,更名為商標沖突,更名為Java.1990.12 “Green Project”1990.12 “Green Project”由由Patrick NaughtonPatrick Naughton、Mike Mike SheridanSheridan與與James GoslingJames Gosling主持主持, , 希望構筑下一代計算機應希望構筑下一代計算機應用趨勢(用趨勢(PDAPDA、手機等)、手機等), ,市場需求發(fā)

9、展沒有預料的快,市場需求發(fā)展沒有預料的快, SunSun公司曾以此投標一個交互式電視項目,但結果被公司曾以此投標一個交互式電視項目,但結果被SGISGI打敗。打敗。差一點就要取消這個差一點就要取消這個“綠色項目綠色項目”; ;1992.9.3 1992.9.3 項目組展示了項目組展示了Star7Star7手持設備(具備無線網絡連接、手持設備(具備無線網絡連接、5in5in的的LCDLCD彩色屏幕、彩色屏幕、PCMCIAPCMCIA接口等功能)接口等功能); ;1993 Mosaic1993 Mosaic誕生,誕生,Java AppletJava Applet在瀏覽器中展現(xiàn)了互動性,在瀏覽器中展

10、現(xiàn)了互動性,GreenGreen項目組仿照項目組仿照MosaicMosaic開發(fā)出一個以開發(fā)出一個以JavaJava技術為基礎的瀏技術為基礎的瀏覽器覽器(BladeRunner_ WebRunner_HotJava)BladeRunner_ WebRunner_HotJava),為網頁增加了,為網頁增加了“動態(tài)的動態(tài)的內容內容”, ,它所展現(xiàn)的多媒體效果引起了人們的注意它所展現(xiàn)的多媒體效果引起了人們的注意. .可以說可以說, ,網絡的發(fā)展網絡的發(fā)展, , 挽救了這個項目挽救了這個項目; ;1994: Oak1994: Oak應用于網絡應用于網絡, , 稱為稱為JavaJava2022-2-10

11、14Java歷史簡介歷史簡介(續(xù)續(xù)) 19951995年年5 5月月2323日日Java Development Java Development Kits 1.0a2Kits 1.0a2正式發(fā)表正式發(fā)表 19961996年年NetScape NavigatorNetScape Navigator、Microsoft ExplorerMicrosoft Explorer正式支持正式支持JavaJava 1998年底年底 JDK1.2版是一個重要版本版是一個重要版本, Java2 SDK, 增加了許多擴展的新特性增加了許多擴展的新特性,用用新方法構建程序新方法構建程序,使用類庫或者使用類庫或者A

12、PI.2022-2-1015Java現(xiàn)狀現(xiàn)狀Java現(xiàn)在常用來現(xiàn)在常用來: 1) 開發(fā)大規(guī)模的商業(yè)應用軟件開發(fā)大規(guī)模的商業(yè)應用軟件 2) 增強網絡服務的功能增強網絡服務的功能 3) 開發(fā)智能消費型電子產品的應用軟開發(fā)智能消費型電子產品的應用軟件件(例如手機例如手機)2022-2-1016Java概述概述 Java比比C+簡單,完全面向對象,跨平簡單,完全面向對象,跨平臺,一次編寫,到處運行臺,一次編寫,到處運行Write Once, Run Anywhere Java不僅是程序語言,還是軟件開發(fā)平不僅是程序語言,還是軟件開發(fā)平臺,也是一種軟件開發(fā)標準與架構的統(tǒng)臺,也是一種軟件開發(fā)標準與架構的統(tǒng)

13、稱。稱。2022-2-1017Java語言的特性語言的特性 簡單的簡單的 面向對象面向對象 網絡的網絡的通過網絡產生,許多功能與應用都與網絡相關通過網絡產生,許多功能與應用都與網絡相關AppletApplet、簡化的、簡化的SocketSocket、交互式、交互式JSP/ServletJSP/Servlet、Web Web ServiceService 解釋的解釋的 健壯的健壯的 安全的安全的 可移植性的可移植性的 多線程的多線程的 高性能的高性能的2022-2-1018我們?yōu)槭裁匆梦覀優(yōu)槭裁匆肑ava簡單的簡單的 Java最初是為家用電器進行集成控制而設計的一最初是為家用電器進行集成控制

14、而設計的一種語言,因此它必須簡單明了。種語言,因此它必須簡單明了。 風格類似于風格類似于C+,C+程序員可以很快地掌握程序員可以很快地掌握Java編程技術。編程技術。 摒棄了摒棄了C+中容易引發(fā)程序錯誤的一些特性中容易引發(fā)程序錯誤的一些特性,如,如指針、結構、指針、結構、枚舉枚舉以及內存管理、運算符重載、以及內存管理、運算符重載、類的多重繼承、友元類等類的多重繼承、友元類等. Java提供了豐富的類庫提供了豐富的類庫,可以幫助我們很方便,可以幫助我們很方便的開發(fā)的開發(fā)Java程序。程序。 2022-2-1019我們?yōu)槭裁匆梦覀優(yōu)槭裁匆肑ava面向對象的面向對象的 面向對象可以說是面向對象可

15、以說是Java最重要的特性最重要的特性,所,所以它支持繼承、重載、多態(tài)等特性。以它支持繼承、重載、多態(tài)等特性。 Java語言是完全面向對象語言是完全面向對象的的, ,它不支持它不支持C語語言面向過程的程序設計技術。言面向過程的程序設計技術。JavaJava語言是一種新型的語言語言是一種新型的語言, ,沒有兼容低版沒有兼容低版本語言的負擔本語言的負擔, ,在采用計算機新技術方面比在采用計算機新技術方面比傳統(tǒng)的計算機語言顯得更為純粹傳統(tǒng)的計算機語言顯得更為純粹, ,特點也更特點也更鮮明鮮明. .2022-2-1020我們?yōu)槭裁匆梦覀優(yōu)槭裁匆肑ava健壯的健壯的 Java檢查程序在編譯和運行時的

16、錯誤。檢查程序在編譯和運行時的錯誤。 Java是一種強類型的語言,其類型檢查比是一種強類型的語言,其類型檢查比C+還要嚴格。類型檢查幫助我們檢查出還要嚴格。類型檢查幫助我們檢查出許多開發(fā)早期出現(xiàn)的錯誤。許多開發(fā)早期出現(xiàn)的錯誤。 Java自己負責內存管理,提供了垃圾內存自己負責內存管理,提供了垃圾內存回收機制,有效避免了回收機制,有效避免了C+中最頭疼的內中最頭疼的內存泄漏問題。存泄漏問題。 2022-2-1021我們?yōu)槭裁匆梦覀優(yōu)槭裁匆肑ava 安全的安全的 Java的安全性可從兩個方面得到保證。的安全性可從兩個方面得到保證。刪除了指針和釋放內存等刪除了指針和釋放內存等C+功能功能,避免了

17、非,避免了非法內存操作。法內存操作。通過通過Java的安全體系架構來確保的安全體系架構來確保Java代碼的代碼的安全性安全性。當我們從網上下載。當我們從網上下載Java代碼在本地執(zhí)代碼在本地執(zhí)行時,行時,Java的安全架構能確保惡意的代碼不能的安全架構能確保惡意的代碼不能隨意訪問本地計算機的資源,如:刪除文件,隨意訪問本地計算機的資源,如:刪除文件,訪問本地網絡資源等操作都是被禁止的。訪問本地網絡資源等操作都是被禁止的。 2022-2-1022我們?yōu)槭裁匆梦覀優(yōu)槭裁匆肑ava解釋的解釋的 Java代碼是代碼是解釋執(zhí)行解釋執(zhí)行 Java編譯器將編譯器將Java代碼編譯成字節(jié)碼,這代碼編譯成字

18、節(jié)碼,這是一種中間代碼,然后由是一種中間代碼,然后由Java解釋器解釋解釋器解釋執(zhí)行。執(zhí)行。而而C+程序是程序是編譯執(zhí)行編譯執(zhí)行的,的,C+程序代程序代碼被碼被編譯為本地機器指令,然后執(zhí)行。編譯為本地機器指令,然后執(zhí)行。 2022-2-1023我們?yōu)槭裁匆梦覀優(yōu)槭裁匆肑ava 與平臺無關的與平臺無關的JavaJava作為一種網絡語言,其源代碼被編譯成一種作為一種網絡語言,其源代碼被編譯成一種結構中立結構中立的中間文件格式。的中間文件格式。只要裝有只要裝有Java運行環(huán)境運行環(huán)境(JRE)(JRE)的機器都能執(zhí)行這種的機器都能執(zhí)行這種中間代碼。中間代碼。 Java源程序被編譯成一種與機器無關

19、的字節(jié)碼格源程序被編譯成一種與機器無關的字節(jié)碼格式式(.class)(.class),在,在Java虛擬機虛擬機(JVM)(JVM)上運行。上運行。2022-2-1024我們?yōu)槭裁匆梦覀優(yōu)槭裁匆肑ava多線程的多線程的在語言級支持多線程的程序設計。在語言級支持多線程的程序設計。多線程就好像我們做一張桌子,如果你一個多線程就好像我們做一張桌子,如果你一個人完成這張桌子人完成這張桌子就好像單線程,那么你需就好像單線程,那么你需要先做桌面,做完桌面后,再做要先做桌面,做完桌面后,再做4個桌子腿,個桌子腿,如果現(xiàn)在有如果現(xiàn)在有5個人來做桌子個人來做桌子在程序中開辟在程序中開辟5個線程,其中個線程,

20、其中1個人做桌面,另外個人做桌面,另外4個人分別個人分別做做4個桌子腿,那么這兩種方式效率的高低,個桌子腿,那么這兩種方式效率的高低,相信大家都能區(qū)分出來。相信大家都能區(qū)分出來。2022-2-1025應用平臺應用平臺 1999年年6月,月,Sun公司美國舊金山公司美國舊金山Java One大會上,大會上,公布了新的公布了新的Java體系架構:體系架構: Java 2 Platform, Standard Edition(J2SE) 標準平臺標準平臺其他應用平臺的基礎其他應用平臺的基礎概念:概念:JREJRE、JVMJVM、JDKJDK、JAVAJAVA語言、語言、APIAPI類庫類庫 Java

21、 2 Platform, Enterprise Edition(J2EE) 企業(yè)級平臺企業(yè)級平臺定義了一系列服務、定義了一系列服務、APIAPI、協(xié)議等,適于開發(fā)分布式、多層式、以組件、協(xié)議等,適于開發(fā)分布式、多層式、以組件為基礎、以為基礎、以WEBWEB為基礎的應用程序。為基礎的應用程序。JSPJSP、ServletServlet、Enterprise JavaBeans(EJB)Enterprise JavaBeans(EJB)、Java Remote method Java Remote method Invocation(RMI)Invocation(RMI) Java 2 Platf

22、orm, Micro Edition(J2ME) 嵌入式平臺嵌入式平臺 在小型數(shù)字設備上開發(fā)及部署應用程序的平臺在小型數(shù)字設備上開發(fā)及部署應用程序的平臺 應用領域:手機游戲、掌上電腦、股票機等應用領域:手機游戲、掌上電腦、股票機等2022-2-1026兩種類型的兩種類型的Java程序程序 應用程序應用程序(Application) 小應用程序小應用程序(Applet)2022-2-1027本章總體綱要本章總體綱要 課程總體介紹課程總體介紹 Java簡介簡介 開發(fā)環(huán)境的建立開發(fā)環(huán)境的建立 我會寫我會寫 JavaJava程序程序2022-2-1028下載與安裝指南下載與安裝指南 安裝安裝:Java

23、TM 2 SDK, Standard Edition版本版本操作系統(tǒng)操作系統(tǒng)下載地址下載地址: http:/ http:/ path & classpath 假設 Java SDK 安裝在 C:Program FilesJavajdk1.6.0_212022-2-1034設置環(huán)境變量設置環(huán)境變量: path & classpath 設置: path=%path%; C:Program FilesJavajdk1.6.0_21bin;classpath=.;C:Program FilesJavajdk1.6.0_21lib;2022-2-1035下載下載J2SE的在線幫助文檔的在

24、線幫助文檔 例如例如: 下載下載 Java 2 SDK在線幫助文檔在線幫助文檔jdk-6u21-doc.zip從從:http:/ 建立建立Java開發(fā)環(huán)境開發(fā)環(huán)境 1) 下載下載J2SE安裝程序安裝程序 2) 運行運行J2SE安裝程序,安裝安裝程序,安裝J2SE 3) 設置環(huán)境變量:設置環(huán)境變量: 運行路徑運行路徑(path) 類路徑類路徑(classpath) 4)下載下載J2SE的在線幫助文檔的在線幫助文檔2022-2-1037本章總體綱要本章總體綱要 課程總體介紹 Java簡介 開發(fā)環(huán)境的建立 我會寫 Java程序2022-2-1038例例 1: J_HelloJava.java(應用程

25、序應用程序)/ / 在控制臺窗口中輸出在控制臺窗口中輸出:/ “Java語言,您好語言,您好!” 和和/ 我將成為優(yōu)秀的我將成為優(yōu)秀的Java程序員程序員!/ /2022-2-1039通過文本編輯器通過文本編輯器 (如如: UltraEdit)創(chuàng)建并編寫創(chuàng)建并編寫Java源文件源文件/ 文件名文件名: J_HelloJava.javapublic class J_HelloJava public static void main(String args ) System.out.println(Java語言,您好語言,您好!); System.out.println(我將成為優(yōu)秀的我將成為優(yōu)秀

26、的Java程序員程序員!); / 方法方法main結束結束 / 類類J_HelloJava結束結束2022-2-1040注意事項注意事項 1、JAVA源文件以源文件以.java結束結束 2、主文件名與類名稱必須一致、主文件名與類名稱必須一致 3、注意字母的大小寫、注意字母的大小寫 4、空白只能是半角空格符或、空白只能是半角空格符或Tab字符字符 5、常見錯誤、常見錯誤 Path及及Classpath參數(shù)設置不正確導致參數(shù)設置不正確導致 編譯錯誤及執(zhí)行錯誤編譯錯誤及執(zhí)行錯誤2022-2-1041第一個第一個JAVA程序的解釋程序的解釋(1) 定義類程序從類開始, class為關鍵字public

27、公開類,一個文件可編寫數(shù)個類,只有一個是公開類,而且主文件名必須與這個公開類的名稱相同. 定義程序塊 成對出現(xiàn),區(qū)別定義的作用范圍.2022-2-1042第一個第一個JAVA程序的解釋程序的解釋(2) 定義定義main()main()方法方法 main()main()方法是方法是JAVAJAVA程序的入口程序的入口 public, public, 在執(zhí)行環(huán)境中被調用在執(zhí)行環(huán)境中被調用 static, static, 不需要產生對象就能被執(zhí)行不需要產生對象就能被執(zhí)行 void, mainvoid, main方法不需要返回任何值方法不需要返回任何值 編寫語句編寫語句 以以; ;分隔分隔 Syste

28、mSystem是是java.langjava.lang包中的一個類包中的一個類 outout是是SystemSystem類下的一個公開對象類下的一個公開對象(PrintStream(PrintStream對象對象) ) printlnprintln方法是方法是PrintStreamPrintStream類的方法類的方法, ,輸出字符串后輸出字符串后自動換行自動換行. .2022-2-1043第一個第一個JAVA程序的解釋程序的解釋(3) 編譯與執(zhí)行編譯與執(zhí)行編譯編譯: : javac J_HelloJava.javajavac J_HelloJava.java , ,在同一目錄下產生在同一目錄

29、下產生J_HelloJava.classJ_HelloJava.class字節(jié)碼文件字節(jié)碼文件, ,執(zhí)行期間由執(zhí)執(zhí)行期間由執(zhí)行環(huán)境轉換為平臺可執(zhí)行的機器碼行環(huán)境轉換為平臺可執(zhí)行的機器碼執(zhí)行執(zhí)行 java J_HelloJava java J_HelloJava 顯示輸出顯示輸出; ; java J_HelloJava HelloJavaResult.txtjava J_HelloJava HelloJavaResult.txt 輸出重定位輸出重定位到文件到文件 java J_HelloJava HelloJavaResult.txtjava J_HelloJava HelloJavaResul

30、t.txt 帶有附加功帶有附加功能的輸出重定位到文件能的輸出重定位到文件2022-2-1044開發(fā)工具開發(fā)工具 1 1、UltraEditUltraEdit或或EditPlusEditPlus 2 2、JCreatorJCreator 3 3、JBuilderJBuilder 4 4、NetBeanNetBean 5 5、EclipseEclipse2022-2-1045編譯編譯 &執(zhí)行執(zhí)行J_HelloJava.javajavacJ_HelloJava.classjava輸出輸出2022-2-1046例例 2 : J_HelloApplet.java Applet 小應用程序小應用程

31、序 Applet 子類的實例子類的實例java.applet.Applet 、javax.swing.JApplet 運行方式運行方式 包含小應用程序的包含小應用程序的HTML文件被打開文件被打開 運行方法運行方法 appletviewer (小應用程序的測試工具小應用程序的測試工具) 網頁瀏覽網頁瀏覽 (IE和和Netscape等等)2022-2-1047例 2 : J_HelloApplet.java/ / 在一個網頁上顯示在一個網頁上顯示:/ 小應用程序,您好小應用程序,您好!/ /2022-2-1048/ 文件名文件名: J_HelloApplet.java; import java.

32、awt.Graphics;import javax.swing.JApplet;public class J_HelloApplet extends JApplet public void paint(Graphics g) g.clearRect(0, 0, getWidth( ), getHeight( ); / 清除背景清除背景 g.drawString(小應用程序,您好小應用程序,您好!, 10, 20); / 方法方法paint結束結束 / 類類J_HelloApplet結束結束通過文本編輯器通過文本編輯器 (如如: UltraEdit)創(chuàng)建并編寫創(chuàng)建并編寫HTML文件文件2022-2-1049通過文本編輯器通過文本編輯器

溫馨提示

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

評論

0/150

提交評論