java ME數(shù)據(jù)處理和工具類_第1頁(yè)
java ME數(shù)據(jù)處理和工具類_第2頁(yè)
java ME數(shù)據(jù)處理和工具類_第3頁(yè)
java ME數(shù)據(jù)處理和工具類_第4頁(yè)
java ME數(shù)據(jù)處理和工具類_第5頁(yè)
已閱讀5頁(yè),還剩80頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第第7章章 數(shù)據(jù)處理和工具類數(shù)據(jù)處理和工具類 本章教學(xué)內(nèi)容本章教學(xué)內(nèi)容 o 7.1 用用Math類進(jìn)行數(shù)值運(yùn)算類進(jìn)行數(shù)值運(yùn)算 o 7.2 用用String類進(jìn)行字符串處理類進(jìn)行字符串處理 o 7.3 用用StringBuffer類進(jìn)行字符串處理類進(jìn)行字符串處理 o 7.4 獲取系統(tǒng)詳細(xì)時(shí)間獲取系統(tǒng)詳細(xì)時(shí)間 o 7.5 用用Random類生成隨機(jī)數(shù)類生成隨機(jī)數(shù) o 7.6 用集合容納對(duì)象用集合容納對(duì)象 o 7.7 定時(shí)器定時(shí)器 o 7.8 轉(zhuǎn)換數(shù)據(jù)類型轉(zhuǎn)換數(shù)據(jù)類型 本章導(dǎo)讀語(yǔ)本章導(dǎo)讀語(yǔ) o 在進(jìn)行在進(jìn)行JavaME移動(dòng)開發(fā)時(shí),需要經(jīng)常用到一些常移動(dòng)開發(fā)時(shí),需要經(jīng)常用到一些常 見的工具類,本章主要

2、講解以下幾個(gè)功能見的工具類,本章主要講解以下幾個(gè)功能: n數(shù)值運(yùn)算:數(shù)值運(yùn)算:java.lang.Math; n字符串處理:字符串處理:java.lang.String java.lang.StringBuffer; n時(shí)間管理:時(shí)間管理:java.util.Date、java.util.Calendar、 java.util.TimeZone。 n隨機(jī)數(shù):隨機(jī)數(shù):java.util.Random; n集合:集合:java.util.Vector、java.util.Hashtable; n定時(shí)器:定時(shí)器:java.util.Timer、java.util.TimerTask; n數(shù)據(jù)類型轉(zhuǎn)換

3、數(shù)據(jù)類型轉(zhuǎn)換。 7.1 用用Math類進(jìn)行數(shù)值運(yùn)算類進(jìn)行數(shù)值運(yùn)算 o 數(shù)值運(yùn)算所用到的是數(shù)值運(yùn)算所用到的是java.lang.Math類類, o Math類提供了大量的方法,來(lái)支持各種數(shù)學(xué)類提供了大量的方法,來(lái)支持各種數(shù)學(xué) 運(yùn)算及其他有關(guān)運(yùn)算運(yùn)算及其他有關(guān)運(yùn)算。 o Math類沒有可用的構(gòu)造函數(shù)類沒有可用的構(gòu)造函數(shù)。 o 這個(gè)類的成員函數(shù)一般用靜態(tài)方法的形式對(duì)這個(gè)類的成員函數(shù)一般用靜態(tài)方法的形式對(duì) 外公布。因此,可以調(diào)用里面的靜態(tài)函數(shù)或外公布。因此,可以調(diào)用里面的靜態(tài)函數(shù)或 者訪問靜態(tài)變量者訪問靜態(tài)變量。 7.1 用用Math類進(jìn)行數(shù)值運(yùn)算類進(jìn)行數(shù)值運(yùn)算 o 其功能主要有其功能主要有: n 1

4、:自然對(duì)數(shù):自然對(duì)數(shù)e: n public static final double E= 2.718281828459045d n 2:圓周率:圓周率: n public static final double PI= 3.141592653589793d n 3:計(jì)算絕對(duì)值:計(jì)算絕對(duì)值: n public static double abs(double/float/int/long a) n 4:不小于一個(gè)數(shù)字的最小整數(shù):不小于一個(gè)數(shù)字的最小整數(shù): n public static double ceil(double a) 7.1 用用Math類進(jìn)行數(shù)值運(yùn)算類進(jìn)行數(shù)值運(yùn)算 n 5:不大于一

5、個(gè)數(shù)字的最大正整數(shù):不大于一個(gè)數(shù)字的最大正整數(shù): n public static double floor(double a) n 6:兩數(shù)中較大的那個(gè):兩數(shù)中較大的那個(gè): n public static double max (double/float/int/long a, double/float/int/long b) n 7:兩數(shù)中較小的那個(gè):兩數(shù)中較小的那個(gè): n public static double min (double/float/int/long a, double/float/int/long b) n 8:開平方:開平方: n public static doubl

6、e sqrt(double a) 7.1 用用Math類進(jìn)行數(shù)值運(yùn)算類進(jìn)行數(shù)值運(yùn)算 n 9:求一個(gè)弧度值的正弦:求一個(gè)弧度值的正弦: n public static double sin(double a) n 10:求一個(gè)弧度值的余弦:求一個(gè)弧度值的余弦: n public static double cos(double a) n 11:求一個(gè)弧度值的正切:求一個(gè)弧度值的正切: n public static double tan(double a) n 12:弧度轉(zhuǎn)角度:弧度轉(zhuǎn)角度(180度等于度等于PI弧度弧度): n public static double toDegrees(do

7、uble angrad) n 13:角度轉(zhuǎn)弧度:角度轉(zhuǎn)弧度: n public static double toRadians(double angdeg) 7.1 用用Math類進(jìn)行數(shù)值運(yùn)算類進(jìn)行數(shù)值運(yùn)算 o 實(shí)例演示:實(shí)例演示:Midlet1.java 7.2 用用String類進(jìn)行字符串處理類進(jìn)行字符串處理 o 字符串是字符序列的集合,也可以將其看做字字符串是字符序列的集合,也可以將其看做字 符數(shù)組符數(shù)組。 o Java語(yǔ)言中利用語(yǔ)言中利用java.lang.String類對(duì)字類對(duì)字 符串進(jìn)行表達(dá),符串進(jìn)行表達(dá),String類將字符串保存在類將字符串保存在 char類型的數(shù)組中,并對(duì)其進(jìn)

8、行有效的管理類型的數(shù)組中,并對(duì)其進(jìn)行有效的管理。 o String類提供了大量的方法,來(lái)支持各種字類提供了大量的方法,來(lái)支持各種字 符串操作符串操作。 7.2 用用String類進(jìn)行字符串處理類進(jìn)行字符串處理 o String常見的構(gòu)造函數(shù)是:常見的構(gòu)造函數(shù)是: n 1:傳入一個(gè)字符串,初始化字符串對(duì)象:傳入一個(gè)字符串,初始化字符串對(duì)象: n 2:傳入一個(gè)字符數(shù)組,初始化字符串對(duì)象:傳入一個(gè)字符數(shù)組,初始化字符串對(duì)象: n 3:傳入一個(gè)字節(jié)數(shù)組,初始化字符串對(duì)象:傳入一個(gè)字節(jié)數(shù)組,初始化字符串對(duì)象: 7.2 用用String類進(jìn)行字符串處理類進(jìn)行字符串處理 o 生成字符串對(duì)象:生成字符串對(duì)象:

9、 o 直接賦值的方法,相當(dāng)于在字符串池里面尋找是直接賦值的方法,相當(dāng)于在字符串池里面尋找是 否有相同內(nèi)容的字符串,如果沒有,就生成新對(duì)否有相同內(nèi)容的字符串,如果沒有,就生成新對(duì) 象放入池,否則就使用池內(nèi)已經(jīng)存在的字符串。象放入池,否則就使用池內(nèi)已經(jīng)存在的字符串。 o 用用new的方法實(shí)例化一個(gè)字符串對(duì)象,則會(huì)給這的方法實(shí)例化一個(gè)字符串對(duì)象,則會(huì)給這 個(gè)對(duì)象分配新的內(nèi)存。個(gè)對(duì)象分配新的內(nèi)存。 String str = “China”; 7.2 用用String類進(jìn)行字符串處理類進(jìn)行字符串處理 o 示例:示例: String str1 = “China”; /實(shí)例化字符串對(duì)象放入池中實(shí)例化字符串對(duì)

10、象放入池中 String str2 = “China”; /使用池中的那個(gè)對(duì)象,因?yàn)槌刂杏惺褂贸刂械哪莻€(gè)對(duì)象,因?yàn)槌刂杏小癈hina” String str3 = new String(“China”); /實(shí)例化一個(gè)新對(duì)象實(shí)例化一個(gè)新對(duì)象 String str4 = new String(“China”); /實(shí)例化一個(gè)新對(duì)象實(shí)例化一個(gè)新對(duì)象 System.out.println(str1=str2); /打印打印true System.out.println(str1=str3); /打印打印false System.out.println(str3=str4); /打印打印false 7

11、.2 用用String類進(jìn)行字符串處理類進(jìn)行字符串處理 o String類常用方法:類常用方法: n 1:返回某位置的字符:返回某位置的字符: n public char charAt(int index) n 2:連接某個(gè)字符串,返回連接后的結(jié)果,效果和:連接某個(gè)字符串,返回連接后的結(jié)果,效果和+ 類似:類似: n public String concat(String str) n 3:判斷字符串是否以某串結(jié)尾:判斷字符串是否以某串結(jié)尾 /開頭:開頭: n public boolean endsWith(String suffix)/startsWith(String prefix) 7.

12、2 用用String類進(jìn)行字符串處理類進(jìn)行字符串處理 n 4:字符串內(nèi)容是否相等:字符串內(nèi)容是否相等/不區(qū)分大小寫情況下是否不區(qū)分大小寫情況下是否 相等:相等: n public boolean equals(Object anObject)/equalsIgnoreCase(String anotherString) n 5:根據(jù)默認(rèn)字符集轉(zhuǎn)成字節(jié)數(shù)組:根據(jù)默認(rèn)字符集轉(zhuǎn)成字節(jié)數(shù)組: n public byte getBytes() 7.2 用用String類進(jìn)行字符串處理類進(jìn)行字符串處理 n 6:根據(jù)相應(yīng)字符集轉(zhuǎn)成字節(jié)數(shù)組:根據(jù)相應(yīng)字符集轉(zhuǎn)成字節(jié)數(shù)組: n public byte getBy

13、tes(String enc) n 7:返回字符在串中位置:返回字符在串中位置: n public int indexOf(int ch)/int indexOf(int ch, int fromIndex) n 8:返回字符串在串中位置:返回字符串在串中位置: n public int indexOf(String str)/int indexOf(String str, int fromIndex) 7.2 用用String類進(jìn)行字符串處理類進(jìn)行字符串處理 n 9:字符串長(zhǎng)度:字符串長(zhǎng)度: n public int length() n 10:替換字符:替換字符: n public Str

14、ing replace(char oldChar, char newChar) n 11:截取某段:截取某段: n public String substring(int beginIndex)/substring(int beginIndex, int endIndex) 7.2 用用String類進(jìn)行字符串處理類進(jìn)行字符串處理 n 12:轉(zhuǎn)為字符數(shù)組:轉(zhuǎn)為字符數(shù)組: n public char toCharArray() n 13:轉(zhuǎn)小寫:轉(zhuǎn)小寫/大寫:大寫: n public String toLowerCase() /toUpperCase() n 14:去掉兩邊空格:去掉兩邊空格:

15、n public String trim() n 15:將各種類型轉(zhuǎn)為字符串:將各種類型轉(zhuǎn)為字符串: n public static String valueOf(各種類型各種類型) 7.2 用用String類進(jìn)行字符串處理類進(jìn)行字符串處理 o 實(shí)例演示:實(shí)例演示:Midlet2.java 7.3 用用StringBuffer類進(jìn)行字符串處理類進(jìn)行字符串處理 o java.lang.StringBuffer 類似于類似于String。與。與 String相比,相比,StringBuffer類實(shí)際上是可變的類實(shí)際上是可變的 字符串,能節(jié)省資源,并且對(duì)字符串的操作提供字符串,能節(jié)省資源,并且對(duì)字符

16、串的操作提供 了更加靈活的方法了更加靈活的方法。 o 例如例如: o 結(jié)果不是結(jié)果不是“CAina”,還是,還是“China”。 String str = “China”; str.replace(h, A); 7.3 用用StringBuffer類進(jìn)行字符串處理類進(jìn)行字符串處理 n 因?yàn)橐驗(yàn)镾tring內(nèi)封裝的是不可變的字符串,如內(nèi)封裝的是不可變的字符串,如 果要將其進(jìn)行一些處理,就必須得到返回值。果要將其進(jìn)行一些處理,就必須得到返回值。 代碼可以改為:代碼可以改為: n 這種情況操作不便,因?yàn)樾律闪艘粋€(gè)對(duì)象這種情況操作不便,因?yàn)樾律闪艘粋€(gè)對(duì)象 newStr,額外分配了內(nèi)存,額外分配了內(nèi)

17、存 String str = “China”; String newStr = str.replace(h, A); 7.3 用用StringBuffer類進(jìn)行字符串處理類進(jìn)行字符串處理 o StringBuffer類就可以避免這個(gè)問題,類就可以避免這個(gè)問題, Java語(yǔ)言中利用語(yǔ)言中利用StringBuffer類對(duì)可變字類對(duì)可變字 符串進(jìn)行處理符串進(jìn)行處理。 7.3 用用StringBuffer類進(jìn)行字符串處理類進(jìn)行字符串處理 o StringBuffer常見的構(gòu)造函數(shù)有常見的構(gòu)造函數(shù)有2個(gè):個(gè): n 1:實(shí)例化一個(gè)空的:實(shí)例化一個(gè)空的StringBuffer對(duì)象:對(duì)象: n 2:傳入一個(gè)字

18、符串組成:傳入一個(gè)字符串組成StringBuffer對(duì)象:對(duì)象: 7.3 用用StringBuffer類進(jìn)行字符串處理類進(jìn)行字符串處理 o StringBuffer類常用方法:類常用方法: n 1:在字符串末尾添加各種類型:在字符串末尾添加各種類型: n public StringBuffer append(各種類型各種類型) n 2:在某個(gè)位置添加各種類型:在某個(gè)位置添加各種類型: n public StringBuffer insert(int offset, 各各 種類型種類型) n 3:刪除字符或某一段字符串:刪除字符或某一段字符串: n deleteCharAt(int index)

19、 / public StringBuffer delete(int start, int end) n 4:包含的字符數(shù):包含的字符數(shù): n public int length() 7.3 用用StringBuffer類進(jìn)行字符串處理類進(jìn)行字符串處理 n 5:返回某位置的字符:返回某位置的字符: n public char charAt(int index) n 6:得到一段字符:得到一段字符: n public void getChars(int srcBegin, int srcEnd, char dst, int dstBegin) n 7:字符串倒轉(zhuǎn):字符串倒轉(zhuǎn): n public S

20、tringBuffer reverse() n 8:替換某個(gè)位置的字符:替換某個(gè)位置的字符: n public void setCharAt(int index, char ch) n 9:轉(zhuǎn)為字符串:轉(zhuǎn)為字符串: n public String toString() 7.3 用用StringBuffer類進(jìn)行字符串處理類進(jìn)行字符串處理 o 實(shí)例演示:實(shí)例演示:Midlet3.java 7.4 獲取系統(tǒng)詳細(xì)時(shí)間獲取系統(tǒng)詳細(xì)時(shí)間 o JavaME中提供了靈活的時(shí)間管理方法,時(shí)間中提供了靈活的時(shí)間管理方法,時(shí)間 管理牽涉到時(shí)間日期等,主要用到管理牽涉到時(shí)間日期等,主要用到三三個(gè)類個(gè)類: n 1:日

21、期時(shí)間類:日期時(shí)間類:java.util.Date; n 2:日歷類:日歷類:java.util.Calendar; n 3:時(shí)區(qū)類:時(shí)區(qū)類: java.util.TimeZone。 7.4 獲取系統(tǒng)詳細(xì)時(shí)間獲取系統(tǒng)詳細(xì)時(shí)間 o Date和和Calendar類配合起來(lái),提供了對(duì)類配合起來(lái),提供了對(duì) 日期時(shí)間的封裝和操作日期時(shí)間的封裝和操作。 o Date類可以初始化日期時(shí)間,但是卻無(wú)法類可以初始化日期時(shí)間,但是卻無(wú)法 獲得具體的年、月、日或者小時(shí)、分、秒,獲得具體的年、月、日或者小時(shí)、分、秒, 如果要得到具體的日期時(shí)間項(xiàng)目,就必須和如果要得到具體的日期時(shí)間項(xiàng)目,就必須和 Calendar類配合

22、類配合。 7.4 獲取系統(tǒng)詳細(xì)時(shí)間獲取系統(tǒng)詳細(xì)時(shí)間 o Calendar類沒有可用的構(gòu)造函數(shù)類沒有可用的構(gòu)造函數(shù),可用以下函數(shù)得,可用以下函數(shù)得 到到Calendar對(duì)象對(duì)象: o 得到日歷對(duì)象之后,可以用以下函數(shù)來(lái)改變其封裝的得到日歷對(duì)象之后,可以用以下函數(shù)來(lái)改變其封裝的 時(shí)間日期時(shí)間日期: o 得到具體的時(shí)間項(xiàng)目,如年,月,日得到具體的時(shí)間項(xiàng)目,如年,月,日??梢允褂谩?梢允褂?Calendar類類的函數(shù)的函數(shù): 7.4 獲取系統(tǒng)詳細(xì)時(shí)間獲取系統(tǒng)詳細(xì)時(shí)間 o 可以得到對(duì)應(yīng)的項(xiàng)目,其參數(shù)可以由以下值指定:可以得到對(duì)應(yīng)的項(xiàng)目,其參數(shù)可以由以下值指定: n 1:Calendar.YEAR:年:年

23、 n 2:Calendar.MONTH:月:月 n 3:Calendar.DAY_OF_MONTH:日:日 n 4:Calendar.DAY_OF_WEEK:星期:星期 n 5:Calendar.HOUR:小時(shí):小時(shí) n 6:Calendar.HOUR_OF_DAY:小時(shí)(按照:小時(shí)(按照24小時(shí)算)小時(shí)算) n 7:Calendar.MINUTE:分鐘:分鐘 n 8:Calendar.SECOND:秒鐘:秒鐘 7.4 獲取系統(tǒng)詳細(xì)時(shí)間獲取系統(tǒng)詳細(xì)時(shí)間 o 例子:例子: Calendar c = Calendar.getInstance(); System.out.println (年:年:

24、+ c.get(Calendar.YEAR); System.out.println (月:月: + c.get(Calendar.MONTH); 7.4 獲取系統(tǒng)詳細(xì)時(shí)間獲取系統(tǒng)詳細(xì)時(shí)間 o 實(shí)例演示:實(shí)例演示: Midlet4.java 7.4 獲取系統(tǒng)詳細(xì)時(shí)間獲取系統(tǒng)詳細(xì)時(shí)間 o 注意,在這里,月份中注意,在這里,月份中1月份系統(tǒng)認(rèn)為是月份系統(tǒng)認(rèn)為是0, 而星期天認(rèn)為是一周中的第一天;小時(shí)數(shù)字而星期天認(rèn)為是一周中的第一天;小時(shí)數(shù)字 是按照是按照格林威治時(shí)間格林威治時(shí)間算的。算的。 7.4 獲取系統(tǒng)詳細(xì)時(shí)間獲取系統(tǒng)詳細(xì)時(shí)間 了解時(shí)區(qū)了解時(shí)區(qū) o TimeZone類提供了對(duì)時(shí)區(qū)的封裝。該類類

25、提供了對(duì)時(shí)區(qū)的封裝。該類 有一個(gè)構(gòu)造函數(shù):有一個(gè)構(gòu)造函數(shù): o 一般不用這個(gè)構(gòu)造函數(shù)來(lái)實(shí)例化對(duì)象,而使一般不用這個(gè)構(gòu)造函數(shù)來(lái)實(shí)例化對(duì)象,而使 用靜態(tài)函數(shù)來(lái)獲得對(duì)象:用靜態(tài)函數(shù)來(lái)獲得對(duì)象: 7.4 獲取系統(tǒng)詳細(xì)時(shí)間獲取系統(tǒng)詳細(xì)時(shí)間 o 1:得到默認(rèn)的時(shí)區(qū)對(duì)象:得到默認(rèn)的時(shí)區(qū)對(duì)象: o 2:得到指定:得到指定ID的時(shí)區(qū)對(duì)象:的時(shí)區(qū)對(duì)象: o 注意,不同的模擬器中支持的時(shí)區(qū)注意,不同的模擬器中支持的時(shí)區(qū)ID不一不一 定相同,可以通過如下靜態(tài)函數(shù)得到系統(tǒng)中定相同,可以通過如下靜態(tài)函數(shù)得到系統(tǒng)中 可用的時(shí)區(qū)可用的時(shí)區(qū)ID: 7.4 獲取系統(tǒng)詳細(xì)時(shí)間獲取系統(tǒng)詳細(xì)時(shí)間 o獲取時(shí)區(qū)實(shí)例:獲取時(shí)區(qū)實(shí)例: Mid

26、let5.java 7.5 用用Random類生成隨機(jī)數(shù)類生成隨機(jī)數(shù) o java.util.Random類提供了生成隨機(jī)數(shù)的方法。類提供了生成隨機(jī)數(shù)的方法。 o Random類有兩個(gè)構(gòu)造函數(shù):類有兩個(gè)構(gòu)造函數(shù): n1:直接生成直接生成Random類對(duì)象:類對(duì)象: n2:傳入一個(gè)種子,生成傳入一個(gè)種子,生成Random類對(duì)象:類對(duì)象: 7.5 用用Random類生成隨機(jī)數(shù)類生成隨機(jī)數(shù) o Random類的常用方法:類的常用方法: n 1:生成一個(gè):生成一個(gè)0-1之間的之間的double隨機(jī)數(shù):隨機(jī)數(shù): n 2:生成一個(gè):生成一個(gè)0-n之間的隨機(jī)整數(shù):之間的隨機(jī)整數(shù): 7.5 用用Random類

27、生成隨機(jī)數(shù)類生成隨機(jī)數(shù) o實(shí)例演示:實(shí)例演示: Midlet6.java 7.6 用集合容納對(duì)象用集合容納對(duì)象 o 數(shù)組數(shù)組:一旦聲明,長(zhǎng)度不可改變:一旦聲明,長(zhǎng)度不可改變 o 向量向量:也是一種數(shù)組:也是一種數(shù)組 o 作用作用: 保存順序的數(shù)組保存順序的數(shù)組 對(duì)數(shù)組進(jìn)行處理和操作對(duì)數(shù)組進(jìn)行處理和操作 o 所屬所屬:java.util包(專門保存各種工具類)包(專門保存各種工具類) 允許不同數(shù)據(jù)類型共存允許不同數(shù)據(jù)類型共存可變長(zhǎng)可變長(zhǎng) 7.6 用集合容納對(duì)象用集合容納對(duì)象 o Vector類提供了容納多個(gè)對(duì)象的功能,對(duì)象類提供了容納多個(gè)對(duì)象的功能,對(duì)象 在在Vector中具有順序。中具有順序。

28、 o Vector常見的構(gòu)造函數(shù)是:常見的構(gòu)造函數(shù)是: 7.6 用集合容納對(duì)象用集合容納對(duì)象 o Vector類的類的常用常用方法方法: n 1:在末尾添加一個(gè)對(duì)象:在末尾添加一個(gè)對(duì)象: n public void addElement(Object obj) n 2:判斷是否包含某個(gè)對(duì)象:判斷是否包含某個(gè)對(duì)象: n public boolean contains(Object elem) n 3:將:將Vector轉(zhuǎn)為對(duì)象數(shù)組:轉(zhuǎn)為對(duì)象數(shù)組: n public void copyInto(Object anArray) n 4:得到某個(gè)位置的對(duì)象:得到某個(gè)位置的對(duì)象: n public Ob

29、ject elementAt(int index) 7.6 用集合容納對(duì)象用集合容納對(duì)象 n 5:得到第一個(gè)對(duì)象:得到第一個(gè)對(duì)象: n public Object firstElement() n 6:返回某個(gè)對(duì)象的位置:返回某個(gè)對(duì)象的位置: n public int indexOf(Object elem) n 7:在某位置插入一個(gè)對(duì)象,后面的對(duì)象后移:在某位置插入一個(gè)對(duì)象,后面的對(duì)象后移: n public void insertElementAt(Object obj, int index) n 8:判斷集合是否為空:判斷集合是否為空: n public boolean isEmpty(

30、) n 9:得到最后一個(gè)對(duì)象:得到最后一個(gè)對(duì)象: n public Object lastElement() 7.6 用集合容納對(duì)象用集合容納對(duì)象 n 10:清空集合:清空集合: n public void removeAllElements() n 11:移除某個(gè)對(duì)象:移除某個(gè)對(duì)象: n public boolean removeElement(Object obj) n 12:移除某個(gè)位置的對(duì)象:移除某個(gè)位置的對(duì)象: n public void removeElementAt(int index) n 13:修改某個(gè)位置的對(duì)象:修改某個(gè)位置的對(duì)象: n public void setEle

31、mentAt(Object obj, int index) n 14:返回集合大?。悍祷丶洗笮。?n public int size() 7.6 用集合容納對(duì)象用集合容納對(duì)象 o 對(duì)集合進(jìn)行遍歷對(duì)集合進(jìn)行遍歷示例示例: Vector v = new Vector(); /添加添加 v.addElement(中國(guó)中國(guó)); v.addElement(美國(guó)美國(guó)); v.addElement(日本日本); v.addElement(韓國(guó)韓國(guó)); /遍歷遍歷 int size = v.size(); for(int i=0;isize;i+) String str = (String)v.elemen

32、tAt(i); System.out.println(str); 7.6 用集合容納對(duì)象用集合容納對(duì)象 o實(shí)例演示:實(shí)例演示: Midlet7.java 7.6 用集合容納對(duì)象用集合容納對(duì)象 o Hashtable類也提供了容納多個(gè)對(duì)象的功能,類也提供了容納多個(gè)對(duì)象的功能, 并且,可以為每個(gè)對(duì)象指定一個(gè)并且,可以為每個(gè)對(duì)象指定一個(gè)key值。如圖所值。如圖所 示示: o 注意,如果為兩個(gè)不同的對(duì)象指定同一個(gè)注意,如果為兩個(gè)不同的對(duì)象指定同一個(gè)key值,值, 后面的將會(huì)把前面的覆蓋。對(duì)象在后面的將會(huì)把前面的覆蓋。對(duì)象在Hashtable 中沒有順序中沒有順序。 7.6 用集合容納對(duì)象用集合容納對(duì)象

33、 oHashtable類常用的構(gòu)造函數(shù)是:類常用的構(gòu)造函數(shù)是: o生成一個(gè)空的生成一個(gè)空的Hashtable對(duì)象對(duì)象。 7.6 用集合容納對(duì)象用集合容納對(duì)象 o Hashtable類常用方法:類常用方法: n 1:清空:清空Hashtable: n public void clear() n 2:判斷是否包含某個(gè)對(duì)象:判斷是否包含某個(gè)對(duì)象: n public boolean contains(Object value) n 3:判斷是否包含某個(gè):判斷是否包含某個(gè)key值:值: n public boolean containsKey(Object key) n 4:根據(jù):根據(jù)key值得到某個(gè)對(duì)

34、象:值得到某個(gè)對(duì)象: n public Object get(Object key) 7.6 用集合容納對(duì)象用集合容納對(duì)象 n 5:判斷:判斷Hashtable是否為空:是否為空: n public boolean isEmpty() n 6:添加一個(gè)對(duì)象,并且指定:添加一個(gè)對(duì)象,并且指定key: n public Object put(Object key, Object value) n 7:根據(jù):根據(jù)key移除一個(gè)對(duì)象:移除一個(gè)對(duì)象: n public Object remove(Object key) 7.6 用集合容納對(duì)象用集合容納對(duì)象 n 8:得到:得到Hashtable大?。捍笮?/p>

35、: n public int size() n 9:得到所有:得到所有key值的枚舉:值的枚舉: n public Enumeration keys() n 10:得到所有對(duì)象的枚舉:得到所有對(duì)象的枚舉: n public Enumeration elements() 7.6 用集合容納對(duì)象用集合容納對(duì)象 Enumeration接口接口 有兩個(gè)函數(shù):有兩個(gè)函數(shù): n 1:判斷枚舉中是否還有元素:判斷枚舉中是否還有元素: n 2:得到枚舉中的下一個(gè)元素:得到枚舉中的下一個(gè)元素: 7.6 用集合容納對(duì)象用集合容納對(duì)象 o 對(duì)枚舉進(jìn)行遍歷:對(duì)枚舉進(jìn)行遍歷: o Hashtable無(wú)法通過下標(biāo)來(lái)訪問集

36、合中的元素,無(wú)法通過下標(biāo)來(lái)訪問集合中的元素, 因?yàn)樵厥菦]有順序的。但是,我們可以通過枚因?yàn)樵厥菦]有順序的。但是,我們可以通過枚 舉來(lái)進(jìn)行遍歷。舉來(lái)進(jìn)行遍歷。 Enumeration enu; while(enu.hasMoreElements() System.out.println(enu.nextElement(); 7.6 用集合容納對(duì)象用集合容納對(duì)象 o 對(duì)對(duì)Hashtable中的中的key進(jìn)行遍歷進(jìn)行遍歷 Hashtable ht = new Hashtable(); /添加添加 ht.put(姓名姓名, 張三張三); ht.put(年齡年齡, new Integer(25);

37、ht.put(性別性別, 男男); /得到所有的得到所有的key Enumeration enu1 = ht.keys(); while(enu1.hasMoreElements() System.out.println(enu1.nextElement (); 7.6 用集合容納對(duì)象用集合容納對(duì)象 o 對(duì)對(duì)Hashtable中的中的value進(jìn)行遍歷進(jìn)行遍歷 Hashtable ht = new Hashtable(); /添加添加 ht.put(姓名姓名, 張三張三); ht.put(年齡年齡, new Integer(25); ht.put(性別性別, 男男); /得到所有得到所有val

38、ue Enumeration enu2 = ht.elements(); while(enu2.hasMoreElements() System.out.println(enu2.nextElement (); 7.6 用集合容納對(duì)象用集合容納對(duì)象 o 對(duì)對(duì)Hashtable中的中的key和和value進(jìn)行遍歷進(jìn)行遍歷: Hashtable ht = new Hashtable(); /添加添加 ht.put(姓名姓名, 張三張三); ht.put(年齡年齡, new Integer(25); ht.put(性別性別, 男男); /得到所有得到所有value Enumeration enu1

39、= ht.keys(); while(enu1.hasMoreElements() String key = (String)enu1.nextElement(); System.out.println(key + : + ht.get(key); 7.6 用集合容納對(duì)象用集合容納對(duì)象 o實(shí)例演示:實(shí)例演示: Midlet8.java 7.7 定時(shí)器定時(shí)器 o 定時(shí)器的功能,也可以用多線程來(lái)實(shí)現(xiàn),定時(shí)器的功能,也可以用多線程來(lái)實(shí)現(xiàn), 只是在對(duì)時(shí)間和頻率的掌握上,定時(shí)器可只是在對(duì)時(shí)間和頻率的掌握上,定時(shí)器可 以做得更加方便。以做得更加方便。 7.7 定時(shí)器定時(shí)器 o 實(shí)例需求:實(shí)例需求: 定時(shí)器

40、開發(fā)電子鐘:定時(shí)器開發(fā)電子鐘: o 每隔一秒鐘,界面標(biāo)題上的時(shí)間就發(fā)生變每隔一秒鐘,界面標(biāo)題上的時(shí)間就發(fā)生變 化?;?。 7.7 定時(shí)器定時(shí)器 o 實(shí)例需求:實(shí)例需求: 定時(shí)器開發(fā)電子鐘定時(shí)器開發(fā)電子鐘 o 使用多線程實(shí)現(xiàn)使用多線程實(shí)現(xiàn) Midlet9.java 7.7 定時(shí)器定時(shí)器 o 定時(shí)器效果的實(shí)現(xiàn),依賴于兩個(gè)類:定時(shí)器效果的實(shí)現(xiàn),依賴于兩個(gè)類: n 1:定時(shí)器所作的具體工作類:定時(shí)器所作的具體工作類: java.util.TimerTask; n 2:定時(shí)器活動(dòng)控制類:定時(shí)器活動(dòng)控制類:java.util.Timer o TimerTask類沒有可用的構(gòu)造函數(shù),該類最重類沒有可用的構(gòu)造函

41、數(shù),該類最重 要的成員函數(shù)是:要的成員函數(shù)是: 7.7 定時(shí)器定時(shí)器 o Timer類有一個(gè)可用的構(gòu)造函數(shù):類有一個(gè)可用的構(gòu)造函數(shù): n 這個(gè)構(gòu)造函數(shù)可以實(shí)例化這個(gè)構(gòu)造函數(shù)可以實(shí)例化Timer對(duì)象,用它來(lái)對(duì)象,用它來(lái) 控制控制TimerTask對(duì)象的運(yùn)行。對(duì)象的運(yùn)行。 7.7 定時(shí)器定時(shí)器 o 將將Timer對(duì)象和對(duì)象和TimerTask對(duì)象綁定,在對(duì)象綁定,在Timer 類中有函數(shù):類中有函數(shù): n 1:某時(shí)刻觸發(fā):某時(shí)刻觸發(fā)TimerTask的的run函數(shù):函數(shù): o 如:如: 表示從現(xiàn)在開始運(yùn)行表示從現(xiàn)在開始運(yùn)行Task類中的類中的 run函數(shù)一次。函數(shù)一次。 Timer timer =

42、 new Timer(); timer.schedule(new Task(), new Date(); 7.7 定時(shí)器定時(shí)器 n 2:某段時(shí)間之后觸發(fā)一次:某段時(shí)間之后觸發(fā)一次TimerTask的的run 函數(shù):函數(shù): o 如:如: 表示表示1000毫秒之后運(yùn)行毫秒之后運(yùn)行Task類中的類中的run 函數(shù)一次。函數(shù)一次。 Timer timer = new Timer(); timer.schedule(new Task(), 1000); 7.7 定時(shí)器定時(shí)器 n 3:某段時(shí)間之后觸發(fā):某段時(shí)間之后觸發(fā)TimerTask的的run函函 數(shù)開始執(zhí)行,指定重復(fù)執(zhí)行的周期,單位是毫數(shù)開始執(zhí)行,指

43、定重復(fù)執(zhí)行的周期,單位是毫 秒:秒: o 如:如: 表示表示1000毫秒之后,運(yùn)行毫秒之后,運(yùn)行Task類中的類中的 run函數(shù),每函數(shù),每500毫秒一次。毫秒一次。 Timer timer = new Timer(); timer.schedule(new Task(), 1000, 500) 7.7 定時(shí)器定時(shí)器 n 4:某個(gè)時(shí)刻開始執(zhí)行:某個(gè)時(shí)刻開始執(zhí)行TimerTask的的run函函 數(shù),指定重復(fù)執(zhí)行的周期:數(shù),指定重復(fù)執(zhí)行的周期: o 如:如: 表示從現(xiàn)在開始,運(yùn)行表示從現(xiàn)在開始,運(yùn)行Task類中的類中的run 函數(shù),每函數(shù),每1000毫秒一次。毫秒一次。 Timer timer =

44、 new Timer(); timer.schedule(new Task(), new Date(),1000) 7.7 定時(shí)器定時(shí)器 o定時(shí)器中還有一個(gè)函數(shù)定時(shí)器中還有一個(gè)函數(shù): n 可以終止定時(shí)器的運(yùn)行。注意,可以終止定時(shí)器的運(yùn)行。注意,Timer終止之終止之 后,必須重新實(shí)例化后,必須重新實(shí)例化Timer對(duì)象和對(duì)象和 TimerTask對(duì)象,重新調(diào)用對(duì)象,重新調(diào)用schedue函數(shù)函數(shù) 來(lái)運(yùn)行來(lái)運(yùn)行。 7.7 定時(shí)器定時(shí)器 o 實(shí)例需求:實(shí)例需求: 定時(shí)器開發(fā)電子鐘定時(shí)器開發(fā)電子鐘 Midlet10.java 7.8 轉(zhuǎn)換數(shù)據(jù)類型轉(zhuǎn)換數(shù)據(jù)類型 o JavaME應(yīng)用中,經(jīng)常會(huì)遇到數(shù)據(jù)類型

45、的應(yīng)用中,經(jīng)常會(huì)遇到數(shù)據(jù)類型的 轉(zhuǎn)換,如文本框中輸入的字符串需要轉(zhuǎn)成轉(zhuǎn)換,如文本框中輸入的字符串需要轉(zhuǎn)成 數(shù)值等數(shù)值等。 7.8 轉(zhuǎn)換數(shù)據(jù)類型轉(zhuǎn)換數(shù)據(jù)類型 o 簡(jiǎn)單數(shù)據(jù)類型都對(duì)應(yīng)相應(yīng)的類簡(jiǎn)單數(shù)據(jù)類型都對(duì)應(yīng)相應(yīng)的類: n 1:boolean類型對(duì)應(yīng)的類:類型對(duì)應(yīng)的類:java.lang.Boolean; n 2:byte類型對(duì)應(yīng)的類:類型對(duì)應(yīng)的類:java.lang.Byte; n 3:char類型對(duì)應(yīng)的類:類型對(duì)應(yīng)的類:java.lang.Character; n 4:double類型對(duì)應(yīng)的類:類型對(duì)應(yīng)的類:java.lang.Double; n 5:float類型對(duì)應(yīng)的類:類型對(duì)應(yīng)的類:ja

46、va.lang.Float; n 6:int類型對(duì)應(yīng)的類:類型對(duì)應(yīng)的類:java.lang.Integer; n 7:long類型對(duì)應(yīng)的類:類型對(duì)應(yīng)的類:java.lang.Long; n 8:short類型對(duì)應(yīng)的類:類型對(duì)應(yīng)的類:java.lang.Short; n 9:String類:類:java.lang.String。 7.8 轉(zhuǎn)換數(shù)據(jù)類型轉(zhuǎn)換數(shù)據(jù)類型 o 將字符串轉(zhuǎn)為各種類型將字符串轉(zhuǎn)為各種類型: n 1:字符串轉(zhuǎn):字符串轉(zhuǎn)byte,可以用,可以用java.lang.Boolean內(nèi)函內(nèi)函 數(shù):數(shù): n 2:字符串轉(zhuǎn):字符串轉(zhuǎn)double,可以用,可以用java.lang.Double內(nèi)內(nèi) 函數(shù):函數(shù): o 或者或者: 7.8 轉(zhuǎn)換數(shù)據(jù)類型轉(zhuǎn)換數(shù)據(jù)類型 n 3:字符串轉(zhuǎn):字符串轉(zhuǎn)float,可以用,可以用java.lang.Float 內(nèi)函數(shù):內(nèi)函數(shù): o或者或者: 7.8 轉(zhuǎn)換數(shù)據(jù)類型轉(zhuǎn)換數(shù)據(jù)類型 n 4:字符串轉(zhuǎn):字符串轉(zhuǎn)int,可以用,可以用 java.lang.Integer內(nèi)函數(shù):內(nèi)函數(shù): o 或者:或者: 7.8 轉(zhuǎn)換數(shù)據(jù)類型轉(zhuǎn)換數(shù)據(jù)類型 n 5:字符串轉(zhuǎn):字符串轉(zhuǎn)long,可以用,可以用java.lang.Long 內(nèi)函數(shù):內(nèi)函數(shù):

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論