第6章 JavaAPI_補充案例_第1頁
第6章 JavaAPI_補充案例_第2頁
第6章 JavaAPI_補充案例_第3頁
第6章 JavaAPI_補充案例_第4頁
第6章 JavaAPI_補充案例_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、博學谷讓IT教學更簡單,讓IT學習更有效第六章 補充案例案例6-1 常見的創(chuàng)建字符串的方式一、案例描述 1、 考核知識點編號:00106001名稱:String類的初始化2、 練習目標Ø 掌握創(chuàng)建String對象的兩種方式Ø 掌握如何使用String類的構(gòu)造方法初始化String對象3、 需求分析String類中有很多重載的構(gòu)造方法,由于每個構(gòu)造方法有其不同的作用,所以在不同場景下如何選擇正確的構(gòu)造方法,對于初學者來說顯得尤為重要。為了讓初學者能熟悉每個構(gòu)造方法的用法,本案例將使用不同的構(gòu)造方法創(chuàng)建字符串,以加深對字符串初始化的理解。4、 設(shè)計思路(實現(xiàn)原理)1) 編寫Ex

2、ample01類。2) 在main()方法中分別使用不同的構(gòu)造方法創(chuàng)建字符串對象。3) 將字符串內(nèi)容輸出,根據(jù)打印結(jié)果觀察字符串之間的區(qū)別,熟悉不同構(gòu)造方法的用途。二、案例實現(xiàn)public class Example01public static void main(String args) / 方式1 String s1 = new String();s1 = "abcde"System.out.println("通過String()方法創(chuàng)建的字符串s1:" + s1);/ 方式2 byte bys = 97, 98, 99, 100, 101 ;St

3、ring s2 = new String(bys);System.out.println("通過String(byte bytes)方法創(chuàng)建的字符串s2:" + s2);/ 方式3 String s3 = new String(bys, 2, 3);System.out.println("通過String(byte bytes, int index, int length)方法創(chuàng)建的字符串s3:" + s3);/ 方式4 char chs = 'a', 'b', 'c', 'd', '

4、;e' ;String s4 = new String(chs);System.out.println("通過String(char value)方法創(chuàng)建的字符串s4:" + s4);/ 方式5 String s5 = new String(chs, 1, 3);System.out.println("通過String(char value, int index, int length)方法創(chuàng)建的字符串s5:" + s5);/ 方式6 String s6 = new String("abcde");System.out.pri

5、ntln("通過String(String str)方法創(chuàng)建的字符串s6:" + s6);/ 方式7String s7 = "abcde"System.out.println("直接給字符串對象賦值s7:" + s7);運行結(jié)果如圖6-1所示。圖6-1 運行結(jié)果三、案例總結(jié)上面介紹過了String類的常用構(gòu)造方法,一般情況下,常用的創(chuàng)建String對象的方式如下所示:String str1 = "string"String str2 = new String("string");這兩種創(chuàng)建方式是

6、有區(qū)別的,這和java的內(nèi)存管理有關(guān)。因為String對象創(chuàng)建后不可變,所以按照第一種方式創(chuàng)建的字符串會放在棧里,更確切的是常量池中,常量池就是用來保存在編譯階段確定好了大小的數(shù)據(jù),一般我們定義的int等基本數(shù)據(jù)類型就保存在這里。使用第一種創(chuàng)建字符串的方法時,編譯器首先檢查常量池,看看有沒有一個“string”,如果沒有則創(chuàng)建。如果有的話,則直接把str1指向那個位置。而第二種創(chuàng)建字符串的方法是通過new關(guān)鍵字,java會將new的對象放在堆中,這一部分對象是在運行時創(chuàng)建的對象。所以我們每一次new的時候,即便堆中已經(jīng)有了一個一模一樣的,都會創(chuàng)建不同的對象。接下來,通過一個例子來演示這兩種創(chuàng)建

7、字符串方式的區(qū)別。public class Example public static void main(String args) String str1 = "string"String str2 = new String("string");String str3 = new String("string");String str4 = "string"/* 用于測試兩種創(chuàng)建字符串方式的區(qū)別 */System.out.println("(str1 = str4): "+(str1 = st

8、r4);System.out.println("(str2 = str3): "+(str2 = str3);System.out.println("(str3 = str1): "+(str3 = str1);運行結(jié)果如圖6-2所示。圖6-2 運行結(jié)果案例6-2 字符串的判斷操作一、案例描述 1、 考核知識點編號:00106002名稱:String類的常見操作2、 練習目標Ø 掌握如何使用String類中的判斷方法對字符串進行操作。3、 需求分析String類中提供了許多對字符串進行判斷操作的方法,每個判斷操作都有其自己的使用場景,為了讓初學

9、者能快速熟悉每個判斷方法的用法,本案例將針對不同場景使用不同的判斷方法,并根據(jù)判斷操作輸出的結(jié)果進行對比學習。4、 設(shè)計思路(實現(xiàn)原理)1) 編寫Example02類。2) 在main()方法中,使用String類中的幾種常見判斷操作方法,依次實現(xiàn)對字符串的判斷操作。3) 將判斷結(jié)果輸出,根據(jù)打印結(jié)果,熟悉不同判斷方法的作用。二、案例實現(xiàn)public class Example02 public static void main(String args) String s = "HelloWorld"System.out.println("*字符串的判斷操作*&q

10、uot;);System.out.println("s是和HelloWorld相等:"+s.equals("HelloWorld");System.out.println("-");System.out.println("(不區(qū)分大小寫)字符串s和'helloworld'相等:"+s.equalsIgnoreCase("helloworld");System.out.println("-");System.out.println("字符串s中包含&#

11、39;or':"+s.contains("or");System.out.println("-");System.out.println("字符串s以'Hel'開頭:"+s.startsWith("Hel");System.out.println("-");System.out.println("字符串s為空:"+s.isEmpty();運行結(jié)果如圖6-3所示。圖6-3 運行結(jié)果三、案例總結(jié)equals()方法比較的是兩個字符串的引用是否相同

12、;而“=”比較的是兩個對象的地址是否相同。接下來,通過一個例子來對比 “=”和“equals”的區(qū)別。public class Example public static void main(String args) String s1 = "Monday"String s2 = new String("Monday");if (s1 = s2) System.out.println("s1 = s2"); else System.out.println("s1 != s2");if (s1.equals(s2)

13、System.out.println("s1 equals s2"); else System.out.println("s1 not equals s2");運行結(jié)果如圖6-4所示。圖6-4 運行結(jié)果在上述代碼中,=比較的是地址值,equals()方法比較的是字符串的引用。案例6-3 字符串的獲取操作一、案例描述 1、 考核知識點 編號:00106002 名稱:String類的常見操作2、 練習目標Ø 掌握如何使用String類的獲取方法對字符串進行操作。3、 需求分析String類中提供了許多對字符串進行獲取操作的方法,每個獲取操作方法都有

14、其各自的使用場景,為了讓初學者能快速熟悉每個獲取方法的用法,本案例將針對不同場景使用不同的獲取方法,并根據(jù)獲取結(jié)果進行參照學習。4、 設(shè)計思路(實現(xiàn)原理)1) 編寫Example03類。2) 在main()方法中,使用String類中幾種常見的獲取方法,依次實現(xiàn)對字符串的獲取操作。3) 將獲取結(jié)果輸出,根據(jù)打印結(jié)果,熟悉不同獲取方法的作用。二、案例實現(xiàn)public class Example03public static void main(String args) String s = "HelloWorld"System.out.println("字符串s是:

15、"+s);System.out.println("*字符串的獲取操作*");System.out.println("字符串s的長度是:"+s.length();System.out.println("-");System.out.println("字符串s中第3個字符是:"+s.charAt(2);System.out.println("-");System.out.println("字符串s中第一次出現(xiàn)'l'字符的索引是:"+s.indexOf(&

16、#39;l');System.out.println("從字符串s的第5個字符開始,出現(xiàn)字符'l'的索引是:"+s.indexOf('l', 4);System.out.println("-");System.out.println("字符串s中第5個字符到結(jié)尾組成的新字符串是:"+s.substring(4);System.out.println("字符串s中由第5個到第9個字符組成的新串是:"+s.substring(4, 8);運行結(jié)果如圖6-5所示。圖6-5 運行結(jié)果

17、從運行結(jié)果可知,字符串中索引的大小是從0開始的,其他方法運行正常。三、 案例總結(jié)訪問字符串中的字符時,不能超出字符的索引范圍,否則會出現(xiàn)圖6-6所示的異常。圖6-6 運行結(jié)果案例6-4 字符串的轉(zhuǎn)換和拼接操作一、案例描述 1、 考核知識點編號:00106002名稱:String類的常見操作2、 練習目標Ø 掌握如何使用String類的轉(zhuǎn)換和拼接方法對字符串進行操作3、 需求分析String類中提供了許多對字符串進行轉(zhuǎn)換和拼接操作的方法,每個轉(zhuǎn)換或拼接操作都有其各自的作用,為了讓初學者能快速熟悉轉(zhuǎn)換和拼接方法的用法,本案例將針對不同需求使用不同的轉(zhuǎn)換和拼接方法,并根據(jù)輸出結(jié)果進行參照學

18、習。4、 設(shè)計思路(實現(xiàn)原理)1) 編寫Example04類。2) 在main()方法中,使用String類中的轉(zhuǎn)換和拼接方法,對字符串操作。3) 將操作結(jié)果輸出,根據(jù)打印結(jié)果,熟悉上述轉(zhuǎn)換和拼接方法的作用。二、案例實現(xiàn)public class Example04 public static void main(String args) String s = "HelloWorld"System.out.println("字符串s是:"+s);System.out.println("*字符串的轉(zhuǎn)換和拼接操作*");char chs =

19、 s.toCharArray();System.out.println("*遍歷chs數(shù)組*");for (int x = 0; x < chs.length; x+) System.out.println(chsx);System.out.println("-");char chs2 = 'a', 'b', 'c', '中', '國' ;System.out.println("通過String類的copyValueof()方法將字符數(shù)組chs2轉(zhuǎn)換成字符串:

20、"+String.copyValueOf(chs2);System.out.println("-");System.out.println("通過String類的valueOf ()方法將字符數(shù)組chs2轉(zhuǎn)換成字符串:"+String.valueOf(chs2);System.out.println("-");int i = 100;System.out.println("通過String類的valueOf ()方法將int類型的100轉(zhuǎn)換成字符串:"+String.valueOf(i);System.o

21、ut.println("-");System.out.println("字符串s的小寫形式:"+s.toLowerCase();System.out.println("字符串s的大寫形式:"+s.toUpperCase();System.out.println("-");System.out.println("字符串s拼接'world'后,生成的新字符串是:"+s.concat("world"); 運行結(jié)果如圖6-7所示。圖6-7 運行結(jié)果從運行結(jié)果可知,co

22、pyValueOf(char chs)方法和new String(char chs)方法都可以將一個字符數(shù)組轉(zhuǎn)換成字符串,并且其他的方法運行正常。三、案例總結(jié)valueOf()方法有很多重載的形式,float、double、char等其它基本類型的數(shù)據(jù)都可以通過該方法轉(zhuǎn)為String字符串類型。案例6-5 字符串的替換、切割等其他操作一、案例描述 1、 考核知識點編號:00106002名稱:String類的常見操作2、 練習目標Ø 掌握如何使用String類的替換、切割等方法對字符串進行操作3、 需求分析String類中提供了許多對字符串進行替換、切割操作的方法,其中每個方法都有其各

23、自的作用,為了讓初學者能快速熟悉替換、切割方法的用法,本案例將針對不同需求使用不同的替換、切割方法,并根據(jù)輸出結(jié)果進行參照學習。4、 設(shè)計思路(實現(xiàn)原理)1) 編寫Example03類。2) 在main()方法中,使用String類中的替換和切割等方法,對字符串的操作。3) 將操作結(jié)果輸出,根據(jù)打印結(jié)果,熟悉上述替換和切割方法的作用。二、案例實現(xiàn)public class Example05 public static void main(String args) String s = "helloworld"System.out.println("將字符串s中的字

24、符l替換成p后:"+s.replace('l', 'p');System.out.println("將字符串s中的字符ll替換成ak47后:"+ s.replace("ll", "ak47");String ages = "20-30"String strArray = ages.split("-");for (int x = 0; x < strArray.length; x+) System.out.println("strArray

25、數(shù)組中的索引為"+x+"處的值是:" +strArrayx);String name = " admin hello "System.out.println("去掉首尾空格后的字符串name:" + name.trim();String s1 = "hello"String s2 = "aello"System.out.println("按照默認字典的順序比較字符串s1和s2:"+ pareTo(s2);/ 7 運行結(jié)果如圖6-8所示。圖6-8 運行結(jié)果三、案例總結(jié)

26、1、trim()方法只能去除兩端的空格,不能去除中間的空格。若想去除字符串中間的空格,則可以調(diào)用String類的replace()方法。2、compareTo()的返回值是整型,它是先比較對應字符的大小(ASCII碼順序)。如果第一個字符和參數(shù)的第一個字符不等,則結(jié)束比較并返回他們之間的差值;如果第一個字符和參數(shù)的第一個字符相等,則以第二個字符和參數(shù)的第二個字符做比較,以此類推。直至比較的字符或被比較的字符有一方全比較完,這時就比較字符的長度。案例6-6 StringBuffer類的添加和刪除操作一、案例描述 1、 考核知識點編號:00106003名稱:StringBuffer類2、 練習目標

27、Ø 掌握String和StringBuffer的區(qū)別。Ø 掌握如何使用StringBuffer對象的添加和刪除方法操作字符序列。3、 需求分析StringBuffer類有很多操作字符的方法,其中append()和insert()是常用的添加字符方法,delete()是常用的刪除字符方法。為了讓初學者對StringBuffer類中的添加、刪除方法有更深入的了解,本案例將演示StringBuffer對象的添加、刪除操作。4、 設(shè)計思路(實現(xiàn)原理)1) 編寫Example06類。2) 在main()方法中,使用StringBuffer類中的方法,依次實現(xiàn)字符序列的添加和刪除操作。

28、3) 將添加和刪除操作的結(jié)果輸出,根據(jù)打印結(jié)果,熟悉各個方法的作用。二、案例實現(xiàn)public class Example06 / 創(chuàng)建對象StringBuffer sb = new StringBuffer();System.out.println("sb:" + sb);System.out.println("*StringBuffer的添加方法*");sb.append(100).append("hello").append(true).append(12.5);System.out.println("使用StringB

29、uffer對象添加任意數(shù)據(jù)類型的數(shù)據(jù)后sb:" + sb);sb.insert(8, "world");System.out.println("在sb的第9個位置插入'world'字符串后sb:" + sb);System.out.println("*StringBuffer的刪除方法*");sb.deleteCharAt(1);System.out.println("刪除sb中第2個位置的字符后sb:" + sb);sb.delete(5, 10);System.out.println(

30、"刪除sb中第6個到第11個字符后的sb:" + sb);運行結(jié)果如圖6-9所示。圖6-9 運行結(jié)果三、案例總結(jié)1、訪問StringBuffer對象中的字符時,不能超出字符的索引范圍,否則會出現(xiàn)異常,這與數(shù)組中的角標越界異常非常相似。2、思考一下:String類和StringBuffer類同樣是操作字符串的相關(guān)類,那么他們有什么不同之處呢?a) String類表示的字符串是常量,一旦創(chuàng)建后,內(nèi)容和長度都是無法改變的。而StringBuffer表示字符容器,其內(nèi)容和長度都可以隨時修改。在操作字符串時,如果該字符串僅用于表示數(shù)據(jù)類型,則使用String類即可,但是如果需要對字符

31、串中的字符進行增刪操作,則使用StringBuffer類。b) String類覆蓋了Object類的equals()方法,而StringBuffer類沒有覆蓋Object類的equals()方法,具體示例如下:String s1 = new String("abc");String s2 = new String("abc");System.out.println(s1.equals(s2); / 打印結(jié)果為trueStringBuffer sb1 = new StringBuffer("abc");StringBuffer sb2

32、= new StringBuffer("abc");System.out.println(sb1.equals(sb2); / 打印結(jié)果為falsec) String類對象可以用操作符“+”進行連接,而StringBuffer類對象之間不能,具體示例如下:String s1 = "a"String s2 = "b"String s3 = s1+s2; / 合法System.out.println(s3); / 打印輸出 abStringBuffer sb1 = new StringBuffer("a");Strin

33、gBuffer sb2 = new StringBuffer("b");StringBuffer sb3 = sb1+sb2; / 編譯出錯案例6-7 StringBuffer類的替換、截取和反轉(zhuǎn)操作一、案例描述 1、 考核知識點編號:00106003名稱:StringBuffer類2、 練習目標Ø 掌握如何使用StringBuffer對象的替換、截取和反轉(zhuǎn)方法操作字符序列。3、 需求分析StringBuffer類有很多操作字符的方法,其中replace(int start, int end, String str)是用來替換字符的方法;substring(int

34、 start) 和substring(int start, int end)是用來截取字符的方法;reverse()是用來反轉(zhuǎn)字符順序的方法。為了讓初學者快速的熟悉上述方法的作用,本案例將根據(jù)這些方法,演示字符序列的替換、截取和反轉(zhuǎn)操作。4、 設(shè)計思路(實現(xiàn)原理)1) 編寫Example07類。2) 在main()方法中,通過StringBuffer類的替換、截取和反轉(zhuǎn)等方法依次實現(xiàn)對字符序列的操作。3) 將替換、截取和反轉(zhuǎn)操作的結(jié)果輸出,根據(jù)打印結(jié)果,加深不同方法的理解。二、案例實現(xiàn)public class Example07public static void main(String ar

35、gs) StringBuffer sb = new StringBuffer();sb.append("hello").append("world").append("java");System.out.println("追加字符串后的sb:"+sb);System.out.println("*字符序列的替換方法* ");sb.replace(5, 10, "林青霞");System.out.println("使用replace()方法替換后的sb:"+s

36、b);System.out.println("*字符序列的截取方法* ");String s = sb.substring(5);System.out.println("使用substring()方法截取后的s:"+s);System.out.println("sb:"+sb);System.out.println("*字符序列的反轉(zhuǎn)方法* ");sb.reverse();System.out.println("使用reverse()方法反轉(zhuǎn)后的sb:"+sb);運行結(jié)果如圖6-10所示。圖6-

37、10 運行結(jié)果三、案例總結(jié)StringBuffer類的截取方法substring(int start)、substring(int start, int end)的返回值是String類型。而其它添加、刪除、替換、反轉(zhuǎn)方法的返回值都是Stringbuffer類型的。案例6-8 System類的常用方法一、案例描述 1、 考核知識點編號:00106004名稱:System類2、 練習目標Ø 掌握System類中獲取時間和復制數(shù)組以及關(guān)閉Java虛擬機的方法。3、 需求分析System類定義了一些與系統(tǒng)相關(guān)的屬性和方法,其中包括終止當前正在運行Java虛擬機、以毫秒單

38、位獲取當前時間、復制數(shù)組等功能。為了讓初學者更加深入的了解System類的作用,本案例將演示使用System類的方法獲取系統(tǒng)屬性和當前時間的操作。4、 設(shè)計思路(實現(xiàn)原理)1) 編寫Example08類。2) 在main()方法中,通過調(diào)用System類的常用方法,依次實現(xiàn)獲取系統(tǒng)信息的操作。3) 將獲取到的系統(tǒng)信息輸出,根據(jù)打印結(jié)果,熟悉System類中常用方法的作用。二、案例實現(xiàn)import java.util.Arrays;public class Example08public static void main(String args) int arr = 1, 2, 3, 4, 5

39、;int arr2 = 5, 6, 7, 8, 9 ;long time = System.currentTimeMillis();System.out.println("系統(tǒng)當前時間是:"+time);System.arraycopy(arr, 3, arr2, 3, 2);System.out.println("數(shù)組arr的內(nèi)容是:"+Arrays.toString(arr);System.out.println("數(shù)組arr2的內(nèi)容是:"+Arrays.toString(arr2);System.exit(100);System

40、.out.println("HelloWorld");運行結(jié)果如圖6-11所示。圖6-11 運行結(jié)果從圖6-11中可以看出,控制臺沒有打印“Helloworld”,說明System的exit()方法起到了終止Java虛擬機運行的功能。三、 案例總結(jié)System類中所提供的屬性和方法都是靜態(tài)的,因此,想要引用這些屬性和方法,需要使用System類直接調(diào)用。案例6-9 Runtime類的常用方法一、案例描述 1、 考核知識點編號:00106005名稱:Runtime類2、 練習目標Ø 掌握Runtime對象的獲取方法。Ø 熟練使用Runtime對象的exec

41、()方法執(zhí)行dos命令。3、 需求分析Runtime類中提供了一個exec()方法,該方法用于執(zhí)行一個dos命令,從而實現(xiàn)和在命令行窗口中輸入dos命令同樣的效果。為了讓初學者能夠熟悉Runtime中常用方法的用法,本案例將通過調(diào)用Runtime對象的exec()方法演示開啟記事本的操作。4、 設(shè)計思路(實現(xiàn)原理)1) 編寫Example09類。2) 在main()方法中,通過Runtime類的getRuntime()方法獲取Runtime對象r。3) 調(diào)用r對象的exec()方法,使其執(zhí)行notepad.exe命令并打開記事本。二、案例實現(xiàn)import java.io.IOException

42、;public class Example09public static void main(String args) Runtime r = Runtime.getRuntime();try r.exec("notepad.exe"); catch (IOException e) e.printStackTrace(); 運行結(jié)果如圖6-12所示。圖6-12 運行結(jié)果三、案例總結(jié)Runtime類用于表示虛擬機運行時的狀態(tài),它用于封裝JVM虛擬機進程。每次使用java命令啟動虛擬機都對應一個Runtime實例,并且只有一個實例,因此該類采用單例模式進行編寫,對象不可以直接實

43、例化,需要通過Runtime.getRuntime()方法獲取。案例6-10 Math類的常用方法一、案例描述 1、 考核知識點編號:00106006名稱:Math類2、 練習目標Ø 掌握Math類中一些常用的數(shù)學運算方法,例如求絕對值、三角函數(shù)等。3、 需求分析在程序開發(fā)中,會遇到一些對數(shù)字進行運算處理的情況。這時,可以通過Java API提供的Math類,實現(xiàn)對數(shù)字的運算處理。為了讓初學者能熟悉Math類的常用方法,在案例中將列舉常用的數(shù)學運算,并依次輸出運算結(jié)果。4、 設(shè)計思路(實現(xiàn)原理)1) 編寫Example10類。 2) 在main()方法中分別使用Math類的常用方法操

44、作數(shù)字運算。3) 分別將表達式的運算結(jié)果輸出。二、案例實現(xiàn)public class Example10public static void main(String args) System.out.println("的值是:"+Math.PI);System.out.println("自然對數(shù)的底數(shù):"+Math.E);System.out.println("3的絕對值:"+Math.abs(3);System.out.println("27的立方根是:"+Math.cbrt(27);System.out.prin

45、tln("16的平方根是:"+Math.sqrt(16);System.out.println("4的平方是:"+Math.pow(4, 2);/4的2次方System.out.println("12.345使用ceil方法后的結(jié)果是:"+Math.ceil(12.345);System.out.println("-12.345使用floor方法后的結(jié)果是:"+Math.floor(-12.345);for(int x=0; x<3 ;x+)System.out.println(Math.random();f

46、or(int x=0; x<3 ;x+)System.out.println(int)(Math.random()*100+1); /邊界值 1 - 100運行結(jié)果如圖6-13所示。圖6-13 運行結(jié)果三、案例總結(jié)Math的round()方法用于對某個小數(shù)進行四舍五入,此方法會將小數(shù)點后面的數(shù)字全部忽略,返回一個int值。而ceil()方法和floor()方法返回的都是double類型的數(shù),這個數(shù)在數(shù)值上等于一個整數(shù)。案例6-11 Random類的常用方法一、案例描述 1、 考核知識點編號:00106007名稱:Random類2、 練習目標Ø 掌握如何使用Random類中的方法

47、創(chuàng)建隨機數(shù)。3、 需求分析在Java API中提供了一個Random類,它包含多種隨機產(chǎn)生數(shù)字的方法。為了讓初學者能夠掌握Random類每個隨機方法的不同,在案例中使用Random類中的不同方法隨機生成數(shù)字,并根據(jù)兩輸出結(jié)果來對比學習。4、 設(shè)計思路(實現(xiàn)原理)1) 編寫Example11類。2) 在main()方法中,通過Random的無參構(gòu)造方法,創(chuàng)建Random對象r。3) 編寫兩個for循環(huán),在第一個循環(huán)體內(nèi),調(diào)用r對象的nextInt()方法生成隨機數(shù),并打印該隨機數(shù);在第二個循環(huán)體內(nèi),調(diào)用r對象的nextInt(10)方法,生成10以內(nèi)的隨機數(shù),同樣也打印該隨機數(shù)。 二、案例實現(xiàn)i

48、mport java.util.Random;public class Example11 public static void main(String args) Random r = new Random();System.out.println("使用r對象隨機生成int取值范圍內(nèi)的5個數(shù)");for (int x = 0; x < 5; x+) System.out.println(r.nextInt();System.out.println("使用r對象隨機生成5個10以內(nèi)的整數(shù)");for (int x = 0; x < 5; x

49、+) System.out.println(r.nextInt(10); 運行結(jié)果如圖6-14所示。圖6-14 運行結(jié)果三、案例總結(jié)1、當使用Random類的有參構(gòu)造方法創(chuàng)建多個Random對象時,如果傳入的種子相同,則他們產(chǎn)生隨機數(shù)的序列是相同的。2、Random類的nextInt(100)只能獲取0100之間的int類型的隨機數(shù),包括0,但不包括100。案例6-12 包裝類的基本用法一、案例描述 1、 考核知識點編號:00106008名稱:包裝類2、 練習目標Ø 掌握包裝類的作用和概念。Ø 掌握包裝類中的常用方法。3、 需求分析Java API針對八種基本類型提供了八種

50、包裝類來實現(xiàn)各種高級功能,比如說,某基本類型的范圍判斷,整數(shù)的進制轉(zhuǎn)換等。為了讓初學者能夠熟悉包裝類的基本用法,在案例中列舉出包裝類常用方法并輸出結(jié)果。4、 設(shè)計思路(實現(xiàn)原理)1) 編寫Example12類。2) 在main()方法中分別使用Integer類的屬性和方法獲取Integer類型的取值范圍和進制間的轉(zhuǎn)換結(jié)果。3) 分別將包裝類的取值范圍和轉(zhuǎn)換結(jié)果輸出。二、案例實現(xiàn)public class Example12 public static void main(String args) System.out.println("int范圍的最大值是"+Integer.

51、MAX_VALUE);System.out.println("int范圍的最小值是"+Integer.MIN_VALUE);/ 把60轉(zhuǎn)變成二進制,八進制,十六進制System.out.println("60的二進制值是:"+Integer.toBinaryString(60);System.out.println("60的八進制值是:"+Integer.toOctalString(60);System.out.println("60的十六進制值是:"+Integer.toHexString(60);運行結(jié)果如圖6

52、-15所示。圖6-15 運行結(jié)果三、案例總結(jié)Java語言是一個面向?qū)ο蟮恼Z言,但java中的基本數(shù)據(jù)類型卻不是面向?qū)ο蟮?,它通過包裝類可以將基本數(shù)據(jù)類型的值包裝為引用數(shù)據(jù)類型的對象。案例6-13 包裝類的裝箱和拆箱一、案例描述 1、 考核知識點編號:00106008名稱:包裝類2、 練習目標Ø 掌握包裝類的裝箱和拆箱概念3、 需求分析包裝類和基本數(shù)據(jù)類型在進行轉(zhuǎn)換時,引入了裝箱和拆箱的概念,其中裝箱是指將基本數(shù)據(jù)類型的值轉(zhuǎn)為引用數(shù)據(jù)類型,反之,拆箱是指將引用數(shù)據(jù)類型的對象轉(zhuǎn)為基本數(shù)據(jù)類型。為了讓初學者增加對包裝類的裝箱和拆箱功能的理解,本案例將演示基本數(shù)據(jù)類型和包裝類的裝箱和拆箱的效

53、果。4、 設(shè)計思路(實現(xiàn)原理)1) 編寫Example13類。2) 在main()方法中,利用Integer的構(gòu)造方法和intValue()方法,實現(xiàn)int類型數(shù)據(jù)100的裝箱和拆箱操作。3) 分別將裝箱和拆箱的結(jié)果輸出,根據(jù)打印結(jié)果熟悉裝箱和拆箱之間的區(qū)別。二、案例實現(xiàn)public class Example13 public static void main(String args) Integer num = new Integer(100); /裝箱int value = Value(); /拆箱System.out.println("num:"+nu

54、m);System.out.println("value:"+value);運行結(jié)果如圖6-16所示。圖6-16 運行結(jié)果三、案例總結(jié)1、包裝類的裝箱和拆箱實質(zhì)上是基本數(shù)據(jù)類型和引用數(shù)據(jù)類型相互轉(zhuǎn)換的過程。案例6-14 包裝類的自動裝箱和拆箱一、案例描述 1、 考核知識點編號:00106008名稱:包裝類2、 練習目標Ø 掌握包裝類中自動裝箱和拆箱技術(shù)。3、 需求分析在JDK5.0的版本中提供了自動拆箱和裝箱技術(shù),也就是可以自動進行基本數(shù)據(jù)類型和包裝類對象之間的轉(zhuǎn)換。為了讓初學者增加對包裝類的自動裝箱和拆箱功能的理解,接下來通過一個案例實現(xiàn)了包裝類的自動裝箱和拆箱

55、功能。4、 設(shè)計思路(實現(xiàn)原理)1) 編寫Example14類。2) 在main()方法中,使用Integer對象進行基本的數(shù)學運算操作,并打印出運算后的結(jié)果。二、案例實現(xiàn)public class Example14 public static void main(String args) Integer x = 10; /裝箱x = x + 1;System.out.println("x的值是:"+x);運行結(jié)果如圖6-17所示。圖6-17 運行結(jié)果三、案例總結(jié)1、 包裝類都重寫了Object類中的toString()方法,以字符串的形式返回被包裝的基本數(shù)據(jù)類型的值。2、

56、 除了Character外,包裝類都有valueOf(String s)方法,可以根據(jù)String類型的參數(shù)創(chuàng)建包裝類對象,但參數(shù)字符串s不能為null,而且字符串必須是可以解析為相應基本類型的數(shù)據(jù),否則雖然編譯通過,但運行時會報錯。具體示例如下:Integer i = Integer.valueOf("123"); / 合法Integer i = Integer.valueOf("12a"); / 不合法3、 除了Character外,包裝類都有parseXXX(String s)的靜態(tài)方法,將字符串轉(zhuǎn)換為對應的基本類型的數(shù)據(jù)。參數(shù)s不能為null,而

57、且同樣必須是可以解析為相應基本類型的數(shù)據(jù),否則雖然編譯通過,但運行時會報錯。具體示例如下:int i = Integer.parseInt("123"); / 合法 Integer in = Integer.parseInt("itcast");/ 不合法4、 在使用包裝類對象時,要注意該對象是否為null。案例6-15 Date類的構(gòu)造方法一、案例描述 1、 考核知識點編號:00106009名稱:Date類2、 練習目標Ø 掌握Date類的作用以及概念。Ø 掌握如何通過Date類的構(gòu)造方法創(chuàng)建Date對象。3、 需求分析在Java API中提供了一個Date類用于表示日期和時間。Date類中大部分構(gòu)造方法都被聲明為已過時,只有兩個構(gòu)造方法是建議使用的。為了讓初學者了解這兩個構(gòu)造方法的用法,本案例將通過Date類的構(gòu)造方法創(chuàng)建2個Date對象,并打印他們對應

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論