JAVA筆試題-Java選擇題100道_第1頁
JAVA筆試題-Java選擇題100道_第2頁
JAVA筆試題-Java選擇題100道_第3頁
JAVA筆試題-Java選擇題100道_第4頁
JAVA筆試題-Java選擇題100道_第5頁
已閱讀5頁,還剩34頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

..1.下列不可作為java語言修飾符的是(D)A)a1B)$1C)_1D)112.有一段java應用程序,它的主類名是a1,那么保存它的源文件名可以是(A)A)a1.javaB)a1.classC)a1D)都對3.整型數(shù)據(jù)類型中,需要內(nèi)存空間最少的是(D)A)shortB)longC)intD)byte4.Java類可以作為(C)A)類型定義機制B)數(shù)據(jù)封裝機制C)類型定義機制和數(shù)據(jù)封裝機制D)上述都不對5.在創(chuàng)建對象時必須(C)A)先聲明對象,然后才能使用對象B)先聲明對象,為對象分配內(nèi)存空間,然后才能使用對象C)先聲明對象,為對象分配內(nèi)存空間,對對象初始化,然后才能使用對象D)上述說法都對6.在調(diào)用方法時,若要使方法改變實參的值,可以(B)A)用基本數(shù)據(jù)類型作為參數(shù)B)用對象作為參數(shù)C)A和B都對D)A和B都不對7.Java中(C)A)一個子類可以有多個父類,一個父類也可以有多個子類B)一個子類可以有多個父類,但一個父類只可以有一個子類C)一個子類可以有一個父類,但一個父類可以有多個子類D)上述說法都不對8.Java語言具有許多優(yōu)點和特點,哪個反映了Java程序并行機制的特點?(B)A)安全性B)多線性C)跨平臺D)可移植9.Character流與Byte流的區(qū)別是(C)A)每次讀入的字節(jié)數(shù)不同B)前者帶有緩沖,后者沒有C)前者是字符讀寫,后者是字節(jié)讀寫D)二者沒有區(qū)別,可以互換使用10.以下聲明合法的是(D)A、defaultStrings;B、publicfinalstaticnativeintw()C、abstractdoubled;D、abstractfinaldoublehyperbolicCosine()11.關于以下application的說明,正確的是(C)1.classStaticStuff2.{3.staticintx=10;4.static{x+=5;}5.publicstaticvoidmain(Stringargs[])6.{7.System.out.println(“x=”+x);8.}9.static{x/=3;}10.}A、4行與9行不能通過編譯,因為缺少方法名和返回類型B、9行不能通過編譯,因為只能有一個靜態(tài)初始化器C、編譯通過,執(zhí)行結果為:x=5D、編譯通過,執(zhí)行結果為:x=312.關于以下程序代碼的說明正確的是(D)1.classHasStatic{2.privatestaticintx=100;3.publicstaticvoidmain(Stringargs[]){4.HasStatichs1=newHasStatic();5.hs1.x++;6.HasStatichs2=newHasStatic();7.hs2.x++;8.hs1=newHasStatic();9.hs1.x++;10.HasStatic.x--;11.System.out.println(“x=”+x);12.}13.}A、5行不能通過編譯,因為引用了私有靜態(tài)變量B、10行不能通過編譯,因為x是私有靜態(tài)變量C、程序通過編譯,輸出結果為:x=103D、程序通過編譯,輸出結果為:x=10213.以下選項中循環(huán)結構合法的是(C)A、while(inti<7){i++;System.out.println(“iis“+i);}B、intj=3;while(j){System.out.println(“jis“+j);}C、intj=0;for(intk=0;j+k!=10;j++,k++){System.out.println(“jis“+j+“kis”+k);}D、intj=0;do{System.out.println(“jis“+j++);if(j==3){continueloop;}}while(j<10);14.類Test1定義如下:1.publicclassTest1{2.publicfloataMethod(floata,floatb){}3.4.}將以下哪種方法插入行3是不合法的。(B)A、publicfloataMethod(floata,floatb,floatc){}B、publicfloataMethod(floatc,floatd){}C、publicintaMethod(inta,intb){}D、privatefloataMethod(inta,intb,intc){}15.類Test1、Test2定義如下:1.publicclassTest12.{publicfloataMethod(floata,floatb)throws3.IOException{}4.}5.publicclassTest2extendsTest1{6.7.}將以下哪種方法插入行6是不合法的。(A)A、floataMethod(floata,floatb){}B、publicintaMethod(inta,intb)throwsException{}C、publicfloataMethod(floatp,floatq){}D、publicintaMethod(inta,intb)throwsIOException{}16.關于以下程序段,正確的說法是(C)1.Strings1=”abc”+”def”;2.Strings2=newString(s1);3.if(s1==s2)4.System.out.println(“==succeeded”);5.if(s1.equals(s2))6.System.out.println(“.equals()succeeded”);A、行4與行6都將執(zhí)行B、行4執(zhí)行,行6不執(zhí)行C、行6執(zhí)行,行4不執(zhí)行C、行4、行6都不執(zhí)行17.Javaapplication中的主類需包含main方法,main方法的返回類型是什么?(D)A、intB、floatC、doubleD、void18.以下哪個方法用于定義線程的執(zhí)行體?(C)A、start()B、init()C、run()D、synchronized()19.以下標識符中哪項是不合法的(A)A、constB、$doubleC、helloD、BigMeaninglessName20.以下哪個關鍵字可以用來為對象加互斥鎖?(D)A、transientB、staticC、serializeD、synchronized21.在Java中,一個類可同時定義許多同名的方法,這些方法的形式參數(shù)個數(shù)、類型或順序各不相同,傳回的值也可以不相同。這種面向?qū)ο蟪绦虻奶匦苑Q為(C)。A、隱藏B、覆蓋C、重載D、Java不支持此特性22.以下關于構造函數(shù)的描述錯誤的是(A)。A、構造函數(shù)的返回類型只能是void型。B、構造函數(shù)是類的一種特殊函數(shù),它的方法名必須與類名相同。C、構造函數(shù)的主要作用是完成對類的對象的初始化工作。D、一般在創(chuàng)建新對象時,系統(tǒng)會自動調(diào)用構造函數(shù)。23.下列哪些語句關于Java內(nèi)存回收的說明是正確的?(B)A、程序員必須創(chuàng)建一個線程來釋放內(nèi)存B、內(nèi)存回收程序負責釋放無用內(nèi)存C、內(nèi)存回收程序允許程序員直接釋放內(nèi)存D、內(nèi)存回收程序可以在指定的時間釋放內(nèi)存對象24.若需要定義一個類域或類方法,應使用哪種修飾符?(C)A、staticB、packageC、privateD、public25.有以下方法的定義,請選擇該方法的返回類型(D)。ReturnTypemethod(bytex,doubley){return(short)x/y*2;}A、byteB、shortC、intD、double第二組:1.有以下程序片段,下列哪個選項不能插入到行1。(D)1.2.publicclassInteresting{3.//dosth4.}A、importjava.awt.*;B、packagemypackage;C、classOtherClass{}D、publicclassMyClass{}2.以下哪項是接口的正確定義?(D)A、interfaceB{voidprint(){};}B、abstractinterfaceB{voidprint();}C、abstractinterfaceBextendsA1,A2//A1、A2為已定義的接口{abstractvoidprint(){};}D、interfaceB{voidprint();}3.下面哪個函數(shù)是publicvoidaMethod(){...}的重載函數(shù)?(D)A、voidaMethod(){...}B、publicintaMethod(){...}C、publicvoidaMethod(){...}D、publicintaMethod(intm){...}4.A派生出子類B,B派生出子類C,并且在Java源代碼中有如下聲明:1.Aa0=newA();2.Aa1=newB();3.Aa2=newC();問以下哪個說法是正確的?(D)A、只有第1行能通過編譯B、第1、2行能通過編譯,但第3行編譯出錯C、第1、2、3行能通過編譯,但第2、3行運行時出錯D、第1行、第2行和第3行的聲明都是正確的5.假設A類有如下定義,設a是A類的一個實例,下列語句調(diào)用哪個是錯誤的?(C)classA{inti;staticStrings;voidmethod1(){}staticvoidmethod2(){}}A、System.out.println(a.i);B、a.method1();C、A.method1();D、A.method2()6.有如下代碼段:1)2){if(unsafe()){//dosomething…}3)elseif(safe()){//dotheother…}4)}其中,方法unsafe()將拋出IOException,請問可將以下哪項填入第1行?(D)A、publicIOExceptionmethodName()B、publicvoidmethodName()C、publicvoidmethodName()throwIOExceptionD、publicvoidmethodName()throwsIOException7.Java的字符類型采用的是Unicode編碼方案,每個Unicode碼占用(C)個比特位。A、8B、16C、32D、648.以下關于繼承的敘述正確的是(A)。A、在Java中類只允許單一繼承B、在Java中一個類只能實現(xiàn)一個接口C、在Java中一個類不能同時繼承一個類和實現(xiàn)一個接口D、在Java中接口只允許單一繼承9.給出下面代碼,關于該程序以下哪個說法是正確的?(C)publicclassPerson{staticintarr[]=newint[5];publicstaticvoidmain(Stringa[]){System.out.println(arr[0]);}}}A、編譯時將產(chǎn)生錯誤B、編譯時正確,運行時將產(chǎn)生錯誤C、輸出零D、輸出空10.在使用interface聲明一個接口時,只可以使用(D)修飾符修飾該接口。A、privateB、protectedC、privateprotectedD、public11.編譯并運行以下程序,以下描述哪個選項是正確的(D)1.classA{2.protectedbooleanequals(){3.returnsuper.equals();4.}5.}A、編譯通過運行無異常B、編譯通過但運行時出錯C、行2出錯,不能成功編譯D、不能成功編譯,行3出錯12.有語句Strings=”helloworld”;,以下操作哪個是不合法的?(B)A、inti=s.length();B、s>>>=3;C、Stringts=s.trim();D、Stringt=s+”!”;13.下列關于Java語言的特點,描述錯誤的是(C)A.Java是跨平臺的編程語言B.Java支持分布式計算C.Java是面向過程的編程語言D.Java支持多線程14.下述概念中不屬于面向?qū)ο蠓椒ǖ氖牵―)。A.對象、消息B.繼承、多態(tài)C.類、封裝D.過程調(diào)用15.結構化程序設計所規(guī)定的三種基本控制結構是(C)A.輸入、處理、輸出B.樹形、網(wǎng)形、環(huán)形C.順序、選擇、循環(huán)D.主程序、子程序、函數(shù)16.下列關于構造方法的敘述中,錯誤的是(C)A.Java語言規(guī)定構造方法名與類名必須相同B.Java語言規(guī)定構造方法沒有返回值,但不用void聲明C.Java語言規(guī)定構造方法不可以重載D.Java語言規(guī)定構造方法只能通過new自動調(diào)用17.下列哪個類的聲明是正確的?(D)A.a(chǎn)bstractfinalclassHI{}B.a(chǎn)bstractprivatemove(){}C.protectedprivatenumber;D.publicabstractclassCar{}18.關于被私有訪問控制符private修飾的成員變量,以下說法正確的是(C)A.可以被三種類所引用:該類自身、與它在同一個包中的其他類、在其他包中的該類的子類B.可以被兩種類訪問和引用:該類本身、該類的所有子類C.只能被該類自身所訪問和修改D.只能被同一個包中的類訪問19.下列關于for循環(huán)和while循環(huán)的說法中哪個是正確的?(B)A.while循環(huán)能實現(xiàn)的操作,for循環(huán)也都能實現(xiàn)B.while循環(huán)判斷條件一般是程序結果,for循環(huán)判斷條件一般是非程序結果C.兩種循環(huán)任何時候都可替換D.兩種循環(huán)結構中都必須有循環(huán)體,循環(huán)體不能為空20.閱讀以下代碼:importjava.io.*;importjava.util.*;publicclassfoo{publicstaticvoidmain(String[]args){Strings;System.out.println("s="+s);}}輸出結果應該是:(C)A.代碼得到編譯,并輸出“s=”B.代碼得到編譯,并輸出“s=null”C.由于Strings沒有初始化,代碼不能編譯通過D.代碼得到編譯,但捕獲到NullPointException異常21.編譯運行以下程序后,關于輸出結果的說明正確的是(C)publicclassConditional{publicstaticvoidmain(Stringargs[]){intx=4;System.out.println(“valueis“+((x>4)?99.9:9));}}A.輸出結果為:valueis99.9B.輸出結果為:valueis9C.輸出結果為:valueis9.0D.編譯錯誤22.執(zhí)行完以下代碼int[]x=newint[10];后,以下哪項說明是正確的(A)A.x[9]為0B.x[9]未定義C.x[10]為0D.x[0]為空23.關于以下程序段,正確的說法是(C)1.Strings1=“a”+“b”;2.Strings2=newString(s1);3.if(s1==s2)4.System.out.println(“==issucceeded”);5.if(s1.equals(s2))6.System.out.println(“.equals()issucceeded”);A.行4與行6都將執(zhí)行B.行4執(zhí)行,行6不執(zhí)行C.行6執(zhí)行,行4不執(zhí)行C.行4、行6都不執(zhí)行24.以下程序的運行結果是:(C)publicclassIncrement{publicstaticvoidmain(Stringargs[]){intc;c=2;System.out.println(c);System.out.println(c++);System.out.println(c);}}A.222B.233C.223D.34425.下列哪一個關鍵字用于實現(xiàn)接口來定義類?(B)A、extendsB、implementsC、abstractD、interface第三組1.若a的值為3時,下列程序段被執(zhí)行后,c的值是多少?(C)if(a>0)if(a>3)c=2;elsec=3;elsec=4;A、1B、2C、3D、42.下面哪一個操作符的優(yōu)先級最高?(D)A、&&B、||C、!D、()3.下列方法頭中哪一個不與其他方法形成重載(overload)關系?(D)A、voidmmm()B、voidmmm(inti)C、voidmmm(Strings)D、intmm()4.編譯Java程序的命令是:(B)A、appletviewerB、javacC、javaD、javadoc5.編譯Java源程序文件將產(chǎn)生相應的字節(jié)碼文件,這些字節(jié)碼文件的擴展名為(B)。A、.byteB、.classC、.htmlD、.exe6.執(zhí)行語句inti=1,j=++i;后i與j的值分別為(D)。A、1與1B、2與1C、1與2D、2與27.main方法是Java應用程序執(zhí)行的入口點,關于main方法的方法頭以下哪項是合法的?(B)A、publicstaticvoidmain()B、publicstaticvoidmain(String[]args)C、publicstaticintmain(String[]arg)D、publicvoidmain(Stringarg[])8.下列哪個選項不是Java語言的特點?(D)A、面向?qū)ο驜、高安全性C、平臺無關D、面向過程9.下列哪個是合法的Java標識符?(B)A、Tree&GlassesB、FirstJavaAppletC、*theLastOneD、273.510.下面的選項中,哪一項不屬于“汽車類”的行為(D)。A、啟動B、剎車C、減速D、速度11.下面哪一個循環(huán)會導致死循環(huán)?(C)A、for(intk=0;k<0;k++)B、for(intk=10;k>0;k--)C、for(intk=0;k<10;k--)D、for(intk=0;k>0;k++)12.有如下程序段:inta=b=5;Strings1="祝你今天考出好成績!";Strings2=s1;則表達式a==b與s2==s1的結果分別是:(A)。A、true與trueB、false與trueC、true與falseD、false與false13.在Java中用什么關鍵字修飾的方法可以直接通過類名來調(diào)用?(A)A、staticB、finalC、privateD、void14.若在某一個類定義中定義有如下的方法:abstractvoidperformDial();該方法屬于(C)。A、接口方法B、最終方法C、抽象方法D、空方法15.有如下程序段:inttotal=0;for(inti=0;i<4;i++){if(i==1)continue;if(i==2)break;total+=i;}則執(zhí)行完該程序段后total的值為:(A)。A、0B、1C、3D、616.如果希望某個變量只可以被類本身訪問和調(diào)用,則應該使用下列哪一種訪問控制修飾(A)。A、privateB、protectedC、privateprotectedD、public17.在Java中,"456"屬于(B)類的對象。A、intB、StringC、IntegerD、Number18.System.out.println("5"+2);的輸出結果應該是(A)。A、52B、7C、2D、519.為AB類的一個無形式參數(shù)無返回值的方法method書寫方法頭,使得使用類名AB作為前綴就可以調(diào)用它,該方法頭的形式為(A)。A.staticvoidmethod()B.publicvoidmethod()C.finalvoidmethod()D.abstractvoidmethod()20.下面聲明數(shù)組的寫法錯誤(D)。Ainta[];B:int[]a;Cint[3][]a;D;int[][3]a;21.設x為float型變量,y為double型變量,a為int型變量,b為long型變量,c為char型變量,則表達式x+y*a/x+b/y+c的值為(C)類型。AintBlongCdoubleDchar22.欲構造ArrayList類的一個實例,此類繼承了List接口,下列哪個方法是正確的?(B)A、ArrayListmyList=newObject();B、ListmyList=newArrayList();C、ArrayListmyList=newList();D、ListmyList=newList();23.指出正確的表達式(C)A、byte=128;B、Boolean=null;C、longl=0xfffL;D、double=0.9239d;24.指出下列程序運行的結果(B)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");Sytem.out.print(ex.ch);}publicvoidchange(Stringstr,charch[]){str="testok";ch[0]='g';}}A、goodandabcB、goodandgbcC、testokandabcD、testokandgbc25.運行下列程序,會產(chǎn)生什么結果(D)publicclassXextendsThreadimplementsRunnable{publicvoidrun(){System.out.println("thisisrun()");}publicstaticvoidmain(Stringargs[]){Threadt=newThread(newX());t.start();}}A、第一行會產(chǎn)生編譯錯誤B、第六行會產(chǎn)生編譯錯誤C、第六行會產(chǎn)生運行錯誤D、程序會運行和啟動第四組:1.要從文件"file.dat"中讀出第10個字節(jié)到變量c中,下列哪個方法適合?(D)A、FileInputStreamin=newFileInputStream("file.dat");in.skip(9);intc=in.read();B、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();2.Java編程所必須的默認引用包為(B)A.java.sys包B.java.lang包C.java.util包D.以上都不是3.下面語句在編譯時不會出現(xiàn)警告或錯誤的是(C)A.floatf=3.14;B.charc=”c”;C.Booleanb=null;D.inti=10.0;4.下面不是合法標識符的是(A)A.2ofUSB.giveMesC.whataQuizD.$d2000_5.下面哪一個是合法的數(shù)組聲明和構造語句(C)A.int[]ages=[100];B.intages=newint[100];C.int[]ages=newint[100];D.int()ages=newint(100);6.下面說法不正確的是(C)A.一個子類的對象可以接收父類對象能接收的消息;B.當子類對象和父類對象能接收同樣的消息時,它們針對消息產(chǎn)生的行為可能不同;C.父類比它的子類的方法更多;D.子類在構造函數(shù)中可以使用super()來調(diào)用父類的構造函數(shù);7.給出下面代碼段,哪行將引起一個編譯時錯誤?(D)1)publicclassTest{2)intn=0;3)intm=0;4)publicTest(inta){m=a;}5)publicstaticvoidmain(Stringarg[]){6)Testt1,t2;7)intj,k;8)j=3;k=5;9)t1=newTest();10)t2=newTest(k);11)}12)}A.行1B.行4C.行6D.行98.下面程序中類ClassDemo中定義了一個靜態(tài)變量sum,分析程序段的輸出結果。(C)classClassDemo{publicstaticintsum=1;publicClassDemo(){sum=sum+5;}}publicclassClassDemoTest{publicstaticvoidmain(Stringargs[]){ClassDemodemo1=newClassDemo();ClassDemodemo2=newClassDemo();System.out.println(demo1.sum);}}A.0B.6C.11D.29.下面這些類型的應用,那個不使用Java語言來編寫?(A)A)JavaScriptB)AppletC)ServletD)JavaSwing10.聲明成員變量時,如果不使用任何訪問控制符(public,protected,private),則以下哪種類型的類不能對該成員進行直接訪問(D)A)同一類B)同一包中的子類C)同一包中的非子類D)不同包中的子類11.下列哪種異常是檢查型異常,需要在編寫程序時聲明(C)A)NullPointerExceptionB)ClassCastExceptionC)FileNotFoundExceptionD)IndexOutOfBoundsException12.下面哪個流類屬于面向字符的輸入流(D)A)BufferedWriterB)FileInputStreamC)ObjectInputStreamD)InputStreamReader13.下面關于數(shù)組聲明和初始化的語句那個有語法錯誤?(C)A)inta1[]={3,4,5};B)Stringa2[]={"string1","string1","string1"};C)Stringa3[]=newString(3);D)int[][]a4=newint[3][3];14.下面哪一行代碼正確的聲明了一個類方法(靜態(tài)方法)?(D)A)publicintmethod(inti)B)protectedmethod(inti)C)publicstaticmethod(Strings)D)protectedstaticvoidmethod(Integeri)15.下面的方法,當輸入為2的時候返回值是多少?(D)publicintgetValue(inti){intresult=0;switch(i){case1:result=result+i;case2:result=result+i*2;case3:result=result+i*3;}returnresult;}A)0B)2C)4D)1016.getCustomerInfo()方法如下,try中可以捕獲三種類型的異常,如果在該方法運行中產(chǎn)生了一個IOException,將會輸出什么結果(A)publicvoidgetCustomerInfo(){try{//dosomethingthatmaycauseanException}catch(java.io.FileNotFoundExceptionex){System.out.print("FileNotFoundException!");}catch(java.io.IOExceptionex){System.out.print("IOException!");}catch(java.lang.Exceptionex){System.out.print("Exception!");}}A)IOException!B)IOException!Exception!C)FileNotFoundException!IOException!D)FileNotFoundException!IOException!Exception!17.新建一個流對象,下面哪個選項的代碼是錯誤的?(B)A)newBufferedWriter(newFileWriter("a.txt"));B)newBufferedReader(newFileInputStream("a.dat"));C)newGZIPOutputStream(newFileOutputStream("a.zip"));D)newObjectInputStream(newFileInputStream("a.dat"));18.Java的集合框架中重要的接口java.util.Collection定義了許多方法。選項中哪個方法不是Collection接口所定義的?(C)A)intsize()B)booleancontainsAll(Collectionc)C)compareTo(Objectobj)D)booleanremove(Objectobj)19.一個線程在任何時刻都處于某種線程狀態(tài)(threadstate),例如運行狀態(tài)、阻塞狀態(tài)、就緒狀態(tài)等。一個線程可以由選項中的哪種線程狀態(tài)直接到達運行狀態(tài)?(D)A)死亡狀態(tài)B)阻塞狀態(tài)(對象lock池內(nèi))C)阻塞狀態(tài)(對象wait池內(nèi))D)就緒狀態(tài)20.選項中哪一行代碼可以替換題目中//addcodehere而不產(chǎn)生編譯錯誤?(A)publicabstractclassMyClass{publicintconstInt=5;//addcodeherepublicvoidmethod(){}}A)publicabstractvoidmethod(inta);B)value=value+5;C)publicintmethod();D)publicabstractvoidanotherMethod(){}21.File類是IO包中唯一表示磁盤文件信息的對象,它定義了一些與平臺無關的方法來操縱文件。通過調(diào)用File類提供的各種方法,我們能夠創(chuàng)建、刪除文件、重命名文件、判斷文件的讀寫權限及是否存在,設置和查詢文件的最近修改時間等。下面的代碼片段實現(xiàn)的是什么功能?(B)Filefile=newFile("C:\\test.dat");if(file.exists()){file.delete();}A)創(chuàng)建C:\test.dat。B)刪除C:\test.dat。C)打開C:\test.dat文件輸出流。D)移動C:\test.dat22.閱讀Shape和Circle兩個類的定義。在序列化一個Circle的對象circle到文件時,下面哪個字段會被保存到文件中?(B)classShape{publicStringname;}classCircleextendsShapeimplementsSerializable{privatefloatradius;transientintcolor;publicstaticStringtype="Circle";}A)nameB)radiusC)colorD)type23.下面是People和Child類的定義和構造方法,每個構造方法都輸出編號。在執(zhí)行newChild("mike")的時候都有哪些構造方法被順序調(diào)用?請選擇輸出結果(D)classPeople{Stringname;publicPeople(){System.out.print(1);}publicPeople(Stringname){System.out.print(2);=name;}}classChildextendsPeople{Peoplefather;publicChild(Stringname){System.out.print(3);=name;father=newPeople(name+":F");}publicChild(){System.out.print(4);}}A)312B)32C)432D)13224.下面哪個選項中的代碼沒有定義內(nèi)部類,或者錯誤的定義了內(nèi)部類?(C)A)publicClassLine{intlength;ClassPoint{//內(nèi)部類代碼}}B)publicClassLine{publicPointgetPoint(){returnnewPoint(){//內(nèi)部類代碼};}}C)publicClassLine{//外部類代碼}ClassPoint{//內(nèi)部類代碼}D)publicClassLine{publicintcalcLength(){ClassPoint{//內(nèi)部類代碼}}}25.list是一個ArrayList的對象,哪個選項的代碼填寫到//tododelete處,可以在Iterator遍歷的過程中正確并安全的刪除一個list中保存的對象?(D)Iteratorit=list.iterator();intindex=0;while(it.hasNext()){Objectobj=it.next();if(needDelete(obj)){//needDelete返回boolean,決定是否要刪除//tododelete}index++;}A)list.remove(obj);B)list.remove(index);C)list.remove(it.next());D)it.remove();面試就不說了,就筆試而言,參加的很多招聘給我的感覺就是和學校期末考基本沒什么區(qū)別,大都考一些很基本的東西,當然是對應屆生而言,除此之外就是多出來一些智力題和IT名詞,對于智力題,用同事的話來說是用來玩你的,在我看來也無關緊要,IT名詞的話可以多用GOOGLE查看一下,費點時間,也不是很難記,大概了解一下有東西扯就OK.就突擊基礎知識而言,我是沒有興趣從頭到尾看一遍JAVA的,話說回來,現(xiàn)在的筆試出題者和期末考的命題者一樣懶,很多都是網(wǎng)上流傳N久的東西,所以我決定從網(wǎng)上撈一些試題做做,排查知識點的盲區(qū),這樣比較有針對性.一、單項選擇題1.Java是從()語言改進重新設計。A.AdaB.C++C.PasacalD.BASIC答案:B這個題沒什么難度,雖然我只了解C++,當初老師也就只拿JAVA和C++比較.ADA:美國軍方為了整合不同語言開發(fā)的系統(tǒng)而發(fā)明的一種語言,最大的特點是實時性,在ADA95中已加入面向?qū)ο髢?nèi)容.Pascal:為提倡結構化編程而發(fā)明的語言,結構化特色非常明顯,函數(shù)體內(nèi)允許任意層次的嵌套.BASIC:為了讓大學生簡單容易控制電腦開發(fā)的語言,特點是簡單易懂,且可以用解釋和編譯兩種方法執(zhí)行.2.下列語句哪一個正確()A.Java程序經(jīng)編譯后會產(chǎn)生machinecodeB.Java程序經(jīng)編譯后會產(chǎn)生bytecodeC.Java程序經(jīng)編譯后會產(chǎn)生DLLD.以上都不正確答案:B.JAVA文件被JAVAC編譯為.CLASS后綴的字節(jié)碼文件,再由JVM執(zhí)行.3.下列說法正確的有()A.class中的constructor不可省略B.constructor必須與class同名,但方法不能與class同名C.constructor在一個對象被new時執(zhí)行D.一個class只能定義一個constructor答案:CCONSTRUCTOR既構造函數(shù),JAVA提供默認的空構造函數(shù),故可以省略.constructor必須重名,constructor可以重載.4.提供Java存取數(shù)據(jù)庫能力的包是()A.java.sqlB.java.awtC.java.langD.java.swing答案:Ajava.swing是圖形開發(fā)組件的一些包.java.awt包含一些老的圖形組件,java.lang是通用的一些類,被默認包含.java.sql包含操作數(shù)據(jù)庫,獲取數(shù)據(jù)的API5.下列運算符合法的是()A.&&B.<>C.ifD.:=答案:A<>是SQL中的寫法,JAVA用!=6.執(zhí)行如下程序代碼a=0;c=0;do{--c;a=a-1;}while(a>0);后,C的值是()A.0B.1C.-1D.死循環(huán)答案:C7.下列哪一種敘述是正確的()A.a(chǎn)bstract修飾符可修飾字段、方法和類B.抽象方法的body部分必須用一對大括號{}包住C.聲明抽象方法,大括號可有可無D.聲明抽象方法不可寫出大括號答案:Dabstract不能修飾字段,抽象方法不用實現(xiàn),不能用{}.8.下列語句正確的是()A.形式參數(shù)可被視為localvariableB.形式參數(shù)可被字段修飾符修飾C.形式參數(shù)為方法被調(diào)用時,真正被傳遞的參數(shù)D.形式參數(shù)不可以是對象答案:A真正被傳遞的是實參,形參可以是對象,是對象的時候傳遞引用.9.下列哪種說法是正確的()A.實例方法可直接調(diào)用超類的實例方法B.實例方法可直接調(diào)用超類的類方法C.實例方法可直接調(diào)用其他類的實例方法D.實例方法可直接調(diào)用本類的類方法子類是否可以調(diào)用父類要看父類相應方法的權限,而無論本類方法的權限如何,都可以調(diào)用.答案:D二、多項選擇題1.Java程序的種類有()A.類(Class)B.AppletC.ApplicationD.Servlet答案:B,C,DApplet:(小應用程序)采用Java創(chuàng)建的基于HTML的程序。瀏覽器將其暫時下載到用戶的硬盤上,并在Web頁打開時在本地運行。一般的Applet只能通過appletviewer或者瀏覽器來運行,一般的Java程序通過繼承Applet類也可以嵌入網(wǎng)頁運行.Servlet(ServerApplet),全稱JavaServlet,未有中文譯文。是用Java編寫的服務器端程序。其主要功能在于交互式地瀏覽和修改數(shù)據(jù),生成動態(tài)Web內(nèi)容。2.下列說法正確的有()A.環(huán)境變量可在編譯sourcecode時指定B.在編譯程序時,所能指定的環(huán)境變量不包括classpathC.javac一次可同時編譯數(shù)個Java源文件D.javac.exe能指定編譯結果要置于哪個目錄(directory)答案:BCD3.下列標識符不合法的有()A.newB.$UsdollarsC.1234D.car.taxi答案:ACDJAVA命名規(guī)則:以大小寫英文字母、數(shù)字、下劃線“_”和美元符號“$”組成,且第一位不能為數(shù)字.4.下列說法錯誤的有()A.數(shù)組是一種對象B.數(shù)組屬于一種原生類C.intnumber=[]={31,23,33,43,35,63}D.數(shù)組的大小可以任意改變答案:BCD原生類指未被實例化的類,數(shù)組一般指實例化,被分配空間的類,不屬于原生類.5.不能用來修飾interface的有()A.privateB.publicC.protectedD.static答案:ACDclass可用修飾符有publicfinalabstract(final和abstract不能用時出現(xiàn)),interface可用修飾符只有public(接口本來就是abstract)6.下列正確的有()A.callbyvalue不會改變實際參數(shù)的數(shù)值B.callbyreference能改變實際參數(shù)的參考地址C.callbyreference不能改變實際參數(shù)的參考地址D.callbyreference能改變實際參數(shù)的內(nèi)容答案:ACD數(shù)值拷貝不會改變實參內(nèi)容,引用拷貝可以改變實參內(nèi)容,但不會改變實參的引用地址.7.下列說法錯誤的有()A.在類方法中可用this來調(diào)用本類的類方法B.在類方法中調(diào)用本類的類方法時可直接調(diào)用C.在類方法中只能調(diào)用本類中的類方法D.在類方法中絕對不能調(diào)用實例方法答案:ACDthis是對于當前類對象的引用,不能用來調(diào)用類方法.類方法不能調(diào)用非static方法是就本類方法的直接調(diào)用而言,可以將類實例化后調(diào)用.這題存在漏洞,實際嘗試中發(fā)現(xiàn)可以用this直接調(diào)用類方法,不過會出現(xiàn)編譯器警告,從理論上來說,類方法是類所共有,實例也可訪問,但一般都是用類名來顯示調(diào)用.publicclassMain{

publicvoidprint()

{

System.out.println("print");

}

publicstaticvoidmain(String[]args)

{

Mains=newMain();

s.print();}}8.下列說法錯誤的有()A.Java面向?qū)ο笳Z言容許單獨的過程與函數(shù)存在B.Java面向?qū)ο笳Z言容許單獨的方法存在C.Java語言中的方法屬于類中的成員(member)D.Java語言中的方法必定隸屬于某一類(對象),調(diào)用方法與過程或函數(shù)相同答案:ABC這個是文字游戲,沒啥意思,讓我選我會選AB9.下列說法錯誤的有()A.能被java.exe成功運行的javaclass文件必須有main()方法B.J2SDK就是JavaAPIC.Appletviewer.exe可利用jar選項運行.jar文件D.能被Appletviewer成功運行的javaclass文件必須有main()方法答案:BCD這個不是很懂,只知道Applet只要繼承Applet類就行了,不需要main()方法,其他的就不知道了...三、判斷題1.Java程序中的起始類名稱必須與存放該類的文件名相同。()答案:正確2.Unicode是用16位來表示一個字的。()答案:正確3.原生類中的數(shù)據(jù)類型均可任意轉(zhuǎn)換。()答案:錯誤1.分別寫出BOOL,int,float,指針類型的變量a與“零”的比較語句。答案:BOOL:if(!a)orif(a)int:if(a==0)float:constEXPRESSIONEXP=0.000001if(a<EXP&&a>-EXP)pointer:if(a!=NULL)orif(a==NULL)2.請說出const與#define相比,有何優(yōu)點?答案:1)const常量有數(shù)據(jù)類型,而宏常量沒有數(shù)據(jù)類型。編譯器可以對前者進行類型安全檢查。而對后者只進行字符替換,沒有類型安全檢查,并且在字符替換可能會產(chǎn)生意料不到的錯誤。2)有些集成化的調(diào)試工具可以對const常量進行調(diào)試,但是不能對宏常量進行調(diào)試。3.簡述數(shù)組與指針的區(qū)別?數(shù)組要么在靜態(tài)存儲區(qū)被創(chuàng)建(如全局數(shù)組),要么在棧上被創(chuàng)建。指針可以隨時指向任意類型的內(nèi)存塊。(1)修改內(nèi)容上的差別chara[]=“hello”;a[0]=‘X’;char*p=“world”;//注意p指向常量字符串p[0]=‘X’;//編譯器不能發(fā)現(xiàn)該錯誤,運行時錯誤(2)用運算符sizeof可以計算出數(shù)組的容量(字節(jié)數(shù))。sizeof(p),p為指針得到的是一個指針變量的字節(jié)數(shù),而不是p所指的內(nèi)存容量。C++/C語言沒有辦法知道指針所指的內(nèi)存容量,除非在申請內(nèi)存時記住它。注意當數(shù)組作為函數(shù)的參數(shù)進行傳遞時,該數(shù)組自動退化為同類型的指針。chara[]="helloworld";char*p=a;cout<<sizeof(a)<<endl;//12字節(jié)cout<<sizeof(p)<<endl;//4字節(jié)計算數(shù)組和指針的內(nèi)存容量voidFunc(chara[100]){cout<<sizeof(a)<<endl;//4字節(jié)而不是100字節(jié)}4.類成員函數(shù)的重載、覆蓋和隱藏區(qū)別?答案:a.成員函數(shù)被重載的特征:(1)相同的范圍(在同一個類中);(2)函數(shù)名字相同;(3)參數(shù)不同;(4)virtual關鍵字可有可無。b.覆蓋是指派生類函數(shù)覆蓋基類函數(shù),特征是:(1)不同的范圍(分別位于派生類與基類);(2)函數(shù)名字相同;(3)參數(shù)相同;(4)基類函數(shù)必須有virtual關鍵字。c.“隱藏”是指派生類的函數(shù)屏蔽了與其同名的基類函數(shù),規(guī)則如下:(1)如果派生類的函數(shù)與基類的函數(shù)同名,但是參數(shù)不同。此時,不論有無virtual關鍵字,基類的函數(shù)將被隱藏(注意別與重載混淆)。(2)如果派生類的函數(shù)與基類的函數(shù)同名,并且參數(shù)也相同,但是基類函數(shù)沒有virtual關鍵字。此時,基類的函數(shù)被隱藏(注意別與覆蓋混淆)5.Therearetwointvariables:aandb,don’tuse“if”,“?:”,“switch”orotherjudgementstatements,findoutthebiggestoneofthetwonumbers.答案:((a+b)+abs(a-b))/26.如何打印出當前源文件的文件名以及源文件的當前行號?答案:cout<<__FILE__;cout<<__LINE__;__FILE__和__LINE__是系統(tǒng)預定義宏,這種宏并不是在某個文件中定義的,而是由編譯器定義的。7.main主函數(shù)執(zhí)行完畢后,是否可能會再執(zhí)行一段代碼,給出說明?答案:可以,可以用_onexit注冊一個函數(shù),它會在main之后執(zhí)行intfn1(void),fn2(void),fn3(void),fn4(void);voidmain(void){Stringstr("zhanglin");_onexit(fn1);_onexit(fn2);_onexit(fn3);_onexit(fn4);printf("Thisisexecutedfirst.\n");}intfn1(){printf("next.\n");return0;}intfn2(){printf("executed");return0;}intfn3(){printf("is");return0;}intfn4(){printf("This");return0;}The_onexitfunctionispassedtheaddressofafunction(func)tobecalledwhentheprogramterminatesnormally.Successivecallsto_onexitcreatearegisteroffunctionsthatareexecutedinLIFO(last-in-first-out)order.Thefunctionspassedto_onexitcannottakeparameters.java筆試題-選擇題編程題集錦一、選擇題(每題2分)1.下列哪些情況可以終止當前線程的運行?a.拋出一個例外時。b.當該線程調(diào)用sleep()方法時。c.當創(chuàng)建一個新線程時。d.當一個優(yōu)先級高的線程進入就緒狀態(tài)時。答案:ABD2.下面哪些為構造函數(shù)的特性定義a.在類中聲明構造函數(shù)時,名稱應該與類名相同b.具有重載特性,可以建立多個相同的名稱c.使用類建立新對象時,會自動執(zhí)行構造函數(shù),因此在構造函數(shù)內(nèi)設定變量的初值或進行內(nèi)存分配d.以上都是答案:ABCD3.關于異常處理機制的敘述哪些正確a.catch部分捕捉到異常情況時,才會執(zhí)行finally部分b.當try區(qū)段的程序發(fā)生異常時,才會執(zhí)行catch區(qū)段的程序c.不論程序是否發(fā)生錯誤及捕捉到異常情況,都會執(zhí)行finally部分d.以上都是答案:BC4.下列關于接口的敘述中哪些是錯誤的a.接口中的數(shù)據(jù)必須設定初值b.接口中無法聲明一般方法c.接口可以聲明引用d.以上都正確答案:BC5.Java語言中,方法的重寫(Overriding)和重載(Overloading)是多態(tài)性的不同表現(xiàn)。下邊哪些說法是對的?A.重寫是父類與子類之間多態(tài)性的一種表現(xiàn)。B.重寫是一個類中多態(tài)性的一種表現(xiàn)。C.重載是一個類中多態(tài)性的一種表現(xiàn)。D.重載是父類與子類之間多態(tài)性的一種表現(xiàn)。6.在Struts應用的視圖中包含哪些組件?A.JSPB.ServletC.ActionServletD.ActionE.代表業(yè)務邏輯或業(yè)務數(shù)據(jù)的JavaBeanF.EJBG.客戶化標簽答案:A,G7.struts框架中,關于FormBean,下列哪些說法是正確的:

AFormBean是一種數(shù)據(jù)bean,主要用來封裝表單提交上來的數(shù)據(jù),并把這些數(shù)據(jù)傳遞給Action

B在FormBean中可以對頁面上傳遞來的參數(shù)進行一下格式上的驗證,這種驗證是一種客戶端的驗證

C用戶每次提交表單,都會產(chǎn)生一個新的FormBean實例

D動態(tài)FormBean不能進行驗證操作答案:A8.以下哪些不是Hibernate的檢索方式:A、導航對象圖檢索B、OID檢索C、ORM檢索D、QBC檢索E、本地SQL檢索F、HQL檢索答案:C9.以下代碼定義了一個變量,如何輸出這個變量的值?<bean:defineid="stringBean"value=“helloWorld“/>(A)<bean:writename=“stringBean"/>(B)<bean:writename=“helloWorld"/>(C)<%=stringBean%>(D)<%StringmyBean=(String)

溫馨提示

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

最新文檔

評論

0/150

提交評論