SCJP流程控制.docx
- 文档编号:5932860
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:20
- 大小:20.64KB
SCJP流程控制.docx
《SCJP流程控制.docx》由会员分享,可在线阅读,更多相关《SCJP流程控制.docx(20页珍藏版)》请在冰豆网上搜索。
SCJP流程控制
II.流程控制
1.if、switch语句
2.循环语句:
while、for、dowhile、break、continue
3.断言
4.异常
5.异常类:
ArrayIndexOutOfBoundsException,ClassCastException,IllegalArgumentException,
IllegalStateException,NullPointerException,NumberFormatException,AssertionError,
ExceptionInInitializerError,StackOverflowError或NoClassDefFoundError。
理解虚拟机会抛出哪个异常,了解程序抛出这些异常的情形。
1.给出下列代码:
Floatpi=newFloat(3.14f);
if(pi>3){
System.out.print("piisbiggerthan3.")
}
else{
System.out.print("piisnotbiggerthan3.")
}
finally{
System.out.println("Haveaniceday.")
}
结果为哪一项?
A.Compilationfails.
B.piisbiggerthan3.
C.piisnotbiggerthan3.Haveaniceday.
D.piisbiggerthan3.Haveaniceday.
2.给出下列代码:
publicstaticvoidmain(String[]args){---------------------------11
Objectobj=newint[]{1,2,3};------------------------------------12
int[]someArray=(int[])obj;-----------------------------------13
for(inti:
someArray)System.out.print(i+“”)--------------14
}------------------------------------------------------------------------15
结果为哪一项?
A.123
B.因为12行错误导致编译失败。
C.因为13行错误导致编译失败。
D.因为14行错误导致编译失败。
3.给出下列代码:
publicclassYippee{
publicstaticvoidmain(String[]args){
for(intx=0;x System.out.print(args[x]+“”) } } } 两个独立的运行命令如下: javaYippee javaYippee1234 结果为哪一项? A.没有结果输出。 123 B.没有结果输出。 234 C.没有结果输出。 1234 D.运行期间抛出一个异常。 123 4.请选择一个正确的选项使程序得到如下的输出结果: 输出结果: 12481632 程序如下: int[]y={1,2,4,8,16,32}; System.out.println(“Output”); ___________________________; System.out.println(x+“”); System.out.println(); A.for(intx: y) B.for(intx=y[]) C.Foreach(yasx) D.Foreach(intx: y) 5.给出下列代码: publicclassBar{ staticvoidfoo(int…x){ //insertcodehere--------------------------------------------12 } } 请选择两段代码插入到12行,使此类通过编译。 (选择两项) A.foreach(x)System.out.println(z); B.for(intz: x)System.out.println(z); C.while(x.hasNext())System.out.println(x.next()); D.for(inti=0;i 6.运行如下代码: publicclassA{ privateintcounter=0; publicstaticintgetInstanceCount(){ returncounter; } publicA(){ counter++;} } 在类B中给出如下代码: Aa1=newA();------------------------------------------------------25 Aa2=newA();-------------------------------------------------------26 Aa3=newA();-------------------------------------------------------27 System.out.printIn(A.getInstanceCount());---------------------28 输出结果为哪一项? A.类A编译失败。 B.28行输出值3。 C.28行输出值1。 D.执行到25行时出现错误。 7.给出下列代码: publicstaticvoidmain(String[]args){ for(inti=0;i<=10;i++){ if(i>6)break; } System.out.println(i); } 输出结果为哪一项? A.6 B.7 C.10 D.编译失败。 8.给出如下代码: intz=5;----------------------------------------------------------------23 --------------------------------------------------------------------------24 publicvoidstuff1(intx){-------------------------------------------25 assert(x>0);-----------------------------------------------------26 switch(x){--------------------------------------------------------27 case2: x=3;------------------------------------------------------28 default: assertfalse;}}-----------------------------------------29 -------------------------------------------------------------------30 privatevoidstuff2(inty){assert(y<0);}---------------------31 -------------------------------------------------------------------------32 privatevoidstuff3(){assert(stuff4());}------------------------33 --------------------------------------------------------------------------34 privatebooleanstuff4(){z=6;returnfalse;}------------------35 哪个选项正确? A.所有的断言语句应用都正确。 B.只有31行的断言语句应用正确。 C.29行和31行的断言语句应用正确。 D.26行和29行的断言语句应用正确。 9.假设serializeBanana()方法和deserializeBanana()方法能正确地实现JAVA的序列化,给出代码如下: importjava.io.*; classFoodimplemerttsSerializable{intgood=3;} classFruitexterndsFood{intjuice=5;} publicclassBananaextendsFruit{ intyellow=4; publicstaticvoidmain(String[]args){ Bananab=newBanana();Bananab2=newBanana(); b.serializeBanana(b);//assumecorrectserialization b2=b.deserializeBanana();//assumecorrect System.out.println(“restore”+b2.yellow+b2.juice+b2.good); } //moreBananamethodsgohere } 哪个选项正确? A.restore400 B.restore403 C.restore453 D.编译失败。 10.给出下列代码: try{ //somecodehere-----------------------------------------------------34 }catch(NullPointerExceptione1){ System.out.print(“a”) }catch(RuntimeExceptione2){ System.out.print(“b”) finally{ System.out.print(“c”) } 如果以上程序第34行发生空指针异常,那么运行结果会是下列哪项? A.c B.a C.ab D.ac 11.给出下列代码: publicstaticvoidmain(String[]args){ try{ args=null; args[0]=“test”; System.out.println(args[0]); }catch(Exceptionex){ System.out.println(“Exception”); }catch(NullPointerExceptionnpe){ System.out.println(“NullPointerException”); } } 运行结果是哪项? A.test B.Exception C.编译失败。 D.NullPointerException 12.运行下列程序: publicclassA{ publicvoidmethod1(){ Bb=newB(); b.method2(); //morecodehere-----------------------------------------------------5 } } publicclassB{ publicvoidmethod2(){ Cc=newC(); c.method3(); //morecodehere------------------------------------------------------5 } } publicclassC{ publicvoidmethod3(){ //morecodehere------------------------------------------------------3 } } 给出下列代码: try{------------------------------------------------------------------------25 Aa=newA();---------------------------------------------------------26 a.method1();----------------------------------------------------------27 }catch(Exceptione){----------------------------------------------28 System.out.print(“anerroroccurred”);---------------------------29 }------------------------------------------------------------------------30 如果C类3行抛出空指针异常,下列哪两个选项正确? (选择两个选项) A.应用程序无法执行。 B.执行29行代码。 C.执行A类中的5行代码。 D.空指针异常在27行被抛出。 13.给出下列代码: staticvoidtest()throwsError{ if(true)thrownewAssertionError(); System.out.print(“test“); } publicstaticvoidmain(String[]args){ try{test();} catch(Exceptionex){System.out.print(“exception“); System.out.print(“end“); } 运行结果为哪一项? A.end B.exceptiontestend C.exceptionend D.在主函数抛出异常。 14.给出如下代码: //somecodehere-----------------------------------------------------31 try{------------------------------------------------------------------------32 //somecodehere----------------------------------------------------33 }catch(SomeExceptionse){--------------------------------------34 //somecodehere----------------------------------------------------35 }finally{------------------------------------------------------------36 //somecodehere----------------------------------------------------37 }--------------------------------------------------------------------------38 37行代码在下列哪三个环境下可以被执行? (选3项) A.33行执行成功。 B.33行代码抛出异常。 C.35行代码抛出异常。 D.31行代码抛出异常。 15.给出如下代码: publicclassFoo{ staticint[]a; static{a[0]=2;} publicstaticvoidmain(String[]args){} } 当在一个程序中运行上段代码时,将会抛出下列哪个异常或错误? A.java.lang.StackOverflowError B.java.lang.InegalStateException C.java.lang.ExceptionlnlnitializerError D.java.lang.ArraylndexOutOfBoundsException 16.给出如下代码: classA{ publicvoidprocess(){ System.out.print(“A,”); } } classBextendsA{ publicvoidprocess()throwsIOException{-----------------14 super.process(); System.out.print(“B,”) thrownewIOException(); } } publicstaticvoidmain(String[]args) { try{newB().process();}----------------------------------------20 catch(IOExceptione){ System.out.println(“Exception”); } } 运行结果为下列哪项? A.Exception B.A,B,Exception C.20行错误导致编译失败。 D.14行错误导致编译失败。 17.给出下列方法,保证它的参数不为空: publicvoidsomeMethod(Objectvalue){ //checkfornullvalue---------------------------------------12 .... System.out.println(value.getClass()); } 在上述方法12行插入哪项代码是此方法能够正确的处理空值? A.assertvalue==null; B.assertvalue! null,“valueisnull”; C.if(value==null){ thrownewAssertionException(“valueisnull”); D.if(value==null){ thrownewInegalArgumentException(“valueisnull”); 18.给出如下代码: try{------------------------------------------------------------------------84 ResourceConnectioncon=resourceFactory.getConnection();-85 Resultsr=con.query(“GETINFOFROMCUSTOMER”)---86 info=r.getData();------------------------------------------------87 con.close();-------------------------------------------------------88 }catch(ResourceExceptionre){-----------------------------89 errorLog.write(re.getMessage());------------------------------90 }--------------------------------------------------------------------91 returninfo;-------------------------------------------------------92 如果86行抛出一个资源异常,则下列哪项是正确的? A.92行将不会执行。 B.85行得不到的连接对象。 C.88行连接对象将不会被关闭。 D.这个封装方法给调用它的类将抛出一个异常。 19.给出如下代码: packagecom.sun.scjp; publicclassGeodetics{ publicstaticfinaldoubleDIAMETER=12756.32;//kilometers } 下列哪两项能够正确访问类Geodetics中的成员变量DIAMETER? (选择两项) A.importcom.sun.scjp.Geodetics; publicclassTerraCarta{ publicdoublehalfway(){returnGeodetics.DIAMETER/2.0;}} B.importstaticcom.sun.scjp.Geodetics; publicclassTerraCarta{ publicdoublehalfway(){returnDIAMETER/2.0;}} C.importstaticcom.sun.scjp.Geodetics.*; publicclassTerraCarta{ publicdoublehalfway(){returnDIAMETER/2.0;}} D.packagecom.sun.scjp; publicclassTerraCarta{ publicdoublehal
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SCJP 流程 控制