第6章-JavaAPI-補(bǔ)充案例_第1頁
第6章-JavaAPI-補(bǔ)充案例_第2頁
第6章-JavaAPI-補(bǔ)充案例_第3頁
第6章-JavaAPI-補(bǔ)充案例_第4頁
第6章-JavaAPI-補(bǔ)充案例_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

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

2、法中分別使用不同的構(gòu)造方法創(chuàng)建字符串對象。3) 將字符串內(nèi)容輸出,根據(jù)打印結(jié)果觀察字符串之間的區(qū)別,熟悉不同構(gòu)造方法的用途。二、案例實(shí)現(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 ;String s2 = new String

3、(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', 'e' ;String s4 =

4、 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.println("通過String(

5、String str)方法創(chuàng)建的字符串s6:" + s6);/ 方式7String s7 = "abcde"System.out.println("直接給字符串對象賦值s7:" + s7);運(yùn)行結(jié)果如圖6-1所示。圖6-1 運(yùn)行結(jié)果三、案例總結(jié)上面介紹過了String類的常用構(gòu)造方法,一般情況下,常用的創(chuàng)建String對象的方式如下所示:String str1 = "string"String str2 = new String("string");這兩種創(chuàng)建方式是有區(qū)別的,這和java的內(nèi)存管理有關(guān)。因

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

7、s 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 = str4);System.out.print

8、ln("(str2 = str3): "+(str2 = str3);System.out.println("(str3 = str1): "+(str3 = str1);運(yùn)行結(jié)果如圖6-2所示。圖6-2 運(yùn)行結(jié)果案例6-2 字符串的判斷操作一、案例描述 1、 考核知識點(diǎn)編號:00106002名稱:String類的常見操作2、 練習(xí)目標(biāo)Ø 掌握如何使用String類中的判斷方法對字符串進(jìn)行操作。3、 需求分析String類中提供了許多對字符串進(jìn)行判斷操作的方法,每個(gè)判斷操作都有其自己的使用場景,為了讓初學(xué)者能快速熟悉每個(gè)判斷方法的用法,本案例將

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

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

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

12、。接下來,通過一個(gè)例子來對比 “=”和“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) System.out.println(&

13、quot;s1 equals s2"); else System.out.println("s1 not equals s2");運(yùn)行結(jié)果如圖6-4所示。圖6-4 運(yùn)行結(jié)果在上述代碼中,=比較的是地址值,equals()方法比較的是字符串的引用。案例6-3 字符串的獲取操作一、案例描述 1、 考核知識點(diǎn) 編號:00106002 名稱:String類的常見操作2、 練習(xí)目標(biāo)Ø 掌握如何使用String類的獲取方法對字符串進(jìn)行操作。3、 需求分析String類中提供了許多對字符串進(jìn)行獲取操作的方法,每個(gè)獲取操作方法都有其各自的使用場景,為了讓初學(xué)者能快速熟悉

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

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

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

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

18、Example04類。2) 在main()方法中,使用String類中的轉(zhuǎn)換和拼接方法,對字符串操作。3) 將操作結(jié)果輸出,根據(jù)打印結(jié)果,熟悉上述轉(zhuǎn)換和拼接方法的作用。二、案例實(shí)現(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 = s.toCharArray();Sys

19、tem.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)換成字符串:"+String.copyVa

20、lueOf(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.out.println("-&q

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

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

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

24、lace('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數(shù)組中的索引為"+x+&quo

25、t;處的值是:" +strArrayx);String name = " admin hello "System.out.println("去掉首尾空格后的字符串name:" + name.trim();String s1 = "hello"String s2 = "aello"System.out.println("按照默認(rèn)字典的順序比較字符串s1和s2:"+ pareTo(s2);/ 7 運(yùn)行結(jié)果如圖6-8所示。圖6-8 運(yùn)行結(jié)果三、案例總結(jié)1、trim()方法只能去除兩端的空格,

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

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

28、印結(jié)果,熟悉各個(gè)方法的作用。二、案例實(shí)現(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("使用StringBuffer對象添加任意數(shù)據(jù)類型的數(shù)據(jù)后s

29、b:" + sb);sb.insert(8, "world");System.out.println("在sb的第9個(gè)位置插入'world'字符串后sb:" + sb);System.out.println("*StringBuffer的刪除方法*");sb.deleteCharAt(1);System.out.println("刪除sb中第2個(gè)位置的字符后sb:" + sb);sb.delete(5, 10);System.out.println("刪除sb中第6個(gè)到第11個(gè)字

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

31、gBuffer類。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 = new StringBuffer(&

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

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

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

35、= 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:"+sb);System.out.printl

36、n("*字符序列的截取方法* ");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);運(yùn)行結(jié)果如圖6-10所示。圖6-10 運(yùn)行結(jié)果三、案例總結(jié)StringB

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

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

39、 8, 9 ;long time = System.currentTimeMillis();System.out.println("系統(tǒng)當(dāng)前時(shí)間是:"+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.out.println("H

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

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

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

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

44、輸出。二、案例實(shí)現(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.println("16的平方根是:&q

45、uot;+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();for(int x=0; x<3 ;

46、x+)System.out.println(int)(Math.random()*100+1); /邊界值 1 - 100運(yùn)行結(jié)果如圖6-13所示。圖6-13 運(yùn)行結(jié)果三、案例總結(jié)Math的round()方法用于對某個(gè)小數(shù)進(jìn)行四舍五入,此方法會將小數(shù)點(diǎn)后面的數(shù)字全部忽略,返回一個(gè)int值。而ceil()方法和floor()方法返回的都是double類型的數(shù),這個(gè)數(shù)在數(shù)值上等于一個(gè)整數(shù)。案例6-11 Random類的常用方法一、案例描述 1、 考核知識點(diǎn)編號:00106007名稱:Random類2、 練習(xí)目標(biāo)Ø 掌握如何使用Random類中的方法創(chuàng)建隨機(jī)數(shù)。3、 需求分析在Java A

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

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

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

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

51、t.println("int范圍的最小值是"+Integer.MIN_VALUE);/ 把60轉(zhuǎn)變成二進(jìn)制,八進(jìn)制,十六進(jìn)制System.out.println("60的二進(jìn)制值是:"+Integer.toBinaryString(60);System.out.println("60的八進(jìn)制值是:"+Integer.toOctalString(60);System.out.println("60的十六進(jìn)制值是:"+Integer.toHexString(60);運(yùn)行結(jié)果如圖6-15所示。圖6-15 運(yùn)行結(jié)果三、案例總結(jié)Java語言

溫馨提示

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

評論

0/150

提交評論