大學課程《java 程序設計》復習題_第1頁
大學課程《java 程序設計》復習題_第2頁
大學課程《java 程序設計》復習題_第3頁
大學課程《java 程序設計》復習題_第4頁
大學課程《java 程序設計》復習題_第5頁
已閱讀5頁,還剩89頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

大學課程《java程序設計》復習題練習一(兩類java程序) 1練習二(數據類型) 2練習三(運算符與表達式) 3練習四(條件,分支語句) 4練習五(條件,分支語句) 5練習六(控制結構與循環體內的跳轉) 8練習七(方法) 8練習八(方法重載) 9練習九(數組) 9練習十(繼承:類,屬性和方法的繼承,屬性隱藏和方法覆蓋,構造函數的繼承,父類對象和子類對象的關系) 10練習十一(多態:抽象類和抽象方法,最終類和最終方法,接口) 16練習十二(異常處理) 17練習十三(雜) 19練習十四(io) 22練習十五(線程) 23練習十六(網絡) 25練習十七(gui) 27練習十八(雜) 28javaJava3字節碼文件)源程序文件的后綴是什么(.java),.class)8.類的定義由哪兩部分組成(類頭和類體)Java源程序中可以有多個公共類(主類)嗎(不能)Java一致)Java應用程序(Application)的主類的類頭應如何寫(publicclass),方法的方法頭應如何寫(publicstaticvoidmain(Stringargs[])),Application的入口在哪(main())的主類中一定要有主方法(main)嗎?是中的的字符使用什么編碼(unicode)語言中,將源代碼翻譯成 時產生的錯誤稱為編譯錯誤,而將程序在運行中產生的錯誤稱為運行錯誤.(字節碼)A).A)importsos.*;B)packagesos.*;C)sosimport;D)sospackage;下面關于封裝性的描述中,錯誤的是( d )。A.封裝體包含屬性和行為 B.被封裝的某些信息在外不可見C.封裝提高了可重用性 封裝體中的屬性和行為的訪問權限相同練習二(數據類型)Java語言中的一個整型常量的是(B).A)12.B)-20C)1,000D)456下列的變量定義中,錯誤的是(A).A)int6_a;B)floata;C)inti=Integer.MAX_VALUE;D)staticinti=100;3.下列的變量定義中,錯誤的是(A).A)inta;b;B)floata,b1=1.23f;C)charch1='d',ch2='\'';D)publicinti=100,j=2,k;4.下列的變量定義中,錯誤的是(D).A)int_a=123;B)longj=12345678900L;C)intm,n;D)statici=100;5.下列的變量定義中,正確的是(D).A)booleanb1="true";B)floatx=6.6;C)bytei=200;D)doubley;6.以下字符常量中不合法的是(C).A)'@'B)'&'C)"k"D)7.Java語言中的一個整型常量的是(AA)Integer.MAX_VALUEB)8.8FC)2.0E16D)true8.下列最終屬性(常量)i的定義中,正確的是(C).A)staticfinaldoublei; B)abstractfinalinti=8; finaldoublei=3.14159;D)floati=1.2f;9.Javadouble(C).A)Float.MIN_VALUEB)1.8e-6FC)2.0D)'abcf'10.以下的變量定義語句中,合法的是(C).A)float$_*5=3.4F;B)byteb1=15678;C)doublea=Double.MAX_VALUE;D)int_abc_=3721L;11.以下字符常量中不合法的是(C).A)'|'B)'\''C)"\n"D)'我’類型,各占二進制的多少位(float32,double64Java的復合數據類型有那幾種(類,數組和接口)true,false)字符串"\'a\'"(3語言中的邏輯變量可以和整型變量相互強制轉換嗎(不能)final)個比特位。A、8 B、16 C、32 D、64練習三(運算符與表達式)intB).A)a+1==2;B)a+=a*6;C)a=8.8f;D)inta=8;以下選項中的變量都已正確定義,不合法的表達式是(C).A)a>=4==b3;B)t=!false;C)t=(true|false);D)t=(2==3)true:false;3.Java語言語法的賦值語句是(A).A)m=n>=5;B)mk%c=h+y;C)j=t+%100;D)j=y>2=x+3;設i,j,k,mint型變量,下列表達式的結果屬于邏輯值的是(A).A)i==k&j+k>=mB)i+kC)m++D)m=i+jB).A)a+1==2;B)a+=1;C)a=8.8f;D)a=newint(8);intx13;x8;,x(C).A)0B)1C)5D)8以下選項中,合法的賦值語句是(B).A)a==1;B)++i;C)a=a+1=5;D)!(++a!=b--);若所用變量都已正確定義,以下選項中,非法的表達式是(C).A)a!=4||b==1B)'a'%3C)'a'1/2D)'A'+32inta2;則執行完語句aa*a;,aC).A)0B)4C)-2D)–4booleanaa;下面賦值語句中正確的是(A).A)aa=false;B)aa=False;C)aa="true";D)aa=0;b3(D).booleanb1=true,b2=true,b3;b3=!b1b1:!b2;A)0B)1C)trueD)false設有定義inti=123;longj=456;(D).A)j=i;B)j=(long)i;C)i=(int)j;D)i=j;Java語言語法的語句是(A).A)b=a!=7;B)a=7+b+c=9;C)i=12.3*%4;D)a=a+7=c+b;(B).intt1=9,t2=11,t3=8;intt4,t5;t4=t1>t2t1:t2+t1;t5=t4>t3t4:t3;A)8B)20C)11D)9,b,x,yD).intx=6,y=8;booleanb;b=x>y&&++x==--y;A)true,6,8B)false,7,7C)true,7,7D)false,6,816.執行下列程序段后,m,x,yB).intx=2,y=4;booleanm;m=++x>y--;A)true,2,4B)false,3,3C)true,3,3D)false,2,417.下面語句序列執行后,a(D).inta=13;a%=a/5;A)3B)13C)169D)1均為int型變量,x,y已賦值.用三目條件運算符求x,y的最大值和最小值,并分別賦給變量max和min,這兩個賦值語句分別是 和.(max=x>yx:y;min=x<y?x:y;)練習四(條件,分支語句)下列語句序列執行后,mC).inta=10,b=3,m=5;if(a==b)m+=a;elsem=++a*m;A)15B)50C)55D)5下列語句序列執行后,x(d).inta=2,b=4,x=5;if(a<--b)x*=a;A)5B)20C)15D)10下列語句序列執行后,k(C).inti=10,j=18,k=30;switch(j-i){case8:k++;case9:k+=2;case10:k+=3;default:k/=j;}A)31B)32C)2D)33量并已正確賦值,正確的switch語句是(D).A)switch(a+b);{......}B)switch(a+b*3.0){ }C)switcha{......}D)switch(a%b){ }下列語句序列執行后,rC).charch='8';intr=10;switch(ch+1){case'7':r=r+3;case'8':r=r+5;case'9':r=r+6;break;default:r=r+8;}A)13B)15C)16D)18設int型變量a,b,float型變量x,y,char型變量ch均已正確定義并賦值,正確的switch(B).A)switch(x+y){......}B)switch(ch+1){ }C)switchch{......}D)switch(a+b);{ }下列語句序列執行后,k(D).intx=6,y=10,k=5;switch(x%y){case0:k=x*y;case6:k=x/y;case12:k=x-y;default:k=x*y-x;}A)60B)5C)0D)54下列語句序列執行后,r(B).charch='A';intr=6;switch(ch+5){case'A':r=r+3;case'B':r=r+5;case'C':r-=6;break;default:r/=2;}A)11B)3C)2D)9如果變量xx2. ;.(if(x%2==0)x+=2;)ch1,ch2char型變量:if(ch1=='a'){if(ch2=='b')System.out.print("ch1=\'a\',ch2=\'b\'");}elseSystem.out.print("ch1!=\'a\'");System.out.println("end");問題:1)若執行前ch1'a',ch2的值為'c'該程序段輸出是什么(end)2)ch1的值為'w',ch2的值為'b'(ch1!='a'end)3)若執行前ch1的值為'a',ch2的值為'b'(ch1='a',ch2='b'end)練習五(條件,分支語句)下列語句序列執行后,jA).intj=1;for(inti=5;i>0;i-=2)j*=i;A)15B)1C)60D)0for(B).for(inti0;true;i++);A)B)無限次C)1D)一次也不執行下面語句執行后,i的值是(B).for(inti=0,j=1;j<5;j+=3)i=i+j;A)4B)5C)6D)7(D).intj=8,k=15;for(inti=2;i!=j;i++){j-=2;k++;}A)18B)15C)16D)17下列語句序列執行后,k(B).intm=3,n=6,k=0;while((m++)<(--n))++k;A)0B)1C)2D)3下列語句序列執行后,iD).ints=1,i=1;while(i<=4){s*=i;i++;}A)6B)4C)24D)5下列語句序列執行后,jC).intj=8,i=6;while(i>4)i-=2;--j;A)5B)6C)7D)8下列語句序列執行后,jB).intj=9,i=6;while(i-->3)--j;A)5B)6C)7D)8下列語句序列執行后,j(D).intj=3,i=2;while(--i!=i/j)j=j+2;A)2B)4C)6D)5若有循環:intx=5,y=20;do{y-=x;x+=2;}while(x<Y);則循環體將被執行(AA)2B)1C)0D)3(D).inti=10;do{i/=2;}while(i-->1);A)1B)5C)2D)-1(C).inti=10;do{i-=2;}while(i>6);A)10B)8C)6D)4下列語句序列執行后,i(D).inti=16;do{i/=2;}while(i>3);A)16B)8C)4D)2B).intk=0;do{++k;}while(k<1);A)一次也不執行B)1CD)有語法錯,不能執行若有循環:intx=5,y=20;do{y-=x;x++;}while(++x<--y);則循環體將被執行(CA)0B)1C)2D)3下面是一個javaApplication),它的功能是在屏幕上輸出26其中每個字母相隔一個制表符,請完成程序填空.(class(c++)+"\t"或(c++)+'\t')public Class1{publicstaticvoidmain(Stringargs[]){charc='a';for(inti=1;i<=26;i++){System.out.print( );}}}(Application),它的功能是計算s=1+2+3+...+10,請完成程序填空.(classi)public Class1{publicstaticvoidmain(Stringargs[]){ints=0;for(inti=1;i<=10;i++){s+= ;}System.out.println("s="+s);}}下面是一個javaApplication程序填空.(i<=9j*i)importjava.io.*;publicclassMyClass{publicstaticvoidmain(String[]args){intj=1;for(inti=1; ;i++){System.out.println(i+"*"+j+"="+ );}}}練習六(控制結構與循環體內的跳轉)結構化程序設計的三種基本流程控制結構是: , , .(略)以下語句中能構成分支的語句是(B).A)forB)ifC)continueD)C).A)forB)while語句C)switchD)do-while語句以下語句中能構成多分支的語句是(C).A)forB)whileC)ifelseD)dowhile以下語句中是循環語句的是(D).A)break語句B)switchC)if語句D)dowhile語句C).A)forB)whileC)switchD)dowhile語句7.能從循環語句的循環體中跳出的語句是(B).B)breakC)continueD)return8.閱讀程序后回答問題.publicclassContinueTest{publicstaticvoidmain(Stringargs[]){charc='i';for(intn=6;n<11;n++){if(n==8)continue;System.out.print("\t"+(c++));}}}問題:1)(ijkl)break(ij)練習七(方法)是求兩參數之積的整數部分.(return(int)(x*y))intm(floatx,floaty){ ;}一個方法如果沒有返回值,方法頭定義中的返回值類型為何(void)一個方法或一個復合語句內定義的變量是否可以在方法外或復合語句外使用這種變量稱為什么變量(不能;局部變量)采用 的程序設計原則,使程序結構清晰簡單,設計容易,有助于軟件可靠性的提高.(模塊化)下面方法的功能是判斷一個整數是否為偶數,將程序補充完整.(booleantrue)public isEven(inta){if(a%2==0)return ;elsereturnfalse;}練習八(方法重載)同一個類中多個方法具有相同的方法名,不同的 稱為方法的重載.(參數列表)在某個類中存在一個方法:voidgetSort(intx),以下能作為這個方法的重載的聲明的是(C).A)publicgetSort(floatx)B)intgetSort(inty)C)doublegetSort(intx,inty)D)voidget(intx,inty)在某個類中存在一個方法:voidsort(intx),以下不能作為這個方法的重載的聲明的是(B).A)publicfloatsort(floatx)B)intsort(inty)C)doublesort(intx,inty)D)voidsort(doubley)為了區分類中重載的同名的不同方法,要求(A).A)BC)D)練習九(數組)1.a:int[a={1,2,3,4,5,6,7,8,9,10};,為了打印輸出數aB).A)System.out.println(a[10]);B)System.out.println(a[9]);C)System.out.println(a[a.length]);D)System.out.println(a(8));2.下面關于數組定義語句不正確的是(DA)int[]a1,a2;B)inta0[]={11,2,30,84,5};C)double[]d=newdouble[8];D)floatf[]=new{2.0f,3.5f,5.6f,7.8f};inta[]={3,9,-9,-2,8};則以下對此語句的敘述錯誤的是(C).A)a5B)數組中的每個元素是整型C)a3D)a[a.length-1]是合法的inta[]={66,88,99};C).A)aB)a3C)a1~3D)數組中的每個元素是整型下面聲明正確的語句是(B).A)intArraya1,a2;inta3[]={1,2,3,4,5};B)int[]a1,a2;inta3[]={1,2,3,4,5};C)inta1,a2[];inta3={1,2,3,4,5};D)int[]a1,a2;inta3=(1,2,3,4,5);設i,jint,aint(B).A)i=i2B)a[0]=7;C)i++--j;D)a(0)=66;7.byte[]x={11,22,33,-66};xC).A)x[5-3]B)x[k]C)x[k+5]D)x[0]int[]a=newint[4];,a(B).A)a0,a1,a2,a3B)a[0],a[1],a[2],a[3]C)a[1],a[2],a[2],a[4]D)a[0],a[1],a[2],a[3],a[4]設有整型數組的定義:inta[]=newint[8];,則a.length的值為 .(8)定義數組,需要完成以下三個步驟,即: , 和 .(聲明數組;創建數組空間;初始化)在Java語言中,所有的數組都有一個 屬性,這個屬性存儲了該數組的元素的個數(數組長度).(length)若有定義int[]a=newint[8];則a的數組元素中第7個元素和第8個元素的下標分別是 和 .(67)定義一個整型數組y,它有5個元素分別是1,2,3,4,5.用一個語句實現對數組y的聲明,創建和賦值: ;.(inty[]={1,2,3,4,5};)數組一定占用連續的內存空間嗎(是)下面是一個類的定義,請將其補充完整.(classstatic) A{Strings; inta=666;A(Strings1){s=s1;}staticintgeta(){returna;}}22.閱讀程序,回答問題.publicclassTest52{Stringstaticstr1="Hello,Javaworld!\t";Stringstaticstr2="Hello,students!";publicstaticvoidmain(Stringargs[]){System.out.print(str1);System.out.println(str2);}}問題:1)這是哪種形式的java(java2)Applet窗口中嗎(Hello,Javaworld!Hello,students!練習十(繼承:類,屬性和方法的繼承,屬性隱藏和方法覆蓋,構造函數的繼承,父類對象和子類對象的關系)B).A)多重的BC)線程的D)不能繼承JavaC).B)抽象類不能有子類C)JavaD)最終類可以作為其它類的父類下面是有關子類繼承父類構造函數的描述,其中正確的是(B).如果子類沒有定義構造函數,則子類無構造函數superD)子類無法繼承父類的構造函數A,BBAD).A)classAextendsBB)classBimplementsAC)classAimplementsBD)classBextendsA子類可以繼承父類的 (非私有).構造函數也能被繼承和重載.如果子類中的某個變量的變量名與它的父類中的某個變量完全一樣,則稱子類中的這個變量 了父類的同名變量.(隱藏)如果子類中的某個方法的名字,返回值類型和 與它的父類中的某個方法完全一樣,則稱子類中的這個方法覆蓋了父類的同名方法.(參數列表)抽象,封裝, 和多態是Java語言的四大特性.(繼承)Java僅支持類間的 重繼承.(單重)能;方法覆蓋要求子類方法頭定義必須與父類方法頭定義完全一樣.)一個子類可以重新定義從父類那里繼承來的同名方法.但是,允許它們有不同類型的返回值嗎(不能)子類對象如何引用被它隱藏了的父類的屬性和調用被它覆蓋了的父類的方法(使用super能;是;)this代表什么(this下面是一個類的定義,完成程序填空.(Youwritethis.x=x;)publicclassYouwrite{intx; (){x=0;}Youwrite(intx){ ;}}現有類說明如下,請回答問題:publicclassA{Stringstr1="Hello!\t";Stringstr2="Howareyou";publicStringtoString(){returnstr1+str2;}}publicclassBextendsA{Stringstr1="\b\b,Bill.";publicStringtoString(){returnsuper.str1+str1;}}問題:ABstr1toString(藏;方法的覆蓋)aAa.toString()的返回值是什么(Hello!HowareyoubBb.toString()的返回值是什么(Hello,Bill.)23.現有一個類定義如下,請回答問題:classEmployee{Stringname;intage;doublewage;staticintNo=0;Employee(Stringa1,inta2,doublea3){name=a1;age=a2;wage=a3;No++;}}在使用該類時,已使用下面語句生成了該類的對象:Employeee1,e2;e1=newEmployee("王勁",26,6300);e2=newEmployee("張山",30,3800);問題:;30;3800.0)e1,e2e1.NoNo(2;能)25.閱讀程序,回答問題.publicclassInheritTest1{publicstaticvoidmain(String[]args){Aaa;Bbb;aa=newA();bb=newB();aa.show();bb.show();}}classA{inta=1;doubled=2.0;voidshow(){System.out.println("ClassA:"+"\ta="+a+"\td="+d);}}classBextendsA{floata=3.0f;Stringd="Javaprogram.";intb=4;voidshow(){System.out.println("ClassA:"+"\ta="+super.a+"\td="+super.d);super.show();System.out.println("ClassB:"+"\ta="+a+"\td="+d+"\tb="+b);}}java(java2)ABBA按程序輸出的格式寫出程序運行后的結果.(程序運行結果如下:ClassA:a=1d=2.0ClassA:a=1d=2.0ClassA:a=1d=2.0ClassB:a=3.0d=Javaprogram.b=4)26.現有類說明如下,請回答問題:classA{intx=10;intgetA(){returnx;}}classBextendsA{intx=100;intgetB(){returnx;}}問題:1)BAx(能)bBb.getB()的返回值是什么(100)bBb.getA()的返回值是什么(10)ABx(屬性的隱藏)有如下源程序,請回答問題:classA{Strings="classA";}classBextendsA{Strings="classB";}publicclassTypeConvert{publicstaticvoidmain(Stringargs[]){Bb1,b2=newB();Aa1,a2;a1=(A)b2;a2=b2;System.out.println(a1.s);System.out.println(a2.s);b1=(B)a1;System.out.println(b1.s);System.out.println(b2.s);}}問題(classAclassAclassBclassB)現有類說明如下,請回答問題:publicclassA{intx=888;Stringstr="Ilike:";publicStringtoString(){returnstr+x;}}publicclassBextendsA{Stringx="java";publicStringtoString(){returnstr+x+"and"+super.x;}}問題:1)ABBA2)ABtoString(),這種現象稱為什么(方法的覆蓋)3)aAa.toString()的返回值是什么(Ilike:888)4)bBb.toString()的返回值是什么Ilike:javaand88829:(b)。abstractfinalfinalabstract設有下面兩個賦值語句:a=Integer.parseInt(“1024”);b=Integer.valueOf(“1024”).intValue();下述說法正確的是(d )。ab、abclassX{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();}}A.ZB.YZC.XYZD.YXYZD6.關于實例方法和類方法,以下描述正確的是: (D)實例方法只能訪問實例變量類方法既可以訪問類變量,也可以訪問實例變量類方法只能通過類名來調用實例方法只能通過對象來調用下列關于繼承的說法哪個是正確的?BB.子類繼承父類的非私有屬性和方法;C.D.子類將繼承父類的所有的屬性和方法。wait()方法。你將如何來做?dwait()方法。wait()方法。ObjectObjectwait()已經被最終定義。下列選項中,用于定義接口的關鍵字是(A).A)interfaceB)implementsCabstractD)class下列選項中,用于實現接口的關鍵字是(B).A)interfaceB)implementsCabstractD)class抽象方法只有方法頭,沒有 .(方法體)Java語言的接口是特殊的類,其中包含 常量和 abstract(抽象))接口中所有屬性均為 , 和 .(public,static,final)用那個關鍵字定義抽象類和抽象方法(abstract)抽象類只能做為父類嗎(也可以包含抽象方法,做為抽象子類)可以定義抽象類的對象嗎(不能)抽象方法能被繼承嗎(能)抽象方法只能存在于抽象類中嗎(是;也可以存在在接口中)final12(final)最終類能做為父類嗎(不能)最終方法能被繼承嗎(不能)最終方法只能存在于最終類中嗎(不一定)聲明為staticprivatefinal接口中所有方法均為抽象方法嗎(是)public和20.ITF(interfaceabstractpublic ITF{publicstaticfinaldoublePI=Math.PI;public doublearea(doublea,doubleb);}.(final";")publicinterfaceA{publicstatic doublePI=3.14159;publicabstractdoublearea(doublea,doubleb) }在使用interface聲明一個接口時,只可以使用(d 飾符修飾該接口。A、private B、protectedC、privateprotected D、public23.關于接口的定義和實現,以下描述正確的是: (A)接口定義中的方法都只有定義沒有實現finalstatic如果一個接口由多個類來實現,則這些類在實現該接口中的方法時應采用統一的代碼如果一個類實現一個接口,則必須實現該接口中的所有方法,但方法未必聲明為public.下列關于抽象類的說法四個是正確的?CB.接口和抽象類是同一回事;C.絕對不能用抽象類去創建對象;D.抽象類中不可以有非抽象方法。練習十二(異常處理)1、異常是一種運行時錯誤,在java中,異常是以對象的方法表示的,任何異常對象都是 類或其子類的對象。(Throwable)異常分為兩大類:檢查的和非檢查的異常。非檢查的異常是Error類和 類的實例,它代表程序不必處理嚴重系統錯誤;檢查異常是 類的子類,它代表程序應該而且能夠處理的錯誤。(RuntimeExceptionException)導致錯誤時,包含語句的方法將創建異常對象并把它傳遞到系統,這個過程稱為 (拋出異常)的異常處理通過5個關鍵字來實現它們是trycatchthrowthrows和finally。進行異常監測的代碼要放在try子句內捕獲異常需要使用 子句;在方法中宣布可能產生的異常應使用 關鍵字。(catch、throws)5、下列說法正確的是(D)finallytrycatch之后才執行trycatchfinallytryfinally被執行6、關于異常的應用,下列說法恰當的是(B)java在程序中過多的使用異常,會使程序的執行效率降低7、關于異常的捕獲和處理,下列說法不正確的是(D)trycatchcatchtrycatchJVMcatchcatchtrytrycatch就會造成程序非正常終止。8、 當方法遇到異常又不知如何處理時,下列 C 做法是正確的。A、捕獲異常 B、拋出異常 C、聲明異常 D、嵌套異常9、下列常見的系統定義的異常中,哪個是數組越界異常?aArrayIndexOutOfBoundsExceptionB)IOExceptionC)NullPointerExceptionD)ArithmeticExceptionpublicclassThrowsDemo{staticvoidthrowMethod(){System.out.println("InsidethrowMethod.");thrownewIllegalAccessException("demo");}publicstaticvoidmain(Stringargs[]){try{throwMethod();}catch(IllegalAccessExceptione){System.out.println("Caught"+e);}}}A.編譯錯 B.運行錯 C.編譯成功,但是沒有輸出結果 D.以上都不是答案:Acatch,則程序會按如下哪種情況執行?CAcatch.Bcatchcatch。Dcatch執行終止。cstObjects[ctr].displayDetails();要避免上面提到的運行時錯誤你應該采取下列哪一個行動?dthrow聲明來發出異常警報ArrayOutOfBoundsExceptioncatch同一個異常。try塊中寫入代碼并且在finallyArrayOutofBoundsException。try塊中寫入代碼并且在catchArrayOutofBoundsException。練習十三(雜)Applicationmain哪項是合法的( )?A、publicstaticvoidmain()B、publicstaticvoid main(Stringargs[])C、publicstaticintmain(String[]arg)D、publicvoidmain(Stringarg[])答:B為AB類的一個無形式參數無返回值的方法method書寫方法頭,使得使用類名AB作為前綴就可以調用它,該方法頭的形式為( )。A、staticvoidmethod() B、publicvoidmethod()C、finalvoidmethod() D、abstractvoidmethod()答:AApplication源程序的主類是指包含有( )方法的類。A、main方法 toString方法C、init方法 方法答:A的字符類型采用的是Unicode編碼方案,每個Unicode碼占用( )個比特位。A、8 B、16 C、32 D、64答:B若a的值為3時,下列程序段被執行后,c的值是多少?( )c=1;if(a>0)if(a>3)c=2; elsec=3;elsec=4;A、1B、2 C、3D、4答:C程序時,若需要使用到標準輸入輸出語句,必須在程序的開頭寫上( )語句。A、import java.awt.*; B、import java.applet.Applet;C、import java.io.*; D、import java.awt.Graphics;答:C對于構造函數,下列敘述不正確的是( BvoidD、一般在創建新對象時,系統會自動調用構造函數。答:B設有下面兩個類的定義:classPerson{ classStudentextendsPerson{long id; //身份證號 intscore;//入學總分Stringname; //姓名 intgetScore(){} returnscore;}}問:類Person和類Student的關系是( A、包含關系 B、繼承關系C、關聯關系 、無關系,上述類定義有語法錯誤答:B、設有下面的兩個類定義:classAA{Show(){System.out.println(Java!”);}classBBextendsAA{Show(){System.out.println(C++!”);}則順序執如下語后輸出果為( AA a; BB b;a.Show(); b.Show();A、我喜歡Java! B、我喜歡C++!我喜歡C++! 我喜歡Java!C、我喜歡Java! D、我喜歡C++!我喜歡Java! 我喜歡C++!答:A設有下面的一個類定義:classAA{staticvoidShow(System.out.printlnJava!”);}}classBB{voidShow(System.out.printlnCAAaBBb,則下面哪一個方法調用是正確的:( )A、a.Show() B、AA.Show();b.Show() BB.Show();C、AA.Show(); D、a.Show();b.Show( BB.Show();答:C同時定義許多同名的方法,這些方法的形式參數的個數、類型或順序各不相同,傳回的值也可以不相同。這種面向對象程序特性稱為( A、隱藏 B、覆蓋 C、重載 答:C在Java中,存放字符串常量的對象屬于( )類對象。A、Character B、StringC、StringBuffer D、Vector答:B在編寫異常處理的Java程序中每個catch語句塊都應該與( 塊對應,JavaA、if–else B、switch C、try D、throw答:C對于子類的構造函數說明,下列敘述中不正確的是( A、子類無條件地繼承父類的無參構造函數。super這個調用語句必須是子類構造函數的第一個可執行語句。C、在創建子類的對象時,將先執行繼承自父類的無參構造函數,然后再執行自己的構造函數。D、子類不但可以繼承父類的無參構造函數,也可以繼承父類的有參構造函數。答:D二、填空題。設x=2,則表達式(x++)*3的值是 。答:6若x=5,y=10,則x>y和x<=y的邏輯值分別為 和 。答:false、true同,Java源程序分為兩大類: 程序和 程序。答:JavaApplication、JavaApplet(或Application、Applet)如果一個Java源程序文件中定義有4個類,則使用Sun公司的JDK編譯器javac編譯該源程序文件將產生 個文件名與類名相同而擴展名為 的字節碼文件。答:4、class開發與運行Java程序需要經過的三個主要步驟為 、和 。MyJavaApplication.javaSun該順序執行如下兩個命令:、。答:javac MyJavaApplication.java、javaMyJavaApplication字節內存空間,這樣,無論是中文字符還是英文字符,每個都是占用字節內存空間。答:2、2Java源程序是由類定義組成的,每個程序中可以定義若干個類,但是只有一個類是主類。在JavaApplication中,這個主類是指包含 法的類;在JavaApplet里,這個主類是一個系統類 的子類。答:main Applet創建一個名為MyPackage的包的語句是 ,該語句應該放在程序的位置為: 。答:package MyPackage; 應該在程序第一句。形式參數指的是方法被 數行,實際參數是方法被時所傳遞進去的變量或值。答:定義、調用多態是指 ,在Java中有兩種多態,一種是使用方法的 實現多態另一種是使用方法的 實現多態。答:一個程序中有多個同名的不同方法 覆蓋 重載在Java程序中,通過類的定義只能實現 重繼承,但通過接口的定義可以實現 重繼承關系。答:單、多13.設有數組定義:int MyIntArray[]={10,20,30,40,50,60,70,80,90,100};則執行以下幾個語句后的輸出結果是 。ints=0;for(inti=0;i<MyIntArray.length;i++)s+=MyIntArray[i];System.out.println(s);答:550練習十四(io)符文件Employee.dat時,使用該文件作為參數的類是D 。A、BufferedReader B、DataInputStream C、DataOutputStream FileInputStreamI/O。BufferedReader(或字符數組)的效率。其構造方法為:publicBufferedReader(Readerin)publicBufferedReader(Readerin,intsz)Java類型。構造方法為:DataInputStream(InputStreamin)FileInputStream(Stringname)FileInputStream(Filefile)要串行化某些類的對象,這些類就必須實現 A 。A、Serializable接口 接口、java.io.DataInput接口 D、DataOutput接口bA)skip()B)close()C)mark()D)reset()CpublicclassA{publicstaticvoidmain(Stringargs[])throwsIOException{BufferedReaderbuf=newBufferedReader(newInputStreamReader(System.in));Stringstr=buf.readLine();intx=Integer.parseInt(str);System.out.println(x/100);}}A)45B)5C)123D)123456、屬于Java輸入輸出流的、且處理的是char類型的類是( 。aA、Reader類 類C、OutputStream類D、File類練習十五(線程)一個JavaApplication運行后,在系統中是作為一個 B 。A、線程 B、進程 C、進程或線程 D、不可預知2、下列方法中可以用來創建一個新線程的是C。java.lang.Runnablestart()方法Bjava.lang.Runnablerun()方法Cjava.lang.Threadrun()方法start()方法3、 下列關于線程優先級的說法中,正確的是C 。A、線程的優先級是不能改變的 B、線程的優先級是在創建線程時設置的C、在創建線程后的任何時候都可以設置 、B和C4、 的線程并啟動運行,請將程序補充完整。publicclassThreadTestextendsThread{publicstaticvoidmain(Stringargs[]){ThreadTestt=newThreadTest() ;t.start();}publicvoidrun(){inti=0;while(true){System.out.println("Hello!");if(i++==4) break;}}5、 下列敘述中,正確的是C 。A、Reader是一個讀取字符文件的接口 數據文件的抽象類C、Reader是一個讀取字符文件的抽象類 是一個讀取字節文件的一般類6、下列哪個關鍵字通常用來對對象進行加鎖,該標記使得對對象的訪問是排他的?cA)transientserializeC)synchronizedD)static7、下列有關線程的敘述哪個是正確的?b一旦一個線程被創建,它就立即開始運行方法可以使一個線程成為可運行的,但是它不一定立即開始運行C)主線程不具有默認優先級0~98(12)在線程中普通優先級的線程,其優先級默認值為(5)。解析:NORM_PRIORITY5。MIN_PRIORITY1。MAX_PRIORITY10。程序中實現多線程的方法有兩種:繼承 類和實現Runnable接口。ThreadCPU的控制(假設睡眠過程中不會有其他事件喚醒該線程)?(C)(A)正好1000毫秒(B)1000毫秒不到(C)=>1000(D)不一定Java()aJavaCPUThreadCThreadjava.utilD以上說法無一正確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();}}MyThread:start()后面跟MyRunnable:run()MyThread:run()后面跟MyRunnable:start()MyThread:start()MyRunnable:start()MyRunnable:run()ApublicclassMyThreadimplementsRunnable{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.打印nonononononononoyesnoyesnoyenoyenoD.不確定答案D檢查下列關于線程的陳述的正確性。dB:如果一個線程終止了,那么處理過程也隨之終止。a.A是正確的,B是錯誤的。 A是錯誤的,B是正確的。c.A和B都是正確的。 d.A和B都是錯誤的練習十六(網絡)1、SocketcSocketSocketSocketA)①③②④B)②①③④C)③①②④D)①②③④2Javajava.ioSocket(ServerSocket)實現有連接通訊.(只寫出兩端的通信連接結構語句)3Javajava.ioSocket(ServerSocket)實現無連接的通訊。(只寫出兩端的通信連接結構語句)8888端發來的"hello"請求時會回應一個"hello",對客戶端的其他請求不響應。Stringplain""hllo"Mem.txt("Memo.tt"戶返回ServerServer.java:publicclassServer{publicstaticvoidmain(Stringargs[]){MemoControllermemoController=newMemoController();try{ServerSocketss=newServerSocket(1999);while(true){Sockets=ss.accept();try{UserThreadt=newUserThread(s,memoController);t.start();}catch(Exceptione){e.printStackTrace();}}}catch(Exceptione){e.printStackTrace();}finally{memoController.close();}}}UserThread.java:publicclassUserThreadextendsThread{Sockets;MemoControllermemo;publicUserThread(Sockets,MemoControllermemo){this.s=s;this.memo=memo;}publicvoidrun(){try{BufferedReader br = new BufferedReader(newInputStreamReader(s.getInputStream()));PrintWriter pw = new PrintWriter(newOutputStreamWriter(s.getOutputStream()));Stringreq=br.readLine();if(req.equals("plain")){pw.println("hello");}else{memo.append(req);pw.println("OK");}pw.flush();pw.close();br.close();s.close();}catch(Exceptione){e.printStackTrace();}}}請根據題目的要求和現有的Server.java,UserThread.java的程序完成類MemoController.java練習十七(gui)1、Panel默認的布局管理器是 A、FlowLayout 。件"file.dat"文件中讀出第10個字節到變量C中,下列A 方法適合。、FileInputStreamin=newFileInputStream("file.dat");in.skip(9);intc=in.read();、FileInputStreamin=newFileInputStream("file.dat");in.skip(10);intc=in.read();C、FileInputStreamin=newFileInputStream("file.dat");intc=in.read();D 、RandomAccessFilein=newRandomAccessFile("file.dat");in.skip(9);intc=in.readByte();3Framec是Window類的直接子類 對象顯示的效果是一個窗口C)Frame被默認初始化為可見 4、在Java中,開發圖形用戶界面的程序需要使用一個系統提供的類庫,這個類庫就是( )包。A、java.io B、java.awtC、java.applet D、java.awt.event答:Bgxdd的語句為();創建一個標識有gb的語句為()。MyFrameFrame(ru()方法:publicclassMyFrameextndsrameimplementsRunnable容器被重新設置大小后,哪種布局管理器的容器中的組件大小不隨容器大小的變化而改變?bACardLayout BFlowLayout CBorderLayout DGridLayoutpublicclassOuter{publicvoidsomeOuterMethod(){//Line3}publicclassInner{}publicstaticvoidmain(String[]argv){Outero=newOuter();//Line8}}A.newInner();//Atline3B.newInner();//Atline8C.newo.Inner();//Atline8D.newOuter.Inner();//Atline8//newOuter().newInner()答案:A解釋:在外部類的之內定義內部類:OuterClass.InnerClassinnerObject=outerObject.newInnerClass(ConstructorParameters);newInner();this.newInner();也可以在第八行寫成:Inneri=o.newInner();或者Outer.Inneri=o.newInner();Gameelp“PlayGame”和“CurrentScorevsTimeRemaining”進行操縱。你希望主面板顯示在layout?ba.BorderLayout b.GridLayout c.BoxLayout d.FlowLayoutbactionPerformed() b.getSource() c.super()d.getContentPane()Frame么布局管理器BA.BorderLayout B.FlowLayout C.CardLayout D.GridLayout容器是用來組織其他界面成分和元素的單元,它不能嵌套其他容器( 錯)變?(B)A.CardLayout B.FlowLayout C.BorderLayout D.GridLayout練習十八(雜)1、Java語言的各種數據類型之間提供兩種轉換:強制轉換和 自動轉換 。2、 是正確的。A、if(a==b) {System.out.print("Equal")}B、if(c==b){System.out.print("Equal")}C、if(a==c){System.out.print("Equal")}D、if(c=b){System.out.print("Equal")}3Javaimportjava.lang。4JavaaA)publicB)privateC)protectedD)沒有這種類5、下列關于變量的敘述哪個是錯的?bA)實例變量是類的成員變量 明C)在方法中定義的局部變量在該方法被執行時創建D)局部變量在使用前必須被初始化6、執行完句int[]x=newin[25;,下列哪項法是正的?aA)x[24]值為0 B)x[24]值未定義 值為空7JavaaA)java.lang B)java.awt C)java.io D)java.applet關系。9(9)。Strings="全國計算機等級考試";System.out.println(s.length());方法,其返回字符串的字符個數。10、關鍵字 用于導入包中的類到程序中,供程序中使用。Import下面關于垃圾收集的說法正確的是:(D)(A)一旦一個對象成為垃圾,就立刻被收集掉。(不會隨時有動作的)(B)finalize(之前)C++的析構函數是完全一回事情(析構可以主動,Finalize動的)(D)一個對象成為垃圾是因為不再有引用指著它,但是線程并非如此。則在類A的其他構造方法中調用該構造方法的語句格式應為 (C)A(x) B. this.A(x) C. this(x)super(x)13、如果一個Java源程序文件中定義有4個類,則使用Sun公司的JDK編譯器javac編譯該源程序文件將產生 個文件名與類名相同而擴展名為 的字節碼文件。答:4、class14.設有下面兩個類的定義:classPerson{ classStudentextendsPerson{long id; //身份證號 intscore;//入學總分Stringname; //姓名 intgetScore(){} returnscore;}}問:類Person和類Student的關系是( A、包含關系 B、繼承關系C、關聯關系 、無關系,上述類定義有語法錯誤答:B、2009-2010第二學期《java程序設計》復習題可能題型:程序填空、讀程寫結果、編程1、publicclassIf3{publicstaticvoidmain(String[]args){intaverage=75;Stringjudgement;if(average>=90){judgement=”A’;}elseif(average>=80){judgement=”B’;}elseif(average>=70){judgement=”C’;}elseif(average>=60){judgement=”D’;}else{judgement=”E’;}System.out.println(“平均=”+average);System.out.println(“評價=”+judgement);}}2、publicclassSwitch3{publicstaticvoidmain(String[]args){inta=1;switch(a){case1:System.out.println(“111”);case2:System.out.println(“222”);break;case3:System.out.println(“333”);default:System.out.println(“未知”);}}}3、publicclassFor8_1{publicstaticvoidmain(String[]args){for(inta=1;true;a++){if(a==6)break;System.out.print((a+”“);}}}4、publicclassFor8_2{publicstaticvoidmain(String[]args){for(inta=1;a<=10;a++){//x1if(a<=5)continue;System.out.print((a+”“);}//x4}}5、publicclassFor11{publicstaticvoidmain(String[]args){for(inta=1;a<=3;a++){for(intb=1;b<=2;b++){if(a<=2)continue;System.out.println(a+””+);}System.out.println(“你好”+a)} }}6、publicclassFo15{publicstaticvoidmain(String[]args){for(inta=1;a<=5;a++){for(intb=1;b<=a;b++)System.out.print(’*’);System.out.println();}}}7、publicclassA2{publicstaticvoidmain(String[]args){intn=29;inti;for(i=2;i<=n-1;i++)if(n%i==0)break;if(i>n-1)System.out.println(n+"是素數");else}}

System.out.println(n+"是合數");8、publicclassA5{publicstaticvoidmain(String[]args){intk=1;for(inti=1;i<5;i++){for(intj=1;j<=i;j++){System.out.print(k);k++;}System.out.println();} }}9、publicclassArray6{publicstaticvoidmain(String[]args){int[][]a;a=newint[3][];int[]sum=newint[3];a[0]=newint[]{100,80,80,75,90};a[1]=newint[]{50,60,60,65,55};a[2]=newint[]{100,100,100,100,100};for(inti=0;i<a.length;i++){for(intj=0;j<a[i].length;j++)sum[i]+=a[i][j];}for(inti=0;i<sum.length;i++)System.out.println(”合計=”+sum[i]);System.out.println();}}10、classMan{intheight;intage;}publicclassClass1{publicstaticvoidmain(String[]args){Manman1;man1=newMan();man1.height=180;man1.age=20;System.out.println(man1.height);System.out.println(man1.age);}}11、ClassMan{intheitht;intage;}publicclassClass2{publicstaticvoidmain(String[]args){Manman1;man1=newMan();Manman2;man2=man1;man1.height=180;man1.age=20;System.out.println(man2.height);System.out.println(man2.age);}}12、publicclassClass3{doublef(intx){return2.5+x;}publicstaticvoidmain(String[]args){Class3aaa=newClass3();//x3doubley=aaa.f(3);System.out.println(y);System.out.println(aaa.f(2));}}13、publicclassClass4{VoidprintInt(intx){System.out.println(“整數=”+x);}publicstaticvoidmain(String[]args){Class4aaa=newClass4();System.out.println(“你好~~”);}}14、publicclassClass5{voidprintInt(intx){if(x<=0)return;System.out.println(“整數=”+x);}publicstaticvoidmain(String[]args){Class5aaa=newClass5();aaa.printInt(10);aaa.printInt(-10);}}15、publicclassClass6{Voidhello(){System.out.println(“您好!”);}publicstaticvoidmain(String[]args){Class6aaa=newClass6();aaa.hello();aaa.hello();}}16、classClass10{inta;voidsetA(inta){this.a=a;}intgetA(){returnthis.a;}publicstaticvoidmain(String[]args){class10ob=newClass10();ob.setA(1000);System.out.println(ob.a);System.out.println(ob.getA());}}17、publicclassClass11{voi

溫馨提示

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

評論

0/150

提交評論