JAVA習(xí)題集(含答案)_第1頁(yè)
JAVA習(xí)題集(含答案)_第2頁(yè)
JAVA習(xí)題集(含答案)_第3頁(yè)
JAVA習(xí)題集(含答案)_第4頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、JAVA 習(xí)題集JAVA 習(xí)題集(含答案)習(xí)題一:1簡(jiǎn)述 Java 的發(fā)展過(guò)程。2什么是軟件?3什么叫做源程序?4什么叫做編譯?5什么是 Java 的 byte-codes?它的最大好處是什么?6機(jī)器語(yǔ)言程序、高級(jí)語(yǔ)言程序以及可表示成Java 字節(jié)碼的程序之間的區(qū)別是什么?7Java 程序可分為哪兩種?分別如何運(yùn)行?8試簡(jiǎn)述 J2SE、 J2ME 與 J2EE 的簡(jiǎn)單區(qū)別。9練習(xí)使用瀏覽器查看 Java API 文檔。10 SDK 的編譯命令是什么?11 試修改例1-1 程序,使其輸出的字符串為“I d like to study Java”!,并在 DOS 命令行環(huán)境下編譯與運(yùn)行該程序。習(xí)題

2、一參考答案:1答:1991: Sun Microsystems 公司進(jìn)軍消費(fèi)電子產(chǎn)品(IA )市場(chǎng)。19914:Sun 成立“ Green”小組,以C+ 為基礎(chǔ)開發(fā)新的程序設(shè)計(jì)語(yǔ)言,并將其命名為 Oak。1992 10:Green 小組升格為First Person 公司,他們將Oak 的技術(shù)轉(zhuǎn)移到Web 上,并把 Oak 改名為 Java。19931994: Web 在 Internet 上開始流行,致使Java 得以迅速發(fā)展并獲得成功。1995 5:Sun Microsystems 公司正式發(fā)表Java 與 HotJava 產(chǎn)品。1995 10:Netscape 與 Sun Microsy

3、stems 合作,在Netscape Nevigator 中支持 Java。1995 12:微軟( Microsoft ) IE 加入支持Java 的行列。1996 2:Java Beta 測(cè)試版結(jié)束,Java 1.0 版正式誕生。第1頁(yè)共36頁(yè)JAVA 習(xí)題集1997 2:Java 發(fā)展至 1.1 版。 Java 的第一個(gè)開發(fā)包JDK ( Java Development Kit )發(fā)布。1999 7:Java 升級(jí)至 1.2 版。2000 9:Java 升級(jí)至 1.3 版。2001 7:Java 升級(jí)至 1.4 版。2答:軟件可以理解為程序的另一種名稱。3答:直接使用高級(jí)語(yǔ)言書寫的程序代碼

4、稱為源程序4答:把用高級(jí)語(yǔ)言編寫的源程序翻譯成可執(zhí)行(目標(biāo))程序的過(guò)程稱為編譯。5答: Java 源程序經(jīng)Java 的編譯器編譯過(guò)后產(chǎn)生的程序稱為Java 的 byte-codes。它的最大好處是可以實(shí)現(xiàn)跨平臺(tái)運(yùn)行。6答:機(jī)器語(yǔ)言程序是可以讓計(jì)算機(jī)直接運(yùn)行的程序;高級(jí)語(yǔ)言程序是必需經(jīng)過(guò)編譯或解釋才可以讓計(jì)算機(jī)運(yùn)行的程序,并且程序的運(yùn)行依賴于該語(yǔ)言的語(yǔ)言處理系統(tǒng);可表示成 Java 字節(jié)碼的程序必需經(jīng)過(guò)編譯產(chǎn)生 Java 字節(jié)碼程序, Java 字節(jié)碼程序可以實(shí)現(xiàn)跨平臺(tái)運(yùn)行。7答: Java 程序分為: Java Application ( Java 應(yīng)用程序)與應(yīng)用在 www 上的 Java

5、applet ( Java 小應(yīng)用程序)。 Java Application 可以在 Java 平臺(tái)上獨(dú)立運(yùn)行,以 main() Method 作為程序入口,由 Java 解釋器加載執(zhí)行。而 Java applet 則是內(nèi)嵌在 Html 文件中,必須搭配瀏覽器來(lái)運(yùn)行,它沒有程序入口。8答:J2ME( Java 2 Micro Edition ):用于嵌入式Java 消費(fèi)電子平臺(tái)。不論是無(wú)線通訊、手機(jī)、 PDA 等小型電子裝置都可采用其作為開發(fā)工具及應(yīng)用平臺(tái)。J2SEJava 2( Software Development Kit )Standard Edition :是 Java 最通行的版本

6、,是用于工作站、PC 機(jī)的 Java 標(biāo)準(zhǔn)平臺(tái)。 J2EE( Java 2 Enterprise Edition ):可擴(kuò)展的企業(yè)應(yīng)用 Java 2 平臺(tái),它提供了企業(yè) e-Business 架構(gòu)及 Web Services 服務(wù)。第2頁(yè)共36頁(yè)JAVA 習(xí)題集9答:略10 答: javac11 答:修改程序如下:public class BegintoLearnpublic static void main(String args) d like to study Java ! ");程序運(yùn)行部分略。習(xí)題二1 下面哪些是合法的常量(1)2M(2) 4(3) 8I(4) 6.5(5)

7、 ch3(6)5.6E03(7) t(8) 90(9) 012(10) 0x142int、char、float 和 double 類型的變量各占有多少個(gè)字節(jié)?試寫出它們各自的取值范圍。3下列符號(hào)那些可以作為Java 的變量名?(1) 3a(2) main(3) KFC(4) ch s(5) File(6) a*b(7) m_n(8) new(9) nn2(10) -x(11) _y(12) exp(13) ha?(14) m&m(15) j,k(16)p:q4什么叫做變量的作用域?5試寫出下列Java 表達(dá)式的運(yùn)算結(jié)果:(1) 15+4*5-12(2) (18-4)/7+6(3) 2&

8、gt;=5第3頁(yè)共36頁(yè)JAVA 習(xí)題集(4) 6<=6(5) 5>2 && 8<8 &&23<36(6) 56/9+3.6(7) 48%9+5*5-4(8) 9-7<0 | 11>8(9) (3>2)?8:9(10) 9= =8 && 3<76假設(shè) int m=2 ,float n=0.1f ,經(jīng)過(guò)下列表達(dá)式的運(yùn)算后,m、 n 各為什么值?(1) m=9/8;(2) m=45%8+4*5-4;(3) m=36+36*2%m-;(4) m*=5/m-1;(5) n-=5*3.1;7編寫一程序,利用(

9、)方法分別輸出下列語(yǔ)句的執(zhí)行結(jié)果:(1) 將變量 m 的初值賦值為 10,變量 n 的初值賦值為 5。(2) 變量 m 的值加 3, n 的值加 5。(3)求 m 和 n 的平均值,并將該值賦于變量p。(4)將 m 的平方乘以 n 的平方并賦值給變量q。請(qǐng)注意各變量定義時(shí)所應(yīng)該使用的數(shù)據(jù)類型。8 已知圓球體積公式為,編寫一程序,設(shè)計(jì)一個(gè)求圓球體積的方法,并在主程序中調(diào)用它,求出當(dāng)r=3 時(shí),圓球的體積值。習(xí)題二參考答案 :1答:(1) 不合法(2) 合法(3) 不合法(4) 合法(5) 不合法(6) 合法(7) 合法(8) 合法(9) 合法(10) 合法2答:第4頁(yè)共36頁(yè)JAVA 習(xí)題集變量

10、類型內(nèi)存中所占字節(jié)數(shù)取值范圍int43131-2 (2-1)float43.4e-038 3.4e+038double81.7e-308 1.7e+308char20 65535 。3 下列符號(hào)那些可以作為Java 的變量名?(1)不合法(2)合法(3) 合法(4)不合法(5) 合法(6)不合法(7)合法(8). 不合法(9)合法(10). 不合法(11)合法(12) 合法(13)不合法(14)不合法(15)不合法(16)不合法4答:變量的作用域指的是可以訪問(wèn)這一變量的程序代碼的范圍。5答:(1) 23(2) 8(3) false(4) true(5) false(6) 9.6(7) 24(8

11、) true(9) 8(10)false6答:(1) 1;(2) 21;(3) 45;(4) 45;第5頁(yè)共36頁(yè)JAVA 習(xí)題集(5) 15.4;7答:程序如下:public class ProNumpublic static void main(String args)floatp;longq;int m=10,n=5;n="+n);m=m+3;n=n+5;n="+n);p=(float)(m+n)/2;q=(m*m*n*n);8答:程序如下:class Sphere int r;double v;publicvoidCalVolume() v=3.14*r*r*r*4

12、/3;public void display() 第6頁(yè)共36頁(yè)JAVA 習(xí)題集class SphereClasspublic static void main(String args) Sphere s = new Sphere();s.r = 3;s.CalVolume();s.display();習(xí)題三1什么是結(jié)構(gòu)化程序設(shè)計(jì)?2使用 if 語(yǔ)句與使用條件運(yùn)算符“?:”有什么不同?3使用 for 循環(huán)與 while 循環(huán)的條件有什么不同?4簡(jiǎn)述 break 語(yǔ)句與 continue 的區(qū)別?5編寫程序:由鍵盤輸入兩個(gè)字符串“12”與“ 24”,將它們轉(zhuǎn)換成整數(shù),然后計(jì)算并輸出這兩個(gè)數(shù)的和。

13、6編寫程序:由鍵盤輸入給出一個(gè)百分制成績(jī),要求輸出成績(jī)等級(jí) A、 B、 C和 D,90 分以上為 A,7589 為 B,6074 為 C,60 分以下為 D。7編一程序,求一個(gè)10 項(xiàng)所組成的等差數(shù)列,其奇數(shù)項(xiàng)之和為135,偶數(shù)項(xiàng)之和為150。8用 for 語(yǔ)句輸出下列數(shù)字金字塔:11 3 1135311357531135797531第7頁(yè)共36頁(yè)JAVA 習(xí)題集9編寫程序:由鍵盤輸入一正整數(shù),求出小于且等于這個(gè)數(shù)的所有質(zhì)數(shù)。10編寫程序:由鍵盤輸入一整數(shù),求出該數(shù)所有的因子,如輸入6,則輸出的6的所有因子為1、 2、3、 6。11假設(shè)有一條鋼材長(zhǎng)2000 米,每天截取其中的一半,編一程序求出

14、多少天后,鋼材的長(zhǎng)度開始短于5 米?12編寫程序:利用數(shù)列來(lái)取得的近似值。并計(jì)算在得到3.14159 之前,這個(gè)數(shù)列要取到第幾項(xiàng)?13使用 類,生成 10 個(gè) 099 之間的隨機(jī)整數(shù),求出它們中的最大值和最小值。提示:類支持 random 方法: Math. Random( ) 。該方法返回值是正數(shù),類型為double,范圍為 01。如果要得到其它范圍的數(shù), 則要進(jìn)行相應(yīng)的轉(zhuǎn)換。 例如要得到 ( a,b)之間的整數(shù)的方法是: (int) (b-a+1)*Math.random()+a) 。若要得到( 0,99)之間的整數(shù)可以使用下列語(yǔ)句:int m = (int) (100*Math.rand

15、om();14編寫程序:聲明一數(shù)組來(lái)存放12 個(gè)月的英文名稱,由用戶從鍵盤輸入月份,如輸入 8,則程序輸出相應(yīng)的月份名稱:August 。同時(shí)請(qǐng)大家考慮若是用戶輸入了112以外的內(nèi)容,你的程序?qū)⑷绾螒?yīng)對(duì)?15編寫程序:由鍵盤輸入一16 位的長(zhǎng)整數(shù),統(tǒng)計(jì)09 這十個(gè)數(shù)字每一個(gè)出現(xiàn)的次數(shù)。16編寫程序:將兩個(gè)各有6 個(gè)整數(shù)的數(shù)組,合并成一個(gè)由小至大排列的數(shù)組(該數(shù)組的長(zhǎng)度為12)。17編寫程序:以遞歸的方式實(shí)現(xiàn)1+2+3+ +n( n = 200 )的計(jì)算。習(xí)題三參考答案:1答:具有順序結(jié)構(gòu)流程、選擇結(jié)構(gòu)流程以及循環(huán)結(jié)構(gòu)流程這三種結(jié)構(gòu)的程序設(shè)計(jì)技術(shù)稱為結(jié)構(gòu)化程序設(shè)計(jì)。2答:條件運(yùn)算符“?:”只是i

16、f 語(yǔ)句的一種最簡(jiǎn)單的形式,而if 語(yǔ)句則具有更強(qiáng)的功能,它除了“?:”所表示的單分支結(jié)構(gòu)外,還具有雙分支結(jié)構(gòu)以及多分支結(jié)構(gòu)等。第8頁(yè)共36頁(yè)JAVA 習(xí)題集3答: for 語(yǔ)句往往在已知循環(huán)次數(shù)的前提下使用,在循環(huán)次數(shù)未知時(shí)則需使用while 語(yǔ)句進(jìn)行循環(huán)。4答:在循環(huán)語(yǔ)句被執(zhí)行時(shí)若遇到break 語(yǔ)句則強(qiáng)行結(jié)束本輪循環(huán),而遇到continue 語(yǔ)句時(shí)將不在執(zhí)行該語(yǔ)句下面的本次循環(huán)的語(yǔ)句,回到循環(huán)開始處繼續(xù)執(zhí)行下一次循環(huán)。5答:程序如下:public class InNumpublic static void main(String args) throws IOExceptionint n

17、um1,num2;String str;BufferedReader buf;buf=new BufferedReader(new InputStreamReader(System.in);str=buf.readLine();num1=Integer.parseInt(str);str=buf.readLine();num2=Integer.parseInt(str);6答:程序如下:public class Gradepublic static void main(String args) throws IOException第9頁(yè)共36頁(yè)JAVA 習(xí)題集int score;char ch

18、;String str;BufferedReader buf;buf=new BufferedReader(new InputStreamReader(System.in);str=buf.readLine();score=Integer.parseInt(str);if (score>=90)ch='A'else if (score>=75)ch='B'else if (score>=60)ch='C'elsech='D'7答:程序如下:public class ShuLiepublic static void

19、 main(String args)int a ,q ,n;q=(150-135)/5;a=(135-20*q)/5;for (n=0;n<10;n+)");第10頁(yè)共36頁(yè)JAVA 習(xí)題集8答:程序如下:public class Pyramidpublic static void main(String args)int i,j,k;for(i=0;i<=4;i+)for (k=0;k<=2*i;k+)if (k<=i)else9答:程序如下:public class PrimeNumberpublic static void main(String arg

20、s) throws IOExceptionint n=0;int m;String str;BufferedReader buf;buf=new BufferedReader(new InputStreamReader(System.in);str=buf.readLine();第11頁(yè)共36頁(yè)JAVA 習(xí)題集m=Integer.parseInt(str);outer:for(int i=3;i<=m;i+=2)/outer loopfor(int j=2;j<i;j+)/innerlopif(i%j=0)continue outer;"+i);n+;/outputane

21、wlineif(n=10)/after10numbersn=0;10答:程序如下:public class Factor12public static void main(String args) throws IOExceptionint m;String str;BufferedReader buf;m=Integer.parseInt(str);第12頁(yè)共36頁(yè)JAVA 習(xí)題集");for(int i=1;i<=m;i+)if (m%i=0)"+i);11答:程序如下:public class MSteelpublic static void main(Stri

22、ng args)intd=0;float m=2000;while (m>=5) m=m/2; d+;");"+d+"days");12程序如下:public class AlmostPipublic static void main(String args)intn;第13頁(yè)共36頁(yè)JAVA 習(xí)題集long m;double s,t;n=1;m=0;s=0;do t=(double)n/(2*m+1); m+;n=-n; s=s+t;13答:程序如下:public class LSRndpublic static void main(String

23、 args)intmun,n,max1,min1;max1=0;min1=100;for (n=1;n<=10;n+)mun=(int)(100*Math.random();max1=mun;if (mun<min1)min1=mun;第14頁(yè)共36頁(yè)JAVA 習(xí)題集"+max1);"+min1);14答:程序如下:public class StrArrypublic static void main(String args)throws IOExceptionint m;Stringstr;Stringmonth="January",&qu

24、ot;February","March","April","May","June","July","August","september","October","November","December"BufferedReader buf;buf=new BufferedReader(new InputStreamReader(System.in);str=buf.readLine();

25、m=Integer.parseInt(str);if(m>=1 && m<=12)else15答:程序如下:第15頁(yè)共36頁(yè)JAVA 習(xí)題集public class StatNumpublic static void main(String args)throws IOExceptionint m;char s;Stringstr;int a=new int10;BufferedReader buf;for (int i=0;i<=15;i+) s=str.charAt(i);m=(int)s-48;/ 字符數(shù)據(jù)轉(zhuǎn)換為整型數(shù)據(jù)時(shí)轉(zhuǎn)換的是其Unicoad 代碼。

26、am=am+1;for (m=0;m<10;m+)"+am);16答:程序如下:public class SortArraypublic static void main(String args)throws IOExceptionint m,n,k;第16頁(yè)共36頁(yè)JAVA 習(xí)題集int aa=new int6;int bb=new int6;int cc=new int12;for (int i=0;i<6;i+)/ 利用產(chǎn)生隨機(jī)數(shù)的方式為數(shù)組賦值。 m=(int)(100*Math.random(); aai=m; n=(int)(100*Math.random()

27、;bbi=n;"+bbi);for (int i=0;i<6;i+)/ 先將兩個(gè)數(shù)組進(jìn)行排序for (int j=i;j<6;j+) if (aai>aaj)int t=aai;aai=aaj;aaj=t;if (bbi>bbj)int t=bbi;bbi=bbj;bbj=t;m=0;/ 用合并法將兩個(gè)有序數(shù)組排序并合并n=0;k=0;while (m<6 &&n<6)if (aam<=bbn) cck=aam;m+;elsecck=bbn;n+;k+;while (m<6)cck=aam;m+;k+;while (n&

28、lt;6)第17頁(yè)共36頁(yè)JAVA 習(xí)題集cck=bbn;n+;k+;for (int i=0;i<12;i+)");17答:程序如下:class RecuSumstatic long Sum1(int n)if (n=1)return 1;elsereturn n+Sum1(n-1);public static void main(String args) int n=200;習(xí)題四1 類和對(duì)象之間的關(guān)系。2 聲明一個(gè)類 Person,成員變量有姓名、出生年月、性別。有成員方法以顯示姓名、年齡和性別。3 聲明一個(gè)矩形類 Rectangle,其中有多個(gè)構(gòu)造方法。用不同的構(gòu)造方法

29、創(chuàng)建對(duì)象,并輸出矩形的周長(zhǎng)和面積。第18頁(yè)共36頁(yè)JAVA 習(xí)題集4 聲明一個(gè)矩陣類Matrix ,有這樣一些實(shí)例方法:將一個(gè)矩陣轉(zhuǎn)置、求兩個(gè)矩陣的和。5 舉例說(shuō)明類(靜態(tài))成員的特點(diǎn)。6 說(shuō)明繼承和接口的區(qū)別已及它們各自的作用。7 寫出下面程序的運(yùn)行結(jié)果class Leve1String name=""int height,width;public Leve1();public Leve1(Leve1 le) name=;height=le.height;width=le.width;public Leve1(String na,int h,int w) n

30、ame=na;height=h;width=w;public int higherthen(Leve1 t) return this.height-t.height;public void print()class Leve2 extends Leve1int width;public Leve2();public Leve2(Leve1 le,int h,int w) super(le);height=h;width=w;public int widerthen()第19頁(yè)共36頁(yè)JAVA 習(xí)題集return width-super.width;public void print()publ

31、ic class Lev_expublic static void main(String args)Leve1 le1=new Leve1("Tower_1",50,20);Leve2 le2=new Leve2(le1,40,25);le1.print();le2.print();8 Java 中的包和windows 的文件夾有什么關(guān)系?9 說(shuō)明類的成員的訪問(wèn)權(quán)限和包的關(guān)系。10 創(chuàng)建兩個(gè) String 類的對(duì)象 str1 和 str2,判斷 sr2 是否是 str1 的子串。如果是,輸出 str1 中,在子串 ztr2 前和后的字符串。如:“ Action是”“ ad

32、dActionListener 的子串”,在此子串前是字符串 ” add,”后面是字符串”Listener 。”11 寫出下面程序的運(yùn)行結(jié)果class Fatherint x;public Father(int x) this.x=x;public Father();public int fun()int f=0;for(int i=1;i<=x;i+)第20頁(yè)共36頁(yè)JAVA 習(xí)題集f=f+i;return f;public int fun(int x) int f=1;for(int i=this.x;i<=x;i+)f=f*i;return f;class Son exten

33、ds Fatherpublic Son(int a) super(a);public int fun()int f=1;for(int i=1;i<=x;i+)f=f*i;return f;public class Pol_expublic static void main(String args)Father f1=new Father(5);Son s1=new Son(3);f1=s1;第21頁(yè)共36頁(yè)JAVA 習(xí)題集習(xí)題四參考答案:2、public class PersonprivateString name;private char sex;private int year,m

34、onth;public Person( )public Person(String nm,char sx,int y,int m) name=nm; sex=sx; year=y;month=m;public void printPerson( )Calendar now=Calendar.getInstance();publicstatic void main(String args)Person pe1=new Person("Tom",'m',1980,10);pe1.printPerson();3、public class Rectangledoub

35、le width,length,girth,area;public Rectangle();public Rectangle(double wd,double le)第22頁(yè)共36頁(yè)JAVA 習(xí)題集 width=wd;length=le;public void setWidth(double wd)width=wd;public void setLength(double le)length=le;public double getWidth( )return width;public double getLength( )returnlength;public double girth()r

36、eturn 2*(width+length);public double area()return width*length;public void printRectangle()publicstatic void main(String args)Rectangle re1=new Rectangle(10,20);Rectangle re2=new Rectangle();re2.setWidth(3);re2.setLength(4);re1.printRectangle();re2.printRectangle();4、public class Matrixprivate int m

37、x,m,n;public Matrix(int r,int c)第23頁(yè)共36頁(yè)JAVA 習(xí)題集m=r;n=c;mx=new intmn;iniMatrix();public Matrix()m=3;n=3;mx=new int33;iniMatrix();public void iniMatrix()int i,j;for(i=0;i<=m-1;i+)for(j=0;j<=n-1;j+)mxij=(int)(Math.random()*100);public void tranMatrix()int i,j,t;int mt=new intmn;for(i=0;i<=m-1

38、;i+)for(j=0;j<=n-1;j+)mtij=mxij;t=m;m=n;n=t;mx=new intmn;for(i=0;i<=m-1;i+)for(j=0;j<=n-1;j+)mxij=mtji;publicvoid printMatrix()int i,j;for(i=0;i<=m-1;i+)第24頁(yè)共36頁(yè)JAVA 習(xí)題集 for(j=0;j<=n-1;j+)"+mxij);public void addMatrix(Matrix b)int i,j;for(i=0;i<=m-1;i+)for(j=0;j<=n-1;j+)mxi

39、j=mxij+b.mxij;public static void main(String args)Matrix ma=new Matrix(4,3);Matrix mb=new Matrix(4,3);matrix_A:");ma.printMatrix();matrix_B:");mb.printMatrix();ma.addMatrix(mb);ma.printMatrix();mb.tranMatrix();mb.printMatrix();10、public class Substringpublic static void main(String args)St

40、ring str1=new String("addActionListener");String str2=new String("Action");int n;n=str1.indexOf(str2);第25頁(yè)共36頁(yè)JAVA 習(xí)題集"+str1.substring(n+str2.length( );習(xí)題五問(wèn)答題:1請(qǐng)解釋 try、 catch、 finally 塊之間的關(guān)系。2try 塊的嵌套有幾種形式?他們對(duì)異常分別是怎樣處理的?3簡(jiǎn)述 throw,throws 語(yǔ)句的作用。習(xí)題五參考答案:1.try 塊用來(lái)監(jiān)視某段代碼執(zhí)行過(guò)程中是否發(fā)生

41、異常,若發(fā)生則產(chǎn)生異常對(duì)象并拋出。catch用于捕獲異常并處理它。finally 塊中的語(yǔ)句無(wú)論是否發(fā)生異常都將被執(zhí)行。2有兩種形式。一種是顯式嵌套,它是指在某個(gè)方法中,某一個(gè)try 塊又包含另一try 塊,當(dāng)內(nèi)層 try 塊拋出異常對(duì)象時(shí),首先對(duì)內(nèi)層try 塊的 catch 語(yǔ)句進(jìn)行檢查, 若與拋出異常類型匹配則由該catch 處理,否則由外層try 塊的 catch 處理。另一種是隱式嵌套,它是指在不同的方法中,若方法1 的 try 塊中調(diào)用方法2,而方法 2又包含一個(gè)try 語(yǔ)句,則方法1 中的 try 塊為外層,方法2 中的 try 為內(nèi)層。3 throw 語(yǔ)句用于在程序中自行拋出異常

42、,throw 語(yǔ)句執(zhí)行后,其后繼語(yǔ)句將不再執(zhí)行,執(zhí)行流程將直接尋找后面的catch 語(yǔ)句,如果catch 語(yǔ)句中的參數(shù)能匹配throw 語(yǔ)句拋出的第26頁(yè)共36頁(yè)JAVA 習(xí)題集Throwable 對(duì)象,則執(zhí)行相應(yīng)的異常處理程序。如果catch 語(yǔ)句中的參數(shù)沒有一個(gè)能與該對(duì)象相匹配,則由缺省的異常處理器終止程序的執(zhí)行并輸出相應(yīng)的異常信息。throws 語(yǔ)句用于聲明一個(gè)方法可能引發(fā)的所有異常,這些異常是要求調(diào)用該方法的程序處理的。習(xí)題六問(wèn)答題:1 線程有那些特點(diǎn)。2 什么是線程的生命周期?線程的是怎樣在各種狀態(tài)下轉(zhuǎn)換的。3 編寫一個(gè)線程程序,有兩各線程,分別在屏幕上顯示150 之間的奇數(shù)和偶數(shù)。

43、觀查一共有幾個(gè)線程在運(yùn)行,各個(gè)線程是怎樣被處理器執(zhí)行到的。4 編寫程序同上題,利用Java 對(duì)線程的調(diào)度技術(shù),使屏幕上先顯示150 之間的奇數(shù),再顯示 150 之間的偶數(shù)。5 一個(gè)多線程的程序怎么會(huì)出現(xiàn)死鎖?6 編寫一個(gè)程序, 創(chuàng)建兩個(gè)線程, 其中一個(gè)產(chǎn)生 5 個(gè) 1100 之間的隨機(jī)整數(shù), 另一個(gè)線程將這 5 個(gè)數(shù)加起來(lái)。觀察運(yùn)行的情況,分析結(jié)果是否正確。如果結(jié)果有問(wèn)題,想辦法解決它。習(xí)題六參考答案:3.public class Thread1 extends Thread int d;public Thread1(String name,int d)super(name);this.d=d;public void run()int k;第27頁(yè)共36頁(yè)JAVA 習(xí)題集");for(k=d;k<=50;k=k+2)public static void main(String args)Thread1 th1=new Thread1(&q

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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)論