【正文】
00排序后的數(shù)據(jù)序列:b[0]=5b[1]=42b[2]=63b[3]=36b[4]=2b[5]=69b[6]=95b[7]=96b[8]=99b[9]=2002. 請(qǐng)寫(xiě)下程序的輸出結(jié)果: public class Test52 { String str1=Hello, Java world! \t。 i++) (b[i+i+]= +b[i])。 */ } } public static void ShowArray(int b[]) { for(int i=0。 } /* if(i==1||i==2) ShowArray(x)。 x[j]=x[j+1]。 j。 i。 } public static void Sort(int[] x) { int w。 (排序后的數(shù)據(jù)序列:)。 ShowArray(a)。 public class Test56_Sort { public static void main(String args[ ]) { int[] a={42,99,5,63,95,36,2,69,200,96}。 18.Java 和 c++都是面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言。 int m ( float x, float y ) { _______k=(int)x*y___________。15. 順序結(jié)構(gòu)、分支結(jié)構(gòu)(或稱(chēng)選擇結(jié)構(gòu))、__循環(huán)結(jié)構(gòu)__________是結(jié)構(gòu)化程序設(shè)計(jì)的三種基本流程控制結(jié)構(gòu)。 Java的簡(jiǎn)單數(shù)據(jù)類(lèi)型有 : 數(shù)值類(lèi)型(整形和浮點(diǎn)類(lèi)型),自負(fù)類(lèi)型和布爾類(lèi)型13. 表達(dá)式3/6 * 5的計(jì)算結(jié)果是_0_______ 。 public _____ myprogram ___ init( ) { a=new A( ); b=___new__ B( )。 } }11下面是一個(gè)小程序的主類(lèi)myprogram的定義, 其中A、B是該主類(lèi)所在源程序中已定義的另兩個(gè)類(lèi)的類(lèi)名: import java awt.*; import java applet.*; public class myprogram extends Applet//定義小程序的主類(lèi) { A a。 i++) (_i=+i__________)。 public class MyClass { public static void main(String args[ ]) { if( !=_0__) for(int i=0。 } } Application 的主類(lèi)的定義,其功能是輸出所有命令行參數(shù)。 Myclass ( int i, ___=0____) // 構(gòu)造函數(shù) { x=i。 8. 表達(dá)式3/6 * 5的計(jì)算結(jié)果是____0____ 。 6. 定義類(lèi)就是定義一種抽象的______父類(lèi)______,它是所有具有一定共性的對(duì)象的抽象描述。 4. 當(dāng)整型變量n的值不能被13除盡時(shí),其值為 false 的Java語(yǔ)言表達(dá)式是__n%13==0___________ 。 2. Java語(yǔ)言中的浮點(diǎn)型數(shù)據(jù)根據(jù)數(shù)據(jù)存儲(chǔ)長(zhǎng)度和數(shù)值精度的不同,進(jìn)一步分為float和 ___ double _______兩種具體類(lèi)型。 D) i=j。 B) j=(long)i。 下面賦值不正確的語(yǔ)句是( D )。 A) 線(xiàn)性表 B) 樹(shù) C) 隊(duì)列 D) 堆棧11. 設(shè)有定義 int i=123。 24= b1 ? b1 : b2。 A) for 語(yǔ)句 B) while 語(yǔ)句 C) switch 語(yǔ)句 D) do__while 語(yǔ)句23. 下列程序段執(zhí)行后 b3 的結(jié)果是( D )。 }21. 用于定義類(lèi)成員的訪(fǎng)問(wèn)控制權(quán)的一組關(guān)鍵字是( D )。 } C) int x( ){ ...return true。 return (int)ch。 A) int x( ){ char ch=39。19. 設(shè) i、j、k 為類(lèi) x 中定義的 int 型變量名,下列類(lèi) x 的構(gòu)造函數(shù)中不正確的是(B )。 C) y x1。 A) static x x1。17. 下列類(lèi)定義中,不正確的是(C )。w39。 B) final int i=。 { ...... } { ...... }16. 下列最終屬性 i 的定義中,正確的是( )。 A) private B) static C) abstract D) protected15.設(shè)int 型變量 a、b,float 型變量 x、y,char 型變量 ch 均已正確定義并賦值, 正確的switch語(yǔ)句是D )。 i++) 。 for ( int i = 0。 } while( i 3 )。 int i=16。 A) x y || x z B) x != y C) z ( y + x ) D) x y amp。 j+=3 ) i=i+j。 for( int i=0, j=1。 default : k/=j。 case 9 : k+=2。 int i=10, j=18, k=30。 else j。 int i=8, j=16。C39。B39。A39。 if(ch1 + 2 ch2 ) ++ch1。,ch2=39。 char ch1=39。 其中0≤k≤3,則對(duì)x數(shù)組元素錯(cuò)誤的引用是( C )。 A) 10 B) 121 C) 11 D) 1005.下列選項(xiàng)中,用于在定義子類(lèi)時(shí)聲明父類(lèi)名的關(guān)鍵字是( C )。則執(zhí)行以下語(yǔ)句后,i 的值為( C )。3.Java語(yǔ)言的類(lèi)間的繼承關(guān)系是( B )。 C) i++ j。 A) 0 B) 1 C) 2 D) 32.設(shè) i、j 為int型變量名,a 為int型數(shù)組名,以下選項(xiàng)中,正確的賦值語(yǔ)句是( B )。 int m=3, n=6, k=0。.JAVA語(yǔ)言程序設(shè)計(jì)考試試題及部分答案一、單選題:(每題1分)下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)的標(biāo)記寫(xiě)在題干后的括號(hào)內(nèi)。 1.下列語(yǔ)句序列執(zhí)行后,k 的值是( B )。 while( (m++) ( n) ) ++k。 A) i = i + 2 B) a[0] = 7。 D) a(0) = 66。 A) 多重的 B) 單重的 C) 線(xiàn)程的 D) 不能繼承4.設(shè)有定義 int i = 6 。 i += i 1。 A)interface B) package C) extends D) class6.若已定義 byte[ ] x= {11,22,33,66} 。 A) x[53] B) x[k] C) x[k+5] D) x[0]7.下列語(yǔ)句序列執(zhí)行后,ch1 的值是( B )。A39。W39。 A) 39。 B) 39。 C) 39。 D) B8.下列語(yǔ)句序列執(zhí)行后,i 的值是( D )。 if( i1 j ) i。 A) 15 B) 16 C) 7 D) 89.下列語(yǔ)句序列執(zhí)行后,k 的值是( C )。 switch( j i ) { case 8 : k++。 case 10: k+=3。 } A) 31 B) 32 C) 2 D) 3310.下面語(yǔ)句執(zhí)行后,i 的值是( B )。 j 5。 A) 4 B) 5 C) 6 D) 7 11.設(shè)有定義 float x=, y=, z=;則以下的表達(dá)式中,值為true的是( B )。 ! ( x z )12.下列語(yǔ)句序列執(zhí)行后,i的值是( D )。 do { i/=2。 A) 16 B) 8 C) 4 D) 213.以下由 for 語(yǔ)句構(gòu)成的循環(huán)執(zhí)行的次數(shù)是( B )。 true 。 A) 有語(yǔ)法錯(cuò),不能執(zhí)行 B) 無(wú)限次 C) 執(zhí)行1次 D) 一次也不執(zhí)行14.定義類(lèi)頭時(shí)能使用的修飾符是(C )。 A) switch (x + y) B) switch ( ch + 1 ) { ...... } { ...... } C) switch ch D) switch ( a + b )。 A) static final int i=100。 C) final i=39。 D) final char i。 A) class x { .... } B) class x extends y { .... } C) static class x implements y1,y2 { .... } D) public class x extends Applet { .... }18. 設(shè) x、 y為已定義的類(lèi)名,下列聲明x類(lèi)的對(duì)象x1的語(yǔ)句中正確的是( )。 B) public x x1=new x(int 123)。 D) x x1=x( )。 A) x( int m){ ... } B) void x( int m){ ... } C) x( int m, int n){ ... } D) x( int h,int m,int n){ ... }20. 下列方法定義中,正確的是( A )。a39。 } B) void x( ){ ...return true。 } D) int x( int a, b){ return a+b。 A) class, float, double, public B) float, boolean, int, long C) char, extends, float, double D) public, private, protected 22. 不能構(gòu)成循環(huán)的語(yǔ)句是( C )。 boolean b1=true, b2, b3。 A) 0 B) 1 C) true D) false25 下面數(shù)據(jù)結(jié)構(gòu)中,屬于非線(xiàn)性的是( B )。 long j=456。 A) j=i。 C) i=(int)j。二、填空題:(每空1分) 1. 構(gòu)造函數(shù)_沒(méi)__有返回值。 3. 創(chuàng)建類(lèi)對(duì)象的運(yùn)算符是__ new。 5. 在Java語(yǔ)言中,所有的數(shù)組都有一個(gè)lenght屬性,這個(gè)屬性存儲(chǔ)了該數(shù)組的__元素個(gè)數(shù)。 7. 在Java語(yǔ)言中,使用__平臺(tái)無(wú)關(guān)___、___java虛擬機(jī)___等技術(shù),實(shí)現(xiàn)軟件重用。 : public class _int Myclass___________ { int x, y。 y=j。 import .*。 i 。 else (沒(méi)有命令行參數(shù))。 B b。 } }12. Java的復(fù)合數(shù)據(jù)類(lèi)型有 : 類(lèi)、數(shù)組和___接口____等。 lvar 的語(yǔ)句是:_______long lvar=1*e10___________________。16. 以下方法 m 的功能是求兩參數(shù)之積的整數(shù)部分。 }17. Java 源程序文件編譯后產(chǎn)生的文件稱(chēng)為_(kāi)___字節(jié)碼____文件,其擴(kuò)展名為 。三、程序分析:(每題4分) 1. 下面是一個(gè)排序的程序: import .*。 (排序前的數(shù)據(jù)序列:)。 Sort(a)。 ShowArray(a)。 for(int i=1。 i++) { for(int j=0。 j++) if(x[j]x[j+1]) { w=x[j]。 x[j+1]=w。 if(i==2) break。 i。 ( )。 String str2=Hello, students! 。 (str2)。 char c=39。 for(i=0。i++) { for(j=0。j++) (* )。 } } } 輸出結(jié)果:請(qǐng)寫(xiě)下程序的輸出結(jié)果: public class ex2_2 { public static void main (String args[ ] ) { int x , y 。 float z = 。 boolean flag。 y = 300。 (xy==+flag)。 (zw==+flag)。 由于Java不支持多繼承,而有可能某個(gè)類(lèi)或?qū)ο笠褂梅謩e在幾個(gè)類(lèi)或?qū)ο罄锩娴姆椒ɑ驅(qū)傩?,現(xiàn)有的單繼承機(jī)制就不能滿(mǎn)足要求。當(dāng)一個(gè)類(lèi)實(shí)現(xiàn)了接口以后,該類(lèi)要實(shí)現(xiàn)接口里面所有的方法和屬性,并且接口里面的屬性在默認(rèn)狀態(tài)下面都是 public static。并考慮2種回收機(jī)制。由于有個(gè)垃圾回收機(jī)制,Java中的對(duì)象不再有作用域的概念,只有對(duì)象的引用才有作用域。垃圾回收器通常是作為一個(gè)單獨(dú)的低級(jí)別的線(xiàn)程運(yùn)行,不可預(yù)知的情況下對(duì)內(nèi)存堆中已經(jīng)死亡的或者長(zhǎng)時(shí)間沒(méi)有使用的對(duì)象進(jìn)行清楚和回收,程序員不能實(shí)時(shí)的調(diào)用垃圾回收器對(duì)某個(gè)對(duì)象或所有對(duì)象進(jìn)行垃圾回收。 3,談?wù)刦inal, finally, finalize的區(qū)別。因此一個(gè)類(lèi)不能既被聲明為 abstract的,又被聲明為final的。被聲明為final的變量必須在聲明時(shí)給定初值,而在以后的引用中只能讀取,不可修改。 Finally-再異常處理時(shí)提供 finally 塊來(lái)執(zhí)行任何清除操作。 Finalize-方法名。這個(gè)方法是由垃圾收集器在確定這個(gè)對(duì)象沒(méi)有被引用時(shí)對(duì)這個(gè)對(duì)象調(diào)用的。子類(lèi)覆蓋 finalize() 方法