




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Java程序設(shè)計(jì)習(xí)題集第一單元試題一、選擇題1.編譯JavaApplication源程序言件將產(chǎn)生相應(yīng)的字節(jié)碼文件,這些字節(jié)碼文件的擴(kuò)展名為()。2.Java程序的履行過程頂用到一套JDK工具,此中java.exe是指()A.Java文檔生成器B.Java解說器C.Java編譯器D.Java類分解器3.Java語言擁有很多長(zhǎng)處和特色,以下選項(xiàng)中,哪個(gè)反應(yīng)了Java程序并行體制的特點(diǎn)()A.安全性B.多線程C.跨平臺(tái)D.可移植Java編程所一定的默認(rèn)引用包為()包包包D.以上都不是二、判斷題1.J2EE(Java2PlatformEnterpriseEdition)公司版是以公司為環(huán)境而開發(fā)應(yīng)用程序的解決方案。()2.J2ME(Java2PlatformMicroEdition)——小型版是致力于花費(fèi)產(chǎn)品和嵌入式設(shè)施的最正確解決方案。()3.J2SE(Java2PlatformStandardEdition)——標(biāo)準(zhǔn)版為桌面開發(fā)和低端商務(wù)應(yīng)用供給了可行的解決方案。()4.Java是劃分大小寫的語言,重點(diǎn)字的大小寫不可以搞錯(cuò),假如把類class寫成Class或許CLASS,都是錯(cuò)誤的。()Java源程序編寫好以后,以文件的形式保存在硬盤或U盤上,源文件的名字能夠隨意取的,它不必定與程序的主類名一致。()在JDK命令行開發(fā)工具中,用編譯程序javac.Exe編譯生成的文件是二進(jìn)制可履行文件。()Java程序能夠分為JavaApplication和JavaApplet兩類,這兩類程序的運(yùn)轉(zhuǎn)方式是同樣的。()8.操作系統(tǒng)MicrosoftWndows95/98/2000/XP/2003、Linux、UNIX、MaoOS等都是支持Java虛構(gòu)機(jī)的操作系統(tǒng)。()Javac是Java編譯器,用來將Java源程序編譯成Java字節(jié)碼的程序。字節(jié)碼文件名和源文件名同樣,擴(kuò)展名是.class。()appletviewer是Java小程序閱讀器,能夠履行HTML文件中的Java小程序,Applet。它是個(gè)模擬閱讀器,能夠顯示Applet的運(yùn)轉(zhuǎn)結(jié)果。()三、簡(jiǎn)述題1.簡(jiǎn)述Java語言的主要特色。簡(jiǎn)述Java程序的可移植性。答案:一、二、1.對(duì)2.對(duì)3.對(duì)4.對(duì)5.錯(cuò)6.錯(cuò)7.錯(cuò)8.對(duì)9.對(duì)10.對(duì)三、1.答:Java語言有下邊一些特色:簡(jiǎn)單、面向?qū)ο?、散布式、解說履行、強(qiáng)健、...安全、系統(tǒng)結(jié)構(gòu)中立、可移植、高性能、多線程以及動(dòng)向性。答:與平臺(tái)沒關(guān)的特征使Java程序能夠方便地被移植到網(wǎng)絡(luò)上的不一樣機(jī)器。同時(shí),Java的類庫(kù)中也實(shí)現(xiàn)了了與不一樣平臺(tái)的接口,使這些類庫(kù)能夠移植。此外,Java編譯器是由Java語言實(shí)現(xiàn)的,Java運(yùn)轉(zhuǎn)時(shí)系統(tǒng)由標(biāo)準(zhǔn)C實(shí)現(xiàn),這使得Java系統(tǒng)自己也擁有可移植性。Writeonce,runeverywhere或許是Java最誘人的特色。用Java開發(fā)成的系統(tǒng)其移植工作幾乎為零,一般狀況下只需對(duì)配置文件、批辦理文件作相應(yīng)改正即可實(shí)現(xiàn)光滑移植。第二單元試題一、選擇題在Java中,屬于整數(shù)種類變量的是以下語句片段inta=10,b=4,c=20,d=6;System.out.println(a++*b+c*--d);結(jié)果為()A.144B.28C.140D.不可以履行以下語句片段:inta=-67,b=116,c=78;intd=~a|b&c;System.out.println(d);的結(jié)果為()給出下邊代碼:publicclasstest{staticinta[]=newa[10];publicstaticvoidmain(Stringargs[]){System.out.println(arr[10]);}}那個(gè)選項(xiàng)是正確的?()A.編譯時(shí)將產(chǎn)生錯(cuò)誤B.編譯時(shí)正確,運(yùn)轉(zhuǎn)時(shí)將產(chǎn)生錯(cuò)誤;C.輸出零;D.輸出空。下邊哪些選項(xiàng)是正確的main方法說明?()A.publicmain(Stringargs[])B.publicstaticvoidmain(Stringargs[])C.privatestaticvoidmain(Stringargs[])D.voidmain()6.System類在哪個(gè)包中()以下代碼哪幾行會(huì)犯錯(cuò):()1)publicvoidmodify(){...intI,j,k;I=100;while(I>0){j=I*2;System.out.println("Thevalueofjis"+j);k=k+1;I--;}10)}二、編程題1.在JBuilder9集成開發(fā)環(huán)境成立你的工程文件名myjava.jpx,把myfirstapp.java增添到myjava.jpx,并運(yùn)轉(zhuǎn)看結(jié)果。在你的D盤或E盤成立子文件夾myjava,用寫字板編寫一個(gè)Java程序myfirstapp.java,保存在myjava目錄下。程序?qū)嵈丝唐聊伙@示“你好,這是我的第一個(gè)Java程序?!狈謩e用JavaApplication和JavaApplet2種形式實(shí)現(xiàn)。三、簡(jiǎn)述題1.簡(jiǎn)述保存字。簡(jiǎn)述表記符。答案:一、二、略三、1.答:保存字(重點(diǎn)字)是Java語言自己使用的表記符,它有其特定的語法含義。全部的Java重點(diǎn)字將不可以被看作一般的表記符使用。如:for、while、boolean等都是Java語言的保存字重點(diǎn)字。答:在Java源程序代碼中程序員需要表記和使用的各樣元素如變量、函數(shù)、類和對(duì)象的名稱就是表記符(identifier)。包含:包名稱、類名、變量名、常量名、標(biāo)號(hào)、方法名等。表記符要切合下邊的規(guī)則。第三單元試題一、選擇題判斷以下表記符是正確,答案寫在()。(多項(xiàng)選擇)A.Java_procB.科學(xué)家Math類是標(biāo)準(zhǔn)的數(shù)學(xué)類,它供給了一些基本數(shù)學(xué)運(yùn)算的方法()。(多項(xiàng)選擇)A.絕對(duì)值abs()B.指數(shù)運(yùn)算exp()C.對(duì)數(shù)運(yùn)算log()D.平方根sqrt()E.三角函數(shù)sin(),cos(),tan()F.求最大值max()、求最小值min()G.求乘方pow()以下對(duì)于for循環(huán)和while循環(huán)的說法中哪個(gè)是正確的()A.while循環(huán)能實(shí)現(xiàn)的操作,for循環(huán)也都能實(shí)現(xiàn)B.while循環(huán)判斷條件一般是程序結(jié)果,for循環(huán)判斷條件一般是非程序結(jié)果...兩種循環(huán)任何時(shí)候都可替代兩種循環(huán)結(jié)構(gòu)中都一定有循環(huán)體,循環(huán)體不可認(rèn)為空4.在Java中,不屬于整數(shù)種類變量的是()5.Java變量中,以下不屬于復(fù)合種類的數(shù)據(jù)種類是()A.類B.字符型C.數(shù)組型D.接口6.JAVA程序常常用到“遞歸”,“遞歸”的基本思想是()A.“讓他人頻頻調(diào)用自己”B.“自己頻頻調(diào)用他人”C.“自己頻頻調(diào)用自己”D.以上說法都不對(duì)二、判斷題若循環(huán)變量在for語句前面已經(jīng)有定義并擁有循環(huán)初值,則初始語句能夠?yàn)榭眨ǚ痔?hào)不可以省略)。()2.dowhile循環(huán)的履行過程是無條件履行循環(huán)體一次,在依據(jù)判斷條件決定能否持續(xù)履行循環(huán)體。()Java語言的任何種類,包含整型、浮點(diǎn)型、字符和布爾型都能夠使用運(yùn)算符“==”來比較能否相等,用運(yùn)算符“?。健眮砼袛嗄芊癫坏?。()4.Java語言供給了三個(gè)特意的循環(huán)控制語句:for語句、while語句和dowhile語句。()5.Java語言供給了三個(gè)特意的循環(huán)控制語句:for語句、while語句和dowhile語句。()程序中的break語句是用于退出switch的,若無則程序?qū)⒉辉俦容^而是挨次履行全部語句。()三、簡(jiǎn)述題1.簡(jiǎn)述Java的基本數(shù)據(jù)種類。簡(jiǎn)述Java的表達(dá)式和運(yùn)算符。簡(jiǎn)述Java的方法(method)。答案:一、二、1.對(duì)2.對(duì)3.對(duì)4.對(duì)5.對(duì)6.對(duì)7.對(duì)三、1.答:基本數(shù)據(jù)種類包含:integer(整數(shù)),floating(浮點(diǎn)數(shù)),Boolean(布爾變量),CharacterorString(字符或字符串)。答:表達(dá)式是由標(biāo)示符、常量、變量和運(yùn)算符構(gòu)成,是程序的基本構(gòu)成部分。運(yùn)算符指明對(duì)各樣操作數(shù)所進(jìn)行的運(yùn)算,Java供給了豐富的運(yùn)算符,Java語言的基本運(yùn)算符分為算術(shù)運(yùn)算符、邏輯運(yùn)算符、關(guān)系運(yùn)算符和位運(yùn)算符4大類。同時(shí)也能夠使用圓括號(hào)將一個(gè)表達(dá)式的幾個(gè)部分組合到一同,并依據(jù)標(biāo)準(zhǔn)的代數(shù)規(guī)則成立優(yōu)先地位。3.答:方法(method)是類的一個(gè)成員,它和面向過程程序設(shè)計(jì)中的函數(shù)有好多類似之處。因?yàn)樗穷惖囊粋€(gè)重要構(gòu)成部分。第四單元試題一、判斷題1.若循環(huán)變量在for語句前面已經(jīng)有定義并擁有循環(huán)初值,則初始語句能夠?yàn)榭眨ǚ?..號(hào)不可以省略)。()2.do?while循環(huán)的履行過程是無條件履行循環(huán)體一次,在依據(jù)判斷條件決定能否持續(xù)履行循環(huán)體。()標(biāo)號(hào)供給了一種簡(jiǎn)單的break語句所不可以實(shí)現(xiàn)的控制循環(huán)的方法,當(dāng)在循環(huán)語句中碰到break后邊有標(biāo)號(hào)時(shí),不論其余控制變量怎樣,都會(huì)停止標(biāo)號(hào)的循環(huán)體。()4.Java的類庫(kù)是系統(tǒng)供給的已實(shí)現(xiàn)的標(biāo)準(zhǔn)類的會(huì)合,是Java編程的API,它能夠幫助開發(fā)者方便、快捷地開發(fā)Java程序。()5.Java的基礎(chǔ)類庫(kù)包java.Lang也要經(jīng)過import語句引用。()6.Java程序中使用importjava.io.*;表示要引入帶*的類。()包是Java語言用來建立圖形用戶界面(GUI)的類庫(kù),它包含了很多界面元素和資源,主要在3個(gè)方面供給界面設(shè)計(jì)支持:初級(jí)畫圖操作;圖形界面組件和布局管理和界面用戶交互控制和事件響應(yīng)。()8.VectortheVecto=newVector(100,100);這個(gè)語句創(chuàng)立了名稱為theVector的向量類對(duì)象,它的每個(gè)成員的容量為100,共有10個(gè)元素。()二、編程題編寫一個(gè)程序,隨機(jī)產(chǎn)生10個(gè)小寫字母,并判斷是元音字母、半元音字母仍是復(fù)音字母。編寫程序,找出50~100之間的全部素?cái)?shù)。三、簡(jiǎn)述題什么是類?什么是對(duì)象?類和對(duì)象有何聯(lián)系?方法的重載和方法的覆蓋有什么不一樣?類變量和實(shí)例變量有何差別?抽象類和抽象方法有什么特色?答案:一、1.對(duì)2.對(duì)3.對(duì)4.對(duì)5.錯(cuò)6.錯(cuò)7.對(duì)8.錯(cuò)二、1.算法設(shè)計(jì):應(yīng)用:charc=(char)(Math.random()*26+'a')隨機(jī)產(chǎn)生一個(gè)小寫的英文字母。元音字母:a、e、i、o、u五個(gè),半元音字母y、w二個(gè)其余19個(gè)都是復(fù)音字母。使用for循環(huán)。使用switch?case方式。參照源程序以下:(javajc\ch02\VowelsConsonants.java):packagech02;publicclassVowelsConsonants{publicstaticvoidmain(String[]args){for(inti=0;i<10;i++){charc=(char)(Math.random()*26+'a');//生成隨機(jī)字母System.out.print(c+"is");//判斷是哪一類字母switch(c){case'a':case'e':case'i':case'o':...case'u':System.out.println("avowel.");break;case'y':case'w':System.out.println("Sometimesavowel.");break;default:System.out.println("aconsonant.");}}}}算法提示:一個(gè)數(shù)字的因子是1和自己,則這個(gè)數(shù)是素?cái)?shù)。源程序(javajc\ch02\FindPrime.java):packagech02;/**<p>Title:求素?cái)?shù)</p><p>Description:一個(gè)數(shù)字的因子是1和自己,則這個(gè)數(shù)是素?cái)?shù)</p><p>Company:學(xué)院信息技術(shù)系</p><p>Address:下沙4號(hào)大街</p><p>Email:qinxueli@zj.</p><p>Postcode:310018</p>@version1.0*/publicclassFindPrime{publicstaticvoidmain(String[]args){next:for(inti=50;i<=100;i++){for(intj=2;j<i;j++){if(i%j==0)//假如因子,不是素?cái)?shù),取下一個(gè)屬判斷continuenext;}System.out.print(i+"");//輸出要素}}}運(yùn)轉(zhuǎn)結(jié)果:三、1.答:在面向?qū)ο蟪绦蛟O(shè)計(jì)里,類是定義一個(gè)對(duì)象的屬性和方法的藍(lán)本。對(duì)象就是一組變量和有關(guān)方法的會(huì)合,此中變量表示對(duì)象的狀態(tài),方法表示對(duì)象所擁有的行為。類是對(duì)象的模板,對(duì)象是類的實(shí)例,能夠從一個(gè)類中創(chuàng)立很多對(duì)象。答:方法重載,指的是在類中創(chuàng)立多個(gè)擁有同樣名稱,但使用不一樣參數(shù)的方法,Java虛構(gòu)機(jī)依據(jù)傳達(dá)給方法的參數(shù)個(gè)數(shù)和種類決定調(diào)...用哪個(gè)重載方法。方法的覆蓋指在子類中從頭定繼父類中已有的方法,對(duì)于重寫的方法,運(yùn)轉(zhuǎn)時(shí)系統(tǒng)依據(jù)調(diào)用該方法的實(shí)例的種類來決定選擇哪個(gè)方法調(diào)用。3.答:由static修飾的變量稱為類變量,當(dāng)系統(tǒng)在程序中第一次碰到一個(gè)類時(shí),便會(huì)拷貝一份全部的類變量在存里。而后那些由此類產(chǎn)生的實(shí)例即可分享這些類變量。實(shí)例變量指不是用static修飾的變量,可供實(shí)例方法使用。實(shí)例變量會(huì)復(fù)制于每一個(gè)從類產(chǎn)生的實(shí)例中。答:①一個(gè)抽象類里能夠沒有抽象方法,但含有抽象方法的類必然為抽象類。②抽象類不可以被實(shí)例化為對(duì)象,而只好作為其余類的超類,并且一定被繼承。③若某子類繼承自一個(gè)抽象類,而該子類不是抽象類,則子類需用覆蓋的方式來實(shí)例化超類中的全部抽象方法。抽象方法可再與public、protected復(fù)合使用,但不可以與final、private和static復(fù)合使用。④抽象方法只有方法申明,不可以有方法體。第五單元試題一、填空題在子類中使用重點(diǎn)字_______做前綴可調(diào)用被子類覆蓋的父類中的方法。2.Java中全部類都是_______類的子類。經(jīng)過_______運(yùn)算符就能實(shí)現(xiàn)對(duì)對(duì)象成員變量的接見和對(duì)象方法的調(diào)用。類的結(jié)構(gòu)方法的名稱一定與_______名同樣。類方法只好辦理用重點(diǎn)字_______修飾的對(duì)象。二、選擇題對(duì)象使用時(shí),下邊描繪錯(cuò)誤的選項(xiàng)是()A.經(jīng)過“.”運(yùn)算符調(diào)用成員變量和方法B.經(jīng)過成員變量的接見權(quán)限設(shè)定限制自己對(duì)這些變量方法的調(diào)用將一個(gè)對(duì)象申明為類的成員時(shí),一定在使用前為其分派存在方法中使用對(duì)象作為參數(shù)時(shí),采納引用調(diào)用2.定義一個(gè)名為“MyClass”的類,并且該類可被一個(gè)工程中的全部類接見,那么該類的正確申明應(yīng)為:()中接見限制符不包含()結(jié)構(gòu)方法何時(shí)被調(diào)用()A.類定義時(shí)B.創(chuàng)立對(duì)象時(shí)C.調(diào)用對(duì)象方法時(shí)D.使用對(duì)象的變量時(shí)假如任何包中的子類都能接見超類中的成員,那么應(yīng)使用哪個(gè)限制詞三、程序閱讀題編譯并運(yùn)轉(zhuǎn)下邊的程序,運(yùn)轉(zhuǎn)結(jié)果為()publicclassT1{publicstaticvoidmain(String[]args)...{T1a=newT1();a.method(8);a.method(1.2f);}voidmethod(floati){System.out.println("float:"+i);}voidmethod(longi){System.out.println("long:"+i);}}(2)定義類A和類B以下:classA{inta=1;doubled=2.0;voidshow(){System.out.println("ClassA:a="+a+"\td="+d);}}classBextendsA{floata=3.0f;Stringd="Javaprogram.";voidshow(){super.show();System.out.println("ClassB:a="+a+"\td="+d);}}若在應(yīng)用程序的main方法中有以下語句:Aa=newA();a.show();則輸出的結(jié)果怎樣?若在應(yīng)用程序的main方法中定義類B的對(duì)象b:Ab=newB();b.show();則輸出的結(jié)果怎樣?答案:一、1.super2.Object3.圓點(diǎn)4.類5.static二、三、1.答:編譯犯錯(cuò),Mine應(yīng)申明為abstract種類。...2.答:程序能夠編譯運(yùn)轉(zhuǎn),輸出結(jié)果為:long:8float:1.2答:ClassA:a=1d=2.0ClassA:a=1d=2.0ClassB:a=3.0d=Javaprogram.第六單元試題一、判斷題部類能夠接見外層類的任何變量,包含私有的。()匿名類能夠有結(jié)構(gòu)器,申明時(shí)候不可以帶參數(shù)。()抽象方法能夠是static的。()結(jié)構(gòu)器沒有任何返回種類,哪怕是void也不可以。()只需類中顯式地定義一個(gè),那么Java不會(huì)再為你定義一個(gè)默認(rèn)的結(jié)構(gòu)器。()結(jié)構(gòu)方法能夠被繼承。()方法的參數(shù)變量不可以是final的()一個(gè)Java類能夠有多個(gè)父類,這稱作多繼承.()二、簡(jiǎn)答題1.Java的成員變量修飾符有哪幾種?此中哪一種修飾符限制的圍最大?2.寫出以下重點(diǎn)字的意義和運(yùn)用處合:①final;②finalize;③finally。3.作用域public,private,protected,以及不寫時(shí)的差別三、編程題請(qǐng)定義一個(gè)名為Card的撲克牌類,該類有兩個(gè)private接見權(quán)限的字符串變量face和suit:分別描繪一牌的牌面值(如:A、K、Q、J、10、9、?、3、2等)和花色(如:“黑桃”、“紅桃”、“梅花”和“方塊”)。定義Card類中的public接見權(quán)限的結(jié)構(gòu)方法,為類中的變量賦值;定義protected接見權(quán)限的方法getFace(),獲取撲克牌的牌面值;定義protected接見權(quán)限的方法getSuit(),獲取撲克牌的花色;定義方法toString(),返回表示撲克牌的花色和牌面值字符串(如“紅桃A”、“梅花10”)。答案:一、二、1.答:成員變量的修飾符有public、protected、private、static、final、transient、volatile七種。Public修飾符的限制圍最大。2.答:final,finally,finalize的差別以下:final用于申明屬性、方法和類,分別表示屬性不可以變,方法不可以覆蓋,類不可以繼承。finally是異樣辦理語句結(jié)構(gòu)的一部分,表示老是履行。finalize是Object類的一個(gè)方法,在垃圾采集器履行的時(shí)候會(huì)調(diào)用被回收對(duì)象的此方法,能夠覆蓋此方法供給垃圾采集時(shí)的其余資源回收,比如封閉文件等。答:差別以下:作用域目前類同一package子其余packagepublic√√√√protected√√√×friendly√√××private√×××不寫時(shí)默認(rèn)為friendly...三、解題思路以下:classCard{privateStringface;privateStringsuit;publicCard(Stringf,Strings){face=f;suit=s;}protectedStringgetSuit(){returnsuit;}protectedStringgetFace(){returnface;}publicStringtoString(){returnface+"of"+suit;}}第七單元試題一、判斷程序段abstractclassName{privateStringname;publicabstractbooleanisStupidName(Stringname){}}abstractclassSomething{privateabstractStringdoSomething();}publicclassSomething{publicintaddOne(finalintx){return++x;}}publicclassSomething{publicstaticvoidmain(String[]args){Othero=newOther();newSomething().addOne(o);}publicvoidaddOne(finalOthero){o.i++;}}...classOther{publicinti;}classSomething{inti;publicvoiddoSomething(){System.out.println("i="+i);}}二、下邊代碼編譯和運(yùn)轉(zhuǎn)的結(jié)果是什么?classValue{publicinti=15;}publicclassTest{publicstaticvoidmain(Stringargv[]){Testt=newTest();t.first();}publicvoidfirst(){inti=5;Valuev=newValue();v.i=25;second(v,i);System.out.println(v.i);}publicvoidsecond(Valuev,inti){i=0;v.i=20;Valueval=newValue();v=val;System.out.println(v.i+""+i);}}classFatherClass{publicFatherClass(){System.out.println("FatherClassCreate");}}publicclassChildClassextendsFatherClass{publicChildClass(){System.out.println("ChildClassCreate");}publicstaticvoidmain(String[]args)...{FatherClassfc=newFatherClass();ChildClasscc=newChildClass();}}publicclassStatic{static{intx=5;}staticintx,y;publicstaticvoidmain(Stringargs[]){x--;myMethod();System.out.println(x+y+++x);}publicstaticvoidmyMethod(){y=x+++++x;}}A.編譯錯(cuò)誤B.輸出1C.輸出2D.輸出3classMyParent{intx,y;MyParent(intx,inty){this.x=x;this.y=y;}publicintaddMe(intx,inty){returnthis.x+x+y+this.y;}publicintaddMe(MyParentmyPar){returnaddMe(myPar.x,myPar.y);}}classMyChildextendsMyParent{intz;MyChild(intx,inty,intz){super(x,y);this.z=z;}publicintaddMe(intx,inty,intz){returnthis.x+x+this.y+y+this.z+z;}publicintaddMe(MyChildmyChi){returnaddMe(myChi.x,myChi.y,myChi.z);...}publicintaddMe(intx,inty){returnthis.x+x+this.y+y;}}publicclassMySomeOne{publicstaticvoidmain(Stringargs[]){MyChildmyChi=newMyChild(10,20,30);MyParentmyPar=newMyParent(10,20);intx=myChi.addMe(10,20,30);inty=myChi.addMe(myChi);intz=myPar.addMe(myPar);System.out.println(x+y+z);}}答案:一、1.錯(cuò)。abstractmethod一定以分號(hào)結(jié)尾,且不帶花括號(hào)。錯(cuò)。abstract的methods不可以以private修飾。abstract的methods就是讓子類implement(實(shí)現(xiàn))詳細(xì)細(xì)節(jié)。錯(cuò)。intx被修飾成final,意味著x不可以在addOnemethod中被改正。正確。在addOnemethod中,參數(shù)o被修飾成final。假如在addOnemethod里我們改正了o的reference(比方:o=newOther();),那么好像上例這題也是錯(cuò)的。但這里改正的是o的membervairable(成員變量),而o的reference并無改變。正確。輸出的是"i=0"。二、1.正確答案A答案:FatherClassCreateFatherClassCreateChildClassCreate正確答案D正確答案:A第八單元試題一、判斷程序段classSomething{finalinti;publicvoiddoSomething(){System.out.println("i="+i);}}7.interfacePlayable{...voidplay();}interfaceBounceable{voidplay();}interfaceRollableextendsPlayable,Bounceable{Ballball=newBall("PingPang");}classBallimplementsRollable{privateStringname;publicStringgetName(){returnname;}publicBall(Stringname){=name;}publicvoidplay(){ball=newBall("Football");System.out.println(ball.getName());}}二、下邊代碼編譯和運(yùn)轉(zhuǎn)的結(jié)果是什么?classMyThreadextendsThread{publicvoidrun(){System.out.println("MyThread:run()");}publicvoidstart(){System.out.println("MyThread:start()");}}classMyRunnableimplementsRunnable{publicvoidrun(){System.out.println("MyRunnable:run()");}publicvoidstart(){System.out.println("MyRunnable:start()");}}publicclassMyTest{publicstaticvoidmain(Stringargs[]){MyThreadmyThread=newMyThread();MyRunnablemyRunnable=newMyRunnable();Threadthread=newThread(myRunnable);...myThread.start();thread.start();}}A.打印MyThread:start()后邊跟MyRunnable:run()B.打印MyThread:run()后邊跟MyRunnable:start()C.打印MyThread:start()后邊跟MyRunnable:start()D.打印MyThread:run()后邊跟MyRunnable:run()//文件名:SuperclassX.javapackagepackageX;publicclassSuperclassX{protectedvoidsuperclassMethodX(){}intsuperclassVarX;}//文件名:SubclassY.java1.packagepackageX.packageY;2.3.publicclassSubclassYextendsSuperclassX4.{SuperclassXobjX=newSubclassY();SubclassYobjY=newSubclassY();voidsubclassMethodY(){objY.superclassMethodX();inti;i=objY.superclassVarX;}13.}A.第5行編譯錯(cuò)B.第9行編譯錯(cuò)C.第11行不測(cè)D.都不是程序段以下:1.classMyClass2.{voidmyMethod(inti){System.out.println("intversion");}voidmyMethod(Strings){System.out.println("Stringversion");}publicstaticvoidmain(Stringargs[]){MyClassobj=newMyClass();charch='c';obj.myMethod(ch);}11.}A.第四行編譯犯錯(cuò)B.第九行拋出例外C.輸出結(jié)果:intversionD.輸出結(jié)果:Stringversion4.publicclassThrowsDemo{...staticvoidthrowMethod(){System.out.println("InsidethrowMethod.");thrownewIllegalAccessException("demo");}publicstaticvoidmain(Stringargs[]){try{throwMethod();}catch(IllegalAccessExceptione){System.out.println("Caught"+e);}}}A.編譯錯(cuò)B.運(yùn)轉(zhuǎn)錯(cuò)C.編譯成功,可是沒有輸出結(jié)果D.以上都不是5.classX{Yb=newY();X(){System.out.print("X");}}classY{Y(){System.out.print("Y");}}publicclassZextendsX{Yy=newY();Z(){System.out.print("Z");}publicstaticvoidmain(String[]args){newZ();}}6.publicclassMyThreadimplementsRunnable{StringmyString="Yes";publicvoidrun(){this.myString="No";}publicstaticvoidmain(String[]args){MyThreadt=newMyThread();newThread(t).start();...for(inti=0;i<10;i++)System.out.print(t.myString);}}A.打印yesyesyesyesyesyesB.打印nonononononononoC.打印yesnoyesnoyenoyenoD.不確立答案:一、1.錯(cuò)。finalinti是個(gè)final的instantvariable(實(shí)例變量,或叫成員變量)。final的instantvariable沒有defaultvalue,一定在constructor(結(jié)構(gòu)器)結(jié)束以前被給予一個(gè)明確的值。能夠改正為"finalinti=0;"。2.錯(cuò)。Ballball=newBall("PingPang");"其實(shí)是"publicstaticfinalBallball=newBall("PingPang");"。在Ball類的Play()方法中,"ball=newBall("Football");"改變了ball的reference,所以編譯時(shí)間錯(cuò)。二、1.答案A答案D答案C答案:A答案D答案D第九單元試題一、填空題創(chuàng)立包需要使用的重點(diǎn)字是______,并且該語句應(yīng)當(dāng)是整個(gè)“.java”文件的______。按異樣辦理不一樣可分為捕捉異樣、申明異樣和______三種。3.Java語言中,往常把可能發(fā)生異樣的方法調(diào)用語句放到try塊中,并用緊跟后來的_____塊來捕捉和辦理異樣。4.接口中的成員只有靜態(tài)常量和______。5.Throwable類是類庫(kù)______包中的一個(gè)類,它派生了兩個(gè)子類:______和______。二、簡(jiǎn)答題1.Error類和Exception類有什么差別?接口和抽象類有什么差別?什么是包?為何要使用包?三、閱讀下邊的程序,并將有錯(cuò)誤的地方改正。publicclassMyClass{publicstaticvoidmain(Stringargs[]){myMethod();}publicvoidmyMethod()throwMyException{throws(newMyException());}...}classMyException{publicStringtoString(){return("用戶自定義的異樣");}}在空白處填上適合的語句。publicclassServerTimedOutExceptionextendsException{privateintport;publicServerTimedOutException(Stringmessage,intport){super(message);this.port=port;}publicintgetPort(){returnport;}}classClient{//在下行空白出填上申明扔掉ServerTimedOutException異樣的語句publicvoidconnectMe(StringserverName)________________________{intsuccess;intportToConnect=80;success=open(serverName,portToConnect);if(success==-1){//在下行空白處填上拋出ServerTimedOutException異樣的語句____________________________________________________________}}}答案:一、1.Pakage、第一條語句拋出異樣Catch抽象方法、Error、Execption二、1.答:Error類及Exception類是Throwable類的兩個(gè)直接子類。Error類描繪的...是部系統(tǒng)錯(cuò)誤,包含動(dòng)向失敗、虛構(gòu)機(jī)錯(cuò)誤等,Java程序不做辦理。Exception類描繪的是程序和外面環(huán)境惹起的錯(cuò)誤,這些錯(cuò)誤能經(jīng)過程序捕捉和辦理,Exception類是Java程序中需要大批辦理的。答:從實(shí)質(zhì)上講,接口是一種特別的抽象類,但是它們又有差別:第十單元試題一、簡(jiǎn)答題什么是異樣?為何要進(jìn)行異樣辦理?簡(jiǎn)述異樣辦理的過程。二、選擇題下邊()是正確的接口。{{Voidprint(){};print();}}{{Abstractvoidprint(){};voidprint();}}2.在異樣辦理中,如開釋資源、封閉文件、封閉數(shù)據(jù)庫(kù)等由()來達(dá)成。A.try子句B.catch子句C.finally子句D.throw子句3.當(dāng)方法碰到異樣又不知怎樣辦理時(shí),以下哪一種說法是正確的()。A.捕捉異樣B.拋出異樣C.申明異樣D.嵌套異樣重點(diǎn)字()能夠拋出異樣?下邊是一個(gè)有錯(cuò)的程序:1packagepayroll;2classEmployeeNames{3publicstaticString[]names={"a","b"};4publicstaticString[]getNames(){5returnnames;}}另一個(gè)文件packageclientimportpayroll.EmployeeNames;publicclassTraderNamesextendsEmployeeNames{publicString[]traders={"c","d"};}下邊有四個(gè)改正項(xiàng),哪個(gè)答案能改正程序?()A.8packageclient;...B.2protectedclassEmployeeNames{C.1packageparyroll;6.Stringstr="Java";StringBufferbuffer=newStringBuffer(str);if(str.equals(buffer)){System.out.println("Bothareequal");}else{System.out.println("Botharenotequal");}A.botharenotequalB.bothareequalC.編譯錯(cuò)D.運(yùn)轉(zhuǎn)錯(cuò)7.classParent{privatevoidmethod1(){System.out.println("Parent'smethod1()");}publicvoidmethod2(){System.out.println("Parent'smethod2()");method1();}}classChildextendsParent{publicvoidmethod1(){System.out.println("Child'smethod1()");}publicstaticvoidmain(Stringargs[]){Parentp=newChild();p.method2();}}A.編譯錯(cuò)B.運(yùn)轉(zhuǎn)錯(cuò)C.打印parent’smethod2()parent’smethod1()D.打印parent’smethod2()child’smethod1()下邊程序段的編譯和運(yùn)轉(zhuǎn)的結(jié)果是什么?Strings1=newString("Test");Strings2=newString("Test");if(s1==s2)System.out.println("Same");if(s1.equals(s2))System.out.println("Equals");A.SameEqualB.EqualsC.SameD.編譯錯(cuò)那一行的輸出結(jié)果是false?1.publicclassMyClass2.{...staticStrings1="Iamunique!";publicstaticvoidmain(Stringargs[]){Strings2="Iamunique!";Strings3=newString(s1);System.out.println(s1==s2);System.out.println(s1.equals(s2));System.out.println(s3==s1);System.out.println(s3.equals(s1));System.out.println(TestClass.s4==s1);}14.}15.16.classTestClass17.{staticStrings4="Iamunique!";19.}A.10和12行B.12行C.8和10行D.都不是答案:一、1.答:異樣,是指因?yàn)槌绦蜻\(yùn)轉(zhuǎn)時(shí)發(fā)生錯(cuò)誤,進(jìn)而致使程序錯(cuò)誤結(jié)束。在進(jìn)行程序設(shè)計(jì)時(shí),錯(cuò)誤的產(chǎn)生是不可以防止的,沒有異樣辦理代碼的程序,在運(yùn)轉(zhuǎn)時(shí)發(fā)生錯(cuò)誤則可能非正常結(jié)束,惹起嚴(yán)重問題。所以,Java給程序員供給了辦理運(yùn)轉(zhuǎn)時(shí)錯(cuò)誤的功能,稱為異樣辦理。答:程序運(yùn)轉(zhuǎn)時(shí)出現(xiàn)錯(cuò)誤時(shí),創(chuàng)立異樣對(duì)象,拋出異樣對(duì)象,捕捉該異樣對(duì)象并進(jìn)行辦理。二、綜合試題一、填空題1.繼承是的一個(gè)特色,繼承支持類觀點(diǎn)。2.數(shù)據(jù)庫(kù)的設(shè)計(jì)往常能夠分為這樣四個(gè)步驟:需求剖析、、和物理設(shè)計(jì)。3.在C++中,申明結(jié)構(gòu)函數(shù)和析構(gòu)函數(shù)時(shí),使用const或volatile重點(diǎn)詞。文件類是java.io中的一個(gè)重要的非流類,里面封裝了對(duì)文件系統(tǒng)進(jìn)行操作的功5.Java語言經(jīng)過接口支持繼承,使類繼承擁有更靈巧的擴(kuò)展性。6.拋出異樣的程序代碼能夠是,或許是JDK中的某個(gè)類,還能夠是JVN。7.按異樣辦理不一樣可分為運(yùn)轉(zhuǎn)異樣、捕捉異樣、申明異樣和幾種。變量種類有兩大類:和復(fù)合種類。9.Java語言的各樣數(shù)據(jù)種類之間供給兩種變換,自動(dòng)變換和。二、選擇題指出以下程序運(yùn)轉(zhuǎn)的結(jié)果()publicclassExample{...Stringstr=newString(_good_);char[]ch={_a_,_b_,_c_};publicstaticvoidmain(Stringargs[]){Exampleex=newExample();ex.change(ex.str,ex,ch);System.out.print(ex.str+_and_);System.out.print(ex.ch);}publicvoidchange(Stringstr,charch[]){str=_testok_;ch[0]=_g_;}}運(yùn)轉(zhuǎn)以下程序,會(huì)產(chǎn)生的結(jié)果是()publicclassXextendsThreadimplementsRunable{publicvoidrun(){System.out.println(_thisisrun()_);}publicstaticvoidmain(Stringargs[])}Threadt=newThread(newX());t.start();}}A.第一行會(huì)產(chǎn)生編譯錯(cuò)誤B.第六行會(huì)產(chǎn)生編譯錯(cuò)誤C.第六行會(huì)產(chǎn)生運(yùn)轉(zhuǎn)錯(cuò)誤D.程序會(huì)運(yùn)轉(zhuǎn)和啟動(dòng)對(duì)于catch子句的擺列,以下哪一種是正確的()A.父類在先,子類在后B.子類在先,父類在后C.有繼承關(guān)系的異樣不可以在同一個(gè)try程序段先有子類,其余怎樣擺列都沒關(guān)4.J2SDK的下載,以下哪步可進(jìn)入J2SE下載頁面()進(jìn)入http://java.sun.點(diǎn)擊左邊“Download”點(diǎn)擊頁面中的“Java2Platform,StandardEdition”了;點(diǎn)擊頁面中“”5.Java中,數(shù)值種類值中可能出現(xiàn)的符號(hào)是()結(jié)構(gòu)方法何時(shí)被調(diào)用()A.類定義時(shí)B.創(chuàng)立對(duì)象時(shí)C.調(diào)用對(duì)象方法時(shí)D.使用對(duì)象的變量時(shí)下邊的表達(dá)式中正確的選項(xiàng)是()A.Strings=_你好_;inti=3;s+=i;...B.Strings=_你好_;inti=3;if(i==s){s+=i};C.Strings=_你好_;inti=3;s=i+s;D.Strings=_你好_;inti=3;s=i+;哪個(gè)布局管理器使用的是組件的最正確尺寸()在異樣辦理中,如開釋資源、封閉文件、封閉數(shù)據(jù)庫(kù)等由()來達(dá)成。A.try子句B.catch子句C.finally子句D.throw子句要從文件_file.dat_文件中讀出第10個(gè)字節(jié)到變量C中,以下哪個(gè)方法適合()A.FileInputStreamin=newFileInputStream(_file.dat_);in.skip9.;intc=in.read();B.FileInputStreamin=newFileInputStream(_file.dat_);in.skip10.;intc=in.read();C.FileInputStreamin=newFileInputStream(_file.dat_);intc=in.read();D.RandomAccssFilein=RandomAccssFile(_file.dat_);in.skip9.;intc=in.readByte();假如任何包中的子類都能接見超類中的成員,那么應(yīng)使用哪個(gè)限制詞運(yùn)轉(zhuǎn)以下程序的結(jié)果是()abstractclassMineBase{abstractvoidamethod();staticinti;}publicclassMineextendsMineBase{publicstaticvoidmain(Stringargs[]){int[]ar=newint[5];for(i=0;iSystem.out.println(ar[i]);}}A.打印5個(gè)0B.編譯犯錯(cuò),數(shù)組args[]一定初始化C.編譯犯錯(cuò),Mine應(yīng)申明為abstractD.出現(xiàn)IndexOutOfBoundes的例外以下運(yùn)算結(jié)果默認(rèn)為float的是()A.100/10B.100*10C.100F+10D.100D-1014.以下語句byteb=011;System.out.priftln(b);輸出結(jié)果為()在Java中,不屬于整數(shù)種類變量的是下邊屬于Java重點(diǎn)字的是()下邊哪個(gè)語句是正確的()A.Objecto=newButton(_A_);B.Buttonb=newObject(_B_);C.Panelp=newFrame();D.Framef=newPanel();18.Java語言中,以下表記符錯(cuò)誤的選項(xiàng)是()A.dissB.—nameC.&countD.—j19.Java變量中,以下不屬于復(fù)合種類的數(shù)據(jù)種類是()A.類B.字符型C.數(shù)組型D.接口...Java中哪個(gè)類供給了隨機(jī)接見文件的功能()A.RandomAccessFile類B.RandomFile類C.File類D.AccessFile類答案:一、1.對(duì)象2.觀點(diǎn)設(shè)計(jì)邏輯設(shè)計(jì)剖析3.4.File多重6..Java應(yīng)用程序7.拋出異樣8.基本種類9.強(qiáng)迫變換二、綜合試題二一、是非題所謂缺省結(jié)構(gòu)函數(shù)就是沒有參數(shù)的結(jié)構(gòu)函數(shù)。()對(duì)象成員變量在對(duì)象創(chuàng)立時(shí)會(huì)獲取一個(gè)缺省的初始值。()3.Java數(shù)組隨時(shí)能夠改變大小。()4.InputStream和OutputStream讀寫的數(shù)據(jù)是8位的。()5.Java是強(qiáng)種類語言。()6.Java沒有指針,引用不可以等同于指針。()7.protected的成員只好被繼承類成員存取。()任何的Applet都完整不可以接見當(dāng)?shù)刭Y源。()AnonymousInnerClass(匿名部類)能夠extends(繼承)其余類。()10.final類是為防備他人從你的類上派生新類,此類是不可以繼承的。()11.super()和this()方法只好在結(jié)構(gòu)函數(shù)里調(diào)用。()接口的全部方法默認(rèn)都是public,abstract和non-static的。()接口能夠申明成final。()二、簡(jiǎn)述題一個(gè)空數(shù)組與一個(gè)長(zhǎng)度為0的數(shù)組有什么差別?2.Vector對(duì)象的大小與容量之間有什么差別?3.String類和StringBuffer類的主要差別是什么?1.指出以下程序運(yùn)轉(zhuǎn)的結(jié)果()三、程序閱讀題并寫出運(yùn)轉(zhuǎn)結(jié)果importjava.util.*;publicclassTestVector{publicstaticvoidmain(String[]args){Vectorvec=newVector();print(vec);vec.addElement("C");print(vec);vec.addElement("D");print(vec);for(inti=0;i<4;i++)vec.addElement("E");print(vec);...}staticvoidprint(Vectorvec){System.out.println("vec="+vec);System.out.print("vec.size="+vec.size());System.out.println("\tvec.capacity="+vec.capacity());System.out.println("\n");}}答案:一、1.T2.T,初始值是03.F4.T,reader和writer是16位5.T,要有確立種類的,除過list和log6.T,指針是可計(jì)算的,引用是不可以計(jì)算的7.F,包和子類8.F,受權(quán)后能夠接見二、答:一個(gè)空數(shù)組是指不包含任何Object引用的數(shù)組對(duì)象。而一個(gè)長(zhǎng)度為0的數(shù)組是指有0個(gè)元素的數(shù)組對(duì)象。答:一個(gè)Vector對(duì)象的大小是包含的Object引用的實(shí)質(zhì)數(shù)目。而容量是指為Object引用分派的儲(chǔ)存空間的數(shù)目。答:String類:用于比較兩個(gè)字符串,查找和抽取串中的字符或子串,字符串與其余種類的變換等,String類對(duì)象的容一旦被初始化
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 叉車轉(zhuǎn)讓回收合同范本
- 仿古門窗加工合同范本
- 午托員工合同范本
- 教學(xué)提質(zhì)增效課題申報(bào)書
- 農(nóng)村合作社有些合同范例
- 克拉瑪依勞動(dòng)合同范本
- 員工離職接觸合同范本
- 廠房拆除門窗合同范本
- 中介融資合同范本
- 叫做招標(biāo)性質(zhì)合同范本
- 福晨河北科技發(fā)展有限公司年分裝500噸化學(xué)試劑建設(shè)項(xiàng)目環(huán)境影響報(bào)告表
- 用戶需求(URS)編寫及管理規(guī)程
- 分班后第一次班會(huì)——起航剖析
- 一年級(jí)下冊(cè)地方課程教案
- 牛羊定點(diǎn)屠宰廠項(xiàng)目可行性研究報(bào)告-甲乙丙資信
- 03SG520-1實(shí)腹式鋼吊車梁(中輕級(jí)工作制A1~A5_Q235鋼_跨度6.0m、7.5m、9.0m)
- 妊娠糖尿病-楊慧霞.ppt
- (完整word版)消化系統(tǒng)知識(shí)點(diǎn)整理
- 煤礦綜采工作面配套設(shè)備選型設(shè)計(jì)
- 全國(guó)防返貧監(jiān)測(cè)信息系統(tǒng)業(yè)務(wù)管理子系統(tǒng)操作手冊(cè)
- 工程施工項(xiàng)目明細(xì)表-改(5)
評(píng)論
0/150
提交評(píng)論