


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第一天課程( 2012-7-10)JAVA常用的名詞JVM java 虛擬機Application 應(yīng)用程序 必須有一個入口的方法叫做public static void main(Stringargs)Applet 小應(yīng)用程序 該程序必須要嵌在一個容器中運行,它有自己的生命周期.sun.重點:JAVA的開發(fā)環(huán)境JDK: java 開發(fā)工具集JDK版本問題1.4不支持泛型5.0泛型6.0枚舉默認安裝路徑 C:Program FilesJavaJRE: JAVA運行時環(huán)境環(huán)境變量的配置(1) Path:window 尋找可執(zhí)行應(yīng)用程序的一個查找路徑 不同的路徑之間使用 ;來分隔 配置一個路徑 C
2、:Program FilesJavajdk1.6.0_26bin(2) CLASSPATH 告訴系統(tǒng)到那些目錄下面去查找對應(yīng)的要執(zhí)行的文件.;D:3020j2secxchapter1. 表示當前目錄預習作業(yè):常用的DOS命令切換目錄 查詢文件 拷貝文件 重命名 移動文件* 表示通配符 *.java *.*常用 java 命令Javac 編譯命令主要將以.java結(jié)尾的Java文件編譯生成以.Class結(jié)尾的二進制字節(jié)碼文件。 Javac java 文件名 .javaJava 運行命令 java 類名Javadoc 生成幫助文檔命令 javadoc java 文件面向?qū)ο蟮幕靖拍?類 ( 屬性
3、 方法 構(gòu)造方法 ) 對象 對象創(chuàng)建 傳遞 銷毀面向?qū)ο蟮娜蠡咎匦?:封裝、繼承、多態(tài)OOP AOP類 是由客觀事物經(jīng)過大腦抽象而形成概念,是對一類事物的描述 使用 class 關(guān)鍵字來描述類類中有屬性和方法: 屬性對應(yīng)的是事物的靜態(tài)特性(可以叫做成員變量 )方法對應(yīng)的是事物的動態(tài)特性對象:是類的一個具體的實例化創(chuàng)建對象對象的方法: 類名 對象名 = new 類名 (); 調(diào)用類的構(gòu)造方法來創(chuàng)建對象 構(gòu)造方法是特殊的方法:方法名 =類名注意: 類中屬性和方法必須在創(chuàng)建對象之后才能使用對象.屬性 對象 .方法 .表示引用第二天課程( 2012-7-11)JAVA語言描述類的聲明語法格式 :
4、class 修飾詞 class 類名 屬性定義部分 構(gòu)造方法 普通方法 用于修飾 class 的關(guān)鍵字有兩種: (1) public 公共的 (2)缺省 不寫 表示當前類只能在同 一個包中使用注意點 :(1)一個 java 文件中最多只能有一個類被 public 修飾,并且要求使用 public 修飾這個 類的類名來作為該 java 文件的文件名。(2) 要求將來大家寫代碼的時候一個 java 文件一個類 ,并且該類用 public 修飾,類名 與文件名相同類名 / 規(guī)一 :類名要求首字母大寫使用名詞性詞組(不能使用關(guān)鍵字 )/ 要求編寫代碼統(tǒng)一對齊,要求整個java 類中采用統(tǒng)一的縮進方式(
5、2,4)聲明屬性 : type =defaultValue ; 修飾詞 數(shù)據(jù)類型 屬性名稱 =默認初值 ;屬性的修飾詞四種 : public 公共的 private 私有的 default( 默認 ) protected 受保護的 數(shù)據(jù)類型 主要分成兩大類 :基本數(shù)據(jù)類型 : 整型浮點型布爾型字符型引用數(shù)據(jù)類型 :屬性名稱 命名規(guī) :要求首字母小寫,從第二單詞開始的首字母大寫一般使用名詞性詞組 方法的聲明 : () Return ;修飾詞 返回值類型方法名稱(參數(shù)列表笊語句塊 ; 方法的修飾詞四種 : public 公共的 private 私有的 default( 默認 ) protected
6、 受保護的 返回值類型 主要分成兩大類 :基本數(shù)據(jù)類型 : 整型浮點型布爾型字符型引用數(shù)據(jù)類型 :注意: (1) 如果沒有返回值的話則使用 void 來聲明(2) 方法的返回值只有一個方法名稱 命名規(guī) :要求首字母小寫,從第二單詞開始的首字母大寫一般使動詞性詞組注: 在一個 java 類中允許出現(xiàn)多個同名的方法, 但要求形參列表必須不一致(指的是參數(shù)的個數(shù)或參數(shù)的類型不一致 )形參列表 :數(shù)據(jù)類型1參數(shù)名稱1,數(shù)據(jù)類型2參數(shù)名稱2,數(shù)據(jù)類型3參數(shù)名稱3,備注: JDK1.5 之后 java 語言支持可變參數(shù)列表 重點 :構(gòu)造方法 : 是一類特殊的方法功能:創(chuàng)建其所屬類型的一個新的對象。 ()
7、修飾詞 類名 (形參列表 )語句塊 ;特殊點 : (1)構(gòu)造方法可以用于創(chuàng)建對象,可以直接使用,不需要通過對象來調(diào)用。(2) 在構(gòu)造方法中需要完成對屬性的初始化賦值。(3) 在一個類允許出現(xiàn)多個構(gòu)造方法(4) 每個類必須至少擁有一個構(gòu)造方法該規(guī)則由 JVM 來保證 : 如果你編寫的類沒有寫構(gòu)造方法的話,則在該 java 文件編譯的時候由編 譯器自動的為該類添加一個空的方法體的構(gòu)造方法如果你編寫的類自帶了構(gòu)造方法的話,則在編譯的時候,編譯器不會再為你添加任何的構(gòu)造方法實戰(zhàn)開發(fā)建議 : (1)當前類中如果沒有構(gòu)造方法的話,你就不要管了,如果寫了構(gòu)造方法 的話,則要求把空的方法體的構(gòu)造方法手動加上。
8、(2) 類體中書寫規(guī)屬性構(gòu)造方法關(guān)于屬性的操作方法放在前面普通信息的封裝和隱藏使用 private 關(guān)鍵來修飾屬性或方法以達到隱藏屬性或方法的目的 ;注:private修飾的屬性和方法只能在當前類中使用,其他所有的類都不能訪問 實際開發(fā)過程中類的屬性要求全部使用 private 來修飾,同時必須要暴露一組 public 公 共的方法來進行操作封裝 暴露一組 public 公共的方法對本類的私有屬性進行操作的過程。作業(yè):第2章PPT中的練習(3) 在昨天編寫的類的基礎(chǔ)上,使用封裝和隱藏去進一步完第三天課程 (2012-7-12)Java 基礎(chǔ)語法注釋 :三種 / /*/* */標識符 :關(guān)鍵字不
9、能做標識符由字母、數(shù)字、 _、 $ 組成 ,不能以數(shù)字開頭 $開頭的一般表示為嵌也可以表示成臨時數(shù)據(jù)類型 :基本類型整型 : byte 8 short 16 int 32 long 64 默認 int浮點型 : float 32 double 64 默認 double float f = 3.14f; 字符型 : char關(guān)于字符的概念字符編碼:ASCI I編碼Uni code編碼字符集:采用相同編碼形式存放的字符的集合。常用的字符集:中文GB2312GBK GB18030拉丁italicUtf-8 字符集ISO-8859-1常用轉(zhuǎn)義字符:n 換行 r 回車 t tab 鍵 ” 布爾型 : B
10、oolean 兩種值 true false引用類型作業(yè) :(1)引用類型的用法例子,去測試一把(2) 將值傳遞的例子測試(3) 標準輸入 / 輸出 自己完成對象構(gòu)造和初始化 注:類中的成員變量初始化由三步:( 1)根據(jù)數(shù)據(jù)類型進行默認值的初始化要求掌握 8 種基本類及引用類型的默認值( 2)根據(jù) default 后的值來賦值,如果類的屬性沒有 default 值的話,則跳過該步驟( 3)根據(jù)構(gòu)造方法來賦值,如果沒有構(gòu)造方法的話,則跳過方法:類的動態(tài)屬性類中方法存放在 JVM 部的全局代碼區(qū)注: (1)方法通常通過對象來調(diào)用,調(diào)用時必須注意實參列表與形參列表的個數(shù)、順序、 類型都必須一致。(2)
11、每個方法最后都會有 return 語句。如果該方法定義了返回值類型,則在方法體中肯定有return 語句,不能缺省,并且 return 返回的數(shù)據(jù)類型與返回值類型必須一致。 用 void 修飾的不需要返回值類型的方法,在JVM 編譯的時候自動會添加 return語句,所以不要自己寫 return 。特殊的構(gòu)造方法,默認返回的就是本身的對象,所以也不需要寫return 語句,由jvm 自動處理 .變量局部變量 : 寫在方法或語句塊部的變量 方法的形參作為局部變量來看待。 注 : 要使用的話,必須要先聲明和賦初值之后才能使用形參除外,原因在 形參在方法被調(diào)用時也會根據(jù)傳遞進來的實參進行默認的初 始
12、化賦值成員變量 : 也叫類的屬性 寫在類的部 ,在方法的外部的變量 只要聲明后就可以使用 ,原因在于成員變量在對象創(chuàng)建的時候會根據(jù)數(shù)據(jù)類型進 行自動默認初始化賦值。變量的作用圍:解決重名問題的規(guī)則: 就近原則第四天課程 (2012-7-13)輸入與輸入Scanner 類的用法 了解System.out.println() 用于向控制臺輸出任意類型的數(shù)據(jù) 以后該語句只允許出現(xiàn) main() 方法中。 在實際中主要用于調(diào)試System.out.printf( “%10.2f ”,) / 了解關(guān)鍵字 this 重點有四種用法(1) 調(diào)用類的屬性this. 屬性在構(gòu)造方法中使用,給類的屬性賦值,解決命
13、名沖突問題。(2) 調(diào)用類的普通方法 this. 方法名 ()(3) 調(diào)用構(gòu)造方法this( 參數(shù)列表 .)注意:(1) this()該語句必須放在構(gòu)造方法的第一條指令。(2)使用this()來調(diào)用構(gòu)造方法的話,在本類中必須至少有一個不包含this調(diào)用的構(gòu)造方法作為退出構(gòu)造來使用(4) 表示當前對象 this 運算符:Infinity 在 java 語言中表示無窮大 -NaN 表示 not a number 不是一個數(shù)字負數(shù)的二進制 -負十進制的轉(zhuǎn)換(1) -1 (2) 取反 (3)轉(zhuǎn)換為十進制 (4)*-1 負十進制的轉(zhuǎn)換 - 負數(shù)的二進制(1) 取絕對值 (2)轉(zhuǎn)為二進制(3)取反 (4)
14、+1作業(yè) : 八種基本類型的數(shù)據(jù)之間的轉(zhuǎn)換第五天課程 (2012-7-16) 分支語句單路分支:if(條件)語句塊雙路分支:if(條件1)語句塊 1 else語句塊 2多路分支 : if (條件 1)語句塊 1else if (條件 2) 語句塊 2else if(條件 3)語句塊 3else語句塊 4Switch()Case : Break;Case :題目:(1) 接收鍵盤輸入的學生的成績 輸出該成績所屬的等級 90100 優(yōu)秀 8090 良 7080 中等 6070 及格 60 不及格(2) 接收鍵盤輸入的三個數(shù)字,輸出其中的最大值 要求求三個數(shù)的最大值要編寫一個方法(3) 接收鍵盤輸入
15、的數(shù)字 0星期日 6星期六 輸出對應(yīng)的星期幾(4) 接收鍵盤輸入的年份,輸出是否為閏年要求專門編寫一個方法來判斷是否為閏年(5) 接收鍵盤輸入的年份和月份,輸出該月有多少天 循環(huán)語句For(初始化部分;循環(huán)條件部分; 迭代部分) 循環(huán)體部分;素數(shù) : 除 1 和它本身之外,不能被其他任何數(shù)整除備注 : 一般情況下 循環(huán)最多只能使用兩層嵌套 重點: break; continue;Break 標簽名; 指的是跳出標簽名所指向的那一層循環(huán)題目:(1) 求 110 的積(2) 打印如下乘法口訣表1*1=11*2=2 2*2=41*3=3 2*3=6 3*3=91*9=9 .9*9=81(3) 輸出
16、200300 之間的素數(shù) ,要求每 8個一行(注:不允許使用 continue 標簽 )(4) 從鍵盤循環(huán)接收數(shù)據(jù) ,求輸入數(shù)據(jù)的和當接收到 Y 字符時退出 退出時輸出累計的和(6) 打印出一個指定層數(shù)的菱形第六天課程 (2012-7-17)作業(yè): 編寫程序,采用適當?shù)难h(huán)和流控制語句實 現(xiàn)下述功能:打印輸出 0200 之間能被 7 整除 但不能被 4 整除的所有整數(shù);要求每行顯示 6 個數(shù)據(jù);遞歸: 必須滿足的兩個條件:1、 遞推公式2、 終止條件正態(tài)分布數(shù)組:熟練一維數(shù)組的定義、創(chuàng)建、賦值、取值、遍歷、修改 掌握二維數(shù)組了解多維數(shù)組數(shù)組中的每個元素相當于該對象的成員變量, 也就意味著, 數(shù)
17、組創(chuàng)建的時候, 每一個值首先 會根據(jù)數(shù)據(jù)類型賦初值。數(shù)組已經(jīng)創(chuàng)建則長度固定,定長的,且存放數(shù)據(jù)的存單元之間是連續(xù)的練習:打牌 定義一個數(shù)組用于存放 4 種花色的 52 牌,完成初始化,并且輸出容。Arrays.sort() 方法要求掌握 第七天課程 (2012-7-18)包 : 使用 package 來描述一個包聲明包的語法規(guī)則 : package 包名 ; 該指令必須是類的第一條指令包名的命名規(guī)則:公司對應(yīng)的域名.總的項目名稱 .模塊名稱 .子模塊名稱 .自己開發(fā)的模塊名注意:帶包名的 java 類 必須要使用如下的格式去進行編譯Javac -d .java文件名 -d表示要帶包編譯生成ja
18、va類 表示在當前目錄下生成包結(jié)構(gòu)Java 包名 .類名 來運行該類 每個類都必須隸屬一個包,并且對應(yīng)一個根目錄。 命名空間 , 一個類如果沒有定義包的話,則編譯后會放置到默認的命名空間中去 defaultpackage 使用包的過程應(yīng)該注意:(1)如果導入的不同的包中有同名的類的話,使用的時候為了區(qū)分開來,則必須在類 名前帶上包名一起使用。(2)如果要導入一個包下的所有的類,可以使用 * 來描述。不用擔心效率問題(3)缺省導入 java.lang 包重點 : 繼承 extends在其他人編寫的類的基礎(chǔ)之上進行利用和擴展( 1)其他人所編寫的類中的屬性和方法你可以通過繼承的方法直接拿來就用(2
19、)在其他人開的功能的基礎(chǔ)上添加屬于你自己的新功能用法: (1 )代碼重用 .Class A extends BA : 子類 , 派生類B: 父類Object類是所有Java類的最高層父類(超類),主要是由于該類通過方法來描述了類的定義和表示、以及對對象的管理(聲明,克隆)存在缺點:單繼承 , java 語言為什么只能單繼承作業(yè):普通人 (,性別,年齡,居住地址,吃飯、睡覺、行走、)教師 ( 教學年齡,教師資格,教學、備課 ) 學生 ( 所在班級,學號,上課、預習 )訪問控制權(quán)限 : 見表格方法的重寫 (覆蓋 )和重載 重寫:發(fā)生在子類和父類之間,也就是說必須要要有繼承關(guān)系才會有重寫 子類去重寫
20、父類中同名的方法,以達到方法覆蓋的目的。 Override ? 規(guī)則:重寫方法必須和被重寫方法具有相同的方法名稱、 參數(shù)列表和返回值類型;? 重寫方法不能使用比被重寫方法更嚴格的訪問權(quán)限;? 重寫方法不允許聲明拋出比被重寫方法圍更大的異常類型。重載:在冋一個類中的冋名的方法,只是參數(shù)列表不冋overload屬性的重寫 有 規(guī)則:屬性名要求一致,但類型可以不一致重載無Super關(guān)鍵字必須在子類中使用 用法:(1) Super方法()表示要調(diào)用父類中的方法Super屬性表示訪問父類屬性(3) Super()表示調(diào)用父類的構(gòu)造方法必須要放在子類的構(gòu)造方法中的第一句語句。在子類對象創(chuàng)建之前父類對象必須
21、要先被創(chuàng)建出來。第八天課程(2012-7-19)比較 this 禾口 super使用方法Thissuper屬性This.屬性表示優(yōu)先從本類 中查找該屬性,如果本來中沒 有該屬性則從父類中查找Super屬性直接從父類訪問 屬性方法This方法表示優(yōu)先調(diào)用本類 的方法,如果找不到,則調(diào)用 從父類繼承過來的方法Super方法直接訪冋父類中 被子類重寫的方法構(gòu)造This()表示調(diào)用本類的構(gòu)造 方法;該語句必須放在本類 構(gòu)造方法中的第一句;并且要 求本類必須至少有一個不包 含this()調(diào)用的構(gòu)造方法;Super()表示子類對象創(chuàng)建出 來之前必須要創(chuàng)建父類對象 ; 該語句必須先在子類的構(gòu)造 方法的第一句
22、;特殊This表示當前對象無重點: 多態(tài)多態(tài) :多種狀態(tài) 發(fā)生子類和父類之間, 必須要在繼承 (或?qū)崿F(xiàn) )的基礎(chǔ)上才能產(chǎn)生多態(tài)。多態(tài)的描述:(1) 子類對象可以替代父類對象來使用 子類是在父類的基礎(chǔ)之上進行功能點擴充。具體用法: / 定義變量的多態(tài) Animal a = new Person(); / 形參的多態(tài) public void xs(Animal o) Person p = new Person(); Xs(p);/ 返回值的多態(tài) public Animal getA() Person p = new Person(); Return p; 虛方法的調(diào)用 :指的編譯時候認為是父類中的
23、方法,而實際運行時是運行的子 類中的方法。造型:/ 要進行轉(zhuǎn)換if(o!=null & o instanceof Person) /instanceof 表示判斷當前對象的真實類型 Person person = (Person)o;/ 強制轉(zhuǎn)換 造型只能表示從子類強制轉(zhuǎn)換成 父類 且必須在多態(tài)的情況下才能進行person.display();/ 虛方法的調(diào)用 / 不能調(diào)用子類新增的屬性和方法兩個重要的關(guān)鍵字: static finalStatic 靜態(tài)的 共享的 使用注意點 : (1) 只能用于修飾類的屬性、方法、語句塊、部類(2) 使用 static 來修飾屬性或方法時 ,該關(guān)鍵字應(yīng)放在修
24、飾詞 與類型 (或返回值之 間)Public static String a;Public static void a()(3) 加 static 修飾的屬性、方法、語句塊、部類 表示整個類共享 , 也就是說:在當前類裝載(classlaod)的時候,這些屬性或方法就已經(jīng)創(chuàng)建出來可以直接使用類名 .來訪問。(4) Static 修飾的靜態(tài)方法中不允許調(diào)用非靜態(tài)的屬性(普通屬性 )和非靜態(tài)的方法(普通方法)。 (構(gòu)造方法除外 )普通屬性和普通方法是必須要通過創(chuàng)建對象才能來調(diào)用的。關(guān)于構(gòu)造方法的說明:( 1) 方法名為類名( 2) 該方法可以帶參數(shù),這些用于給該類的屬性賦值( 3) 返回的是創(chuàng)建出
25、來的對象,在該方法中不能寫 return 語句。( 4) 該方法前面可以使用的修飾詞: public private(5) Static、 final 都不允許用來修飾構(gòu)造方法(6) 構(gòu)造方法不允許繼承(7) 如果使用 private 來修飾構(gòu)造方法 ,則構(gòu)成單例設(shè)計重點 : 單例設(shè)計 : (1) 該類的構(gòu)造方法私有(3) 該類中一定存在一個屬于自身類型的屬性該屬性一定是static,根據(jù)封裝特性,要求使用 private 來修飾(4) 該類中一定存在一個公開的方法,并且是 static 的,以便其他人可以直接使用類名 該方法名 的方式來調(diào)用,最終能獲取到該類的對象。(5) 單例 也就是 單個
26、實例作業(yè):(1) 編寫一個符合單例設(shè)計模式的類 Single(2) 使用 Static 來實現(xiàn)一個能統(tǒng)計該類已經(jīng)產(chǎn)生了多少個對象的方法Final 關(guān)鍵字?final 標記的類不能被繼承。?final 標記的方法不能被子類重寫。? final 標記的變量 (成員變量或局部變量 )即成為常量,只能賦值一次。? final 標記的成員變量必須在聲明的同時或在每個構(gòu)造方法中顯式賦值,然后才能使用。? final 不允許用于修飾構(gòu)造方法、抽象類以及抽象方法。第九天課程 (2012-7-20)IDE集成開發(fā)工具的使用(1) eclipse IBM 免費貢獻 使用頻率較高(2) MyEclipse 收費 在
27、 eclipse 的基礎(chǔ)上添加一些有用,比較常用的插件,以方便開 發(fā)人員開發(fā) 推薦使用 6.5(3) NetBeans sun 公司 不免費使用IDE過程:(1)創(chuàng)建 workspace 工作平臺(2)配置 installed JRE(3)新建JAVA工程抽象類 使用 abstract 來修飾的 class.抽象方法 : 不包含方法體的方法 ,同時要使用關(guān)鍵字 abstract 來修飾。 包含抽象方法的類必須聲明為抽象類。抽象類的使用:(1)抽象類不一定要包含抽象方法。(2)抽象類中可以包含普通屬性和普通方法( 3)抽象類不能被實例化。 (不能創(chuàng)建對象)(4)抽象只能通過其實現(xiàn)子類來起作用(5
28、)子類繼承抽象的父類的話,必須實現(xiàn)其所有的抽象方法,否則,子類自身也必 須聲明為抽象類。(6)abstract 關(guān)鍵字不能和 final , static 關(guān)鍵字一起使用(7)abstract 不能修飾構(gòu)造方法和屬性(8)abstract 修飾的抽象類雖然不能被實例化 ,但是它有構(gòu)造方法,該構(gòu)造為子類對 象的創(chuàng)建提供服務(wù)。接口 (interface) 標準 實現(xiàn)不相關(guān)類的相同行為USB 接口 PS-2 接口 RS232 串口 是一種特殊的類,里面只包含抽象方法和全局常量。 接口不能被實例化,必須通過其實現(xiàn)類來起作用。聲明一個語法: 修飾詞 interface 接口名 多態(tài)特性的第二種用法: 實
29、現(xiàn)類和接口之間也具有多態(tài)性,接口可以使用實現(xiàn)類的對象來替代。實現(xiàn) implements 一個類去實現(xiàn)一個接口,也就意味著要實現(xiàn)接口中所有的抽象方法,否則該類必須聲明為抽象 類。 class extends implements ,* declarations*類、接口之間的關(guān)系:(1) 類與類之間只能是繼承關(guān)系,并且是單繼承(2)類與接口之間只能是實現(xiàn)關(guān)系,并且可以支持多重實現(xiàn)(3)接口與接口之間只能是繼承關(guān)系,并且支持多重繼承子接口對象可以替代父接口對象來使用。多態(tài)的表現(xiàn)形式:具有繼承關(guān)系的子類和父類之間的多態(tài) 實現(xiàn)類和接口之間的多態(tài)類的多態(tài):(1) 子類可以替代父類使用(2) 現(xiàn)實類可以替
30、代接口使用屬性的多態(tài)屬性的重寫方法的多態(tài)方法的重載常用的設(shè)計模式實戰(zhàn)過程中的運用:(1)抽象類的用法:模板設(shè)計假設(shè)有一個人類性別年齡說話()教師類學生類工人類/編寫一個學生檔案的模板類姓名性別出生日期學歷籍貫聯(lián)系方式畢業(yè)時間號畢業(yè)院校專 業(yè)興趣愛好現(xiàn)住址家庭地址接口用法USB 接口第十天課程 (2012-7-23)(3) 抽象和接口的混合使用 適配器設(shè)計模式(4) 接口作為標準的用法工廠設(shè)計降低代碼的耦合度由于天氣比較熱,所以最好要有水果吃 讓大家定義吃水果的接口有一個吃的方法然后編寫蘋果、西瓜、橘子三個實現(xiàn)類編寫一個測試類去吃蘋果、西瓜、橘子代理設(shè)計假設(shè)你吃水果了沒有付錢就走了,過了幾天,我
31、去找你要錢,結(jié)果你死不承認,你要賴賬,我回來心里很不平衡,我找到討債公司替我去要錢。討債公司準備道具,買了 手槍,硫酸,匕首,你害怕了,之后就還錢,討債公司替我要到了錢,最后銷毀道具。實際:項目經(jīng)理布置,你去查找一下這項目在那些環(huán)節(jié)會存在瓶頸問題。動態(tài)代理 作業(yè):假設(shè)要在淘寶開店有一個倉庫買鞋子、衣服、褲子、手槍abstract抽象和in terface接口的總結(jié)面向接口的編程區(qū)別抽象類接口組成有普通屬性,普通方法,構(gòu)造方法, 抽象方法(抽象類比普通類多了一 個抽象方法)只允許存在全局常量和抽象方法關(guān)鍵字abstractIn terface抽象類必須通過子類來起作用接口必須通過實現(xiàn)類來起作用E
32、xtend繼承的方式來實現(xiàn)實現(xiàn)類是通過implements來實現(xiàn)接口存在單繼承的局限一個接口可以被多個實現(xiàn)來實現(xiàn)一個實現(xiàn)來可以同時實現(xiàn)多個不同的接口抽象類中可以包含部接口:接口也允許存在抽象類模板設(shè)計工廠設(shè)計、代理設(shè)計適配器設(shè)計特點:作為標準存在嵌套類嵌套在某一個類部的類。部類:要求掌握匿名類部類寫在一個類的部,其所有的語法規(guī)和之前講過的相同。訪問方式不同實戰(zhàn)過程中運用:使用部類來定義數(shù)據(jù)結(jié)構(gòu)使用指針結(jié)構(gòu)來完成的鏈表思考題:在理解鏈表的基礎(chǔ)上去完成 雙向鏈表第 一天課程(2012-7-24)異常處理(1) 了解異常的類型(2) 掌握捕捉異常的方法(3) 學會自己定義異常異常(exceptio
33、n)違例指的程序運行過程中發(fā)生的違例與編譯無關(guān)常見的異常NullPoi nterException 空指針異常 說明肯定有一個引用類型的變量沒有被賦值而直接使用。Arrayl ndexOutOfBou ndsException 數(shù)組下標越界異常 說明訪問的下表超過了數(shù)組的最大長度。In dexOutOfBou ndsException下標越界java .lan g.ArithmeticExcepti on算術(shù)運算異常 說明算術(shù)表達式中存在問題自己捕捉異常的方法Try可能出現(xiàn)異常的語句塊catch(異常的類型1) / 匹配類型岀現(xiàn)異常之后需要執(zhí)行的代碼;catch(異常類型2)fin ally
34、/最終語句塊最后需要執(zhí)行的語句塊;Trycatch()這是一個整體Trycatch()()fi nally注意點:1、catch部分捕捉的是由系統(tǒng)拋出的異常對象2、 如果存在多個catch的時候,必須要把小圍的異常寫在前面,大圍的異常捕捉在后3、 Fin ally表示的是最終一定會執(zhí)行的語句塊,一般情況下不要缺省,實際開發(fā)過程中用 于關(guān)閉第三方資源。4、Trycatch()fi nally可以支持無限層次嵌套,備注:日常開發(fā)過程中不建議使用5、Throws異常的類型打印輸出異常的對象e. prin tStackTrace()方法6、人工手動拋出異常Throw異常的對象7、自定義異常類通過ext
35、end系統(tǒng)預定義異常類來實現(xiàn)Throw自定義異常類的對象UUID 唯一標識符(ID) 在java語言中用來標記唯一的一個類,將來的由這個類生成的對 象如果需要在網(wǎng)絡(luò)上進行傳輸?shù)脑挘欢ㄒ笥形ㄒ粯擞洝ssert斷言 了解 作業(yè):把PPT上關(guān)于trycatch的用法的例子自己調(diào)試 棧的軌跡的打印自定異常并捕捉異常處理第十二天課程(2012-7-25)常用的JAVA類掌握Object類toStri ngequals clone waitno tify熟練掌握(1)字符串、數(shù)字、日期三者之間的相互轉(zhuǎn)換(2)國際化相關(guān)的類國家、語言、時區(qū)、時間Object 類hashCode()用于返回一個哈希碼返
36、回的是int 類實際過程中用于描述存單元的地址需要十六進制int =十六進制In teger.toHexStri ng(i nt i)toStri ng()該方法以字符串的形式來描述一個類equals()該方法用于比較兩個對象是否相等實際過程:比較兩個對象是否相等,對象排序問題在排序中使用了比較對象的規(guī)則,所以將來對對象進行排序要求同時改變比較規(guī)則,應(yīng)該使兩者的規(guī)則保持一致。fin alize()該方法表示在對象銷毀的時候必須要調(diào)用的方法該方法不是由你去調(diào)用的的,而是由垃圾回收線程來調(diào)用的。注意點:如果本類要能進行克隆,必cion e()克隆方法該方法用于復制一個對象須要求該類去實現(xiàn)Clone
37、able接口分類:淺層克隆深層克隆實戰(zhàn)過程:比較基本數(shù)據(jù)類型使用=對值進行比較比較引用類型的話必須要使用equals()這個方法Equals()方法使用要注意:如果存在常量字符串的話,必須要把常量字符串寫在之前 例如 常量字符串”.equals(對象名稱)Toke n令牌技術(shù)字符串相關(guān)的類Stri ng表示的是長度不可修改的字符串,在進行字符串連接操作的時候最起碼需要2的所有字符的空間才能完成操作,因此在實戰(zhàn)過程一般不使用+來進行大字符串連接。用法備注:使用String來聲明變量 String str =字符串不要使用 Stringstr = new String(字符串);實戰(zhàn)過程 處理字符
38、集編碼問題的時候需要用到String的構(gòu)造方法String類中的常用方法con cat()字符串連接replace()字符串替換substring()字符串截取toLowerCase() 轉(zhuǎn)換為小寫toUpperCase() 轉(zhuǎn)換為大寫trim() 首尾去空格charAt() 獲取指定下標位置的字符startsWith()判斷是否以 XXX開頭、indexOf() 判斷是否包含某個子字符串,返回該子字符串在原字符串中的首次出現(xiàn) 的位置lastI ndexOf()判斷是否包含某個子字符串,返回該子字符串在原字符串中的尾部出現(xiàn)的length() 獲取字符串的長度 equals() 比較字符串是否相
39、等 equalsIgnoreCase() 大小寫不敏感的比較compareTo() 比較兩個字符串的大小 int 1 表示前面字符串 字符串 0 相等 -1 小于 來表示split() 按指定的分隔符將字符串轉(zhuǎn)換為數(shù)組StringBuffer 在實戰(zhàn)過程用來代替 String 來完成大字符串連接的工作。 主要用于 XML 的拼裝過程可變長度的字符串。append() 在尾部追加字符串insert() 在指定位置插入字符串reverse() 反轉(zhuǎn)setCharAt() 在指定位置插入一個字符顯著的特點 : 線程安全的類 處理速度要慢StringBuilder 與 StringBuffer 用法完
40、全一樣線程不安全的類 處理速度要快一點StringTokenizer 該類用于將字符串按照一定的分隔符轉(zhuǎn)換為字符串數(shù)組創(chuàng)建StringTokenizer對象的時候如果沒有指定分隔符的話,默認為空格實戰(zhàn)過程該可以由String .split()來替代,以“為分隔符注意:split(符合正則表達規(guī)則的字符串)封裝類針對 java 言語中的 8中基本數(shù)據(jù)類型,在擴展功能的基礎(chǔ)形成相對應(yīng)的類基本類型封裝類short-Shortbyte-Byteint-IntegerlongLongboolean-Booleanchar - Characterfloat - Floatdouble - DoubleSt
41、ring 的轉(zhuǎn)換過程在封裝類中封裝了從該類對應(yīng)的基礎(chǔ)數(shù)據(jù)類型到封裝類中使用的時候必須要創(chuàng)建對象自動封裝和拆封 從基本數(shù)據(jù)類 - 對應(yīng)的封裝類 的轉(zhuǎn)換可以自動進行 該過程叫自動封裝 從封裝類的對象 - 對應(yīng)的基本數(shù)據(jù)類 也可以自動進行轉(zhuǎn)換該過程叫自動拆封使用 基本數(shù)據(jù)類型 + ”- String 類型 效率較高String.valueof(基本數(shù)據(jù)類型 ) - String類型作業(yè):1、自己編寫代碼調(diào)用 String 中的方法,掌握其具體調(diào)用方法和意義。2、 自己編寫代碼去實現(xiàn)從封轉(zhuǎn)類與基本數(shù)據(jù)類型之間的轉(zhuǎn)換,與String 類型之間 的相互轉(zhuǎn)換第十三天課程 (2012-7-26)日期和時間全球
42、標準時間 : GMT 格林威治時間中國 東八區(qū) GMT+8 中國的標準時間 CST 時間:在 JAVA 語言中Date - long 是可以相互轉(zhuǎn)換的getTime()可以使用一個 long 類型的數(shù)據(jù)來表示一個時間2000L -表示什么時間單位是毫秒2000 毫秒= 2秒基準時間1900 1 10 0 0 GMT 時間1970 1 10 0 0時間的完整組成: 時區(qū) 國家 四季 年月 日 上午 / 下午 星期 時 分 秒 毫秒微秒 納秒1. Date 類表示時間的常用類,精確到毫秒該類部分方法已經(jīng)過時已過時的方法,不建議使用(但是能用 ),肯定會有替代的方法來使用,必須去參考幫助文檔。Dat
43、e() 用于描述具體時間 其中空的方法的體的構(gòu)造方法不過時,要求掌握,表 示創(chuàng)建出當前時間的一個對象 包含 年 月 日 星期 時 分 秒Date(long )用于描述一個具體的時間段System.currentTimeMillis(); 得到 java 的當前時間2. Calendar 類3. Locale 類主要包含國家和語言中文/中國zh/CN英文/美國en/USgetAvailableLocales ()得到本機所支持的所有的國家和語言getDefault()得到本機默認的國家和語言4. TimeZone 類描述時區(qū)信息的一個類getDefault()獲取此主機的默認TimeZ ona5
44、. GregorianCalendar 類要求掌握構(gòu)造方法創(chuàng)建出對象,使用方式可以和Calendar保持一致6. DateFormat 類自學7. SimpleDateFormat 類該提供了從DateString的轉(zhuǎn)換方法/ 從 Date - Stringnew SimpleDateFormat(yyyy 年 MM 月 dd 日 HH 時 mm 分 ss 秒 SSS毫秒z Z aE).format( new Date()/從String - Date /前提是String里面的容一定是一個日期使用Parse()來完成轉(zhuǎn)換,但是要注意String里面的日期的形式一定要和日期模式字符串相匹配數(shù)學
45、類1. Math 類ceil(),向上取整floor(),向下取整round()返回最接近參數(shù)的max(), mi n() , abs()random()產(chǎn)生0.01.0之間的隨機數(shù)Random類隨機類在計算中沒有真正的隨機,偽隨機數(shù)根據(jù)算法“線性同余”來產(chǎn)生的隨機數(shù)BigI nteger/BigDecimal要求掌握BigDecimal可以使用setScale()用保留小數(shù)點精度NumberFormat/DecimalFormat 類作業(yè):Sssq : 200910 2009-10-01 2009-10-31 2009-9-30(1) 編寫一個方法 public String getFirs
46、tDayOfMonth(String sssq) 返回當前月的第一天(2) 編寫一個方法 public String getLastDayOfMonth(String sssq) 返回當前月的最后一天(3) 編寫一個方法 public String getLastDayOfPrevMonth(String sssq)返回當上個月的最 后一天(4) 寫一個方法計算兩個日期之間差多少天(思考題 )(5) 3.96 格式化成貨幣第十四天課程 (2012-7-27)集合類 (重點 )來自于 java.util 包使用集合 (容器 )在存儲對象,來管理對象。集合相當于使用可變長度的數(shù)組來存儲和管理對象。
47、要求:對常用集合的基本操作。1、定義一個集合2、如何將對象放置到集合中3、如何刪除放在集合中的對象4、 如何去遍歷集合中的對象查詢在 java 語言常用的集合的分類按照這存儲對象的方式來劃分存儲單一對象的常用集合: Collection 、 List 、 Set (接口)存儲鍵值對的常用集合 : Map (接口)用于遍歷輸出集合的接口 : Iterator 、Enumration(LinkIterator) ( 接口 )Set 集 里面存放的對象是無序(理論上 HashCode 碼來 )的, 所以要求對象不允許出現(xiàn)重復 . = 這種具體有特點: 放入對象的時候速度較快,而查詢的時候速度較慢。L
48、ist 列表 有序列表 存放在里面的對象是按照一定順序放置, 可以允許出現(xiàn)重復對象 放入對象時操作速度較慢,而查詢對象的時候速度較快,因為可以直接從指 定位置處去訪問該對象。接口名稱方法名稱方法功能備注:以后凡是遇到集合需要進行遍歷的,統(tǒng)一使用iterator來進行處理在java語言null值不參與任何比較,但處于理論上的最大值 集合的具體應(yīng)用 存放的自定義對象Set接口下面常用實現(xiàn)類(不允許出現(xiàn)重復元素)HashSet散列集合采用hasdcode來碼來描述元素的存放TreeSet樹,順序集合采用樹結(jié)構(gòu)來描述hashCode()總結(jié):使用Set集合來存放自定義對象的時候,要求編寫的那個類必須重
49、寫equals。、而且必須要去實現(xiàn) Comparable 重寫compareTo 。List 接口下面常用現(xiàn)實類(允許岀現(xiàn)重復元素,帶有順序)ArrayList (60%)數(shù)組列表 重點Vector矢量列表該類是線程安全的Stack棧也是線程安全的Push() 入棧pop() 彈棧peek()返回棧頂?shù)呢K兀撠K夭怀鰲5谑逄煺n程(2012-7-30)假設(shè)你要在淘寶開個店,賣衣服,鞋子,(使用java 語言開發(fā)的)肯定虛擬的倉庫,對這個倉庫進行管理,能過對倉庫中的貨物進行增、刪、改、查注意:實戰(zhàn)過程中一定要按照面向接口的編程Map接口下的實現(xiàn)子類注map中以key=value的形式存放,但
50、無順序HashMap (30%)重點HashTable (用于多任務(wù)分發(fā))線程安全的TreeMap有序map作業(yè):(1) 使用 ArrayList 來完成學校對學生的管理。 需要一個學校的類 學生類 然后在學校類中對學生進行增刪改查 一個學校對應(yīng)多個學生 一個學生對應(yīng)一個學校(2) 使用 Map 來實現(xiàn)對考試系統(tǒng)中題庫的管理 題目的編號 = 題目的容 String = StringA001 = java 語言的特點 ? 題目的對象 題目的容 題目的選項 題目的答案 題 目的分值(3) 使用 Enumeration 接口遍歷 Vector 使用 elements() 方法(4) 定一個集合來裝載
51、一副牌, 把這一副打亂 ( 洗牌 ) ,給東南西北四人發(fā)牌 , 最后輸出每 個人手中的牌任何一個系統(tǒng)的配置文件的發(fā)展過程 :.ini表示系統(tǒng)配置文件 里面是字符串 key = value.Properties 結(jié)尾的配置文件 里面是鍵 = 值對的容 .xml結(jié)尾配置文件里面是 xml 的字符串Properties 屬性類 ( 重點 )配置文件 .properties結(jié)尾的文件掌握點:(1)能夠讀取系統(tǒng)環(huán)境變量Properties p = System.getProperties()注 : 系統(tǒng)的環(huán)境變量參數(shù)是只讀的 .(2)夠使用該類操作屬性文件store() 保存 load()加載Enume
52、ration 接口 用于遍歷屬性類文件 ( 線程安全的遍歷接口 ) 主要為了在多線程中來操作遍歷屬性類文件而創(chuàng)建的。 熟練掌握 與 Iterator 遍歷的區(qū)別:Iterator 用于遍歷 Collection 及其 子接口下面所有的類, 是線程不安全 而 且在遍歷的過程可以使用迭代來刪除集合中的元素,但是此時的集合是被該迭代鎖定。Enumeration 暫時只用于遍歷 Properties 線程安全的,遍歷過程中不允許刪除 集合的值(3) 操作 xml 文件 storeToXml() 保存成 XML 文件 loadFromXml() 加載 xml 文件常用的集合操作類Collections 類public static void sort(List list)排序 注意給自己定義的對象進行排序的話需要實現(xiàn) Comparable 接口 ,按照重寫的 compareTo ()方法來定制自己的規(guī)則。public static void reverse(List list)反轉(zhuǎn)public static void shuffle(List list)打亂 發(fā)牌,打麻將public static void copy(List dest
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學校清真灶管理制度
- 學校考勤誰管理制度
- 學生上放學管理制度
- 學生洗浴室管理制度
- 安保部查崗管理制度
- 安全生產(chǎn)科管理制度
- 實行會員制管理制度
- 寵物店封閉管理制度
- 客運車安全管理制度
- 室外充電樁管理制度
- DB61-T 5071-2023 鋼管桁架裝配式預應(yīng)力混凝土疊合板技術(shù)標準
- 梅觀高速公路安全性評價報告
- 智能機器人介紹課件
- 電商平臺的運營和增長策略
- 了解靜電靜電的基本概念和特性
- 交-直-交變壓變頻器中逆變器的仿真
- 《塞翁失馬》課件
- DL-T 2613-2023 電力行業(yè)網(wǎng)絡(luò)安全等級保護測評指南
- 天津市第一屆未來之星初中數(shù)學邀請賽(有答案版)
- 第九屆全國大學生化學實驗邀請賽無機分析題
- 單位就業(yè)人員登記表
評論
0/150
提交評論