欢迎来到天天文库
浏览记录
ID:42619320
大小:358.52 KB
页数:78页
时间:2019-09-18
《java经典基础题(难得的题目)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、//注:红色为自己所做答案1.Given:1.publicclassreturnIt{2.returnTypemethodA(bytex,doubley){3.return(short)x/y*2//强制转换只转换了xy未变;4.}5.}WhatisthevalidreturnTypeformethodAinline2?A.intB.byteC.longD.shortE.floatF.double//byte和double运算后得到的应该是double所以答案为F:double注释:short类型的x,除以double类型的y,再乘int的2,所以结果是
2、double类型的。注意第三行的强制转换,只是转换了x。2.1)classSuper{2)publicfloatgetNum(){return3.0f;}3)}4)5)publicclassSubextendsSuper{6)7)}whichmethod,placedatline6,willcauseacompilererror?A.publicfloatgetNum(){return4.0f;}B.publicvoidgetNum(){}C.publicvoidgetNum(doubled){}D.publicdoublegetNum(floatd){
3、return4.0d;}注意这道题主要考的是方法的overload和override。对于overload,只有参数列表不同,才做为标准,而返回值和访问控制关键字不能做为标准,所以B错在方法名相同,但只有返回值不同,这是错的。C和D是正确的overload。对于override,则访问控制关键字只能更加公有化,异常只能是超类方法抛出的异常的子类,也可以不抛出。返回类型,参数列表必须精确匹配。所以A是正确的override。3.1)publicclassFoo{2)publicstaticvoidmain(Stringargs[]){3)try{retur
4、n;}4)finally{System.out.println("Finally");}5)}6)}whatistheresult?A.Theprogramrunsandprintsnothing.B.Theprogramrunsandprints“Finally”.//遇到return则finally先被执行再执行returnC.Thecodecompiles,butanexceptionisthrownatruntime.D.Thecodewillnotcompilebecausethecatchblockismissing.try......cat
5、ch......finally的问题。程序中如果遇到return,则finally块先被执行,然后再执行retrun,而finally块后面的语句将不被执行。如果遇到System.exit(1),则finally块及其后的语句都不执行,整个程序退出,还执行什么呀。4.1)publicclassTest{2)publicstaticStringoutput="";3)publicstaticvoidfoo(inti){4)try{5)if(i==1){6)thrownewException();7)}8)output+="1";9)}10)catch(Ex
6、ceptione){11)output+="2";12)return;//所以没输出413)}14)finally{15)output+="3";16)}17)output+="4";18)}19)publicstaticvoidmain(Stringargs[]){20)foo(0);1342321)foo(1);22)23)}24)}whatisthevalueofoutputatline22?//13423执行第一个foo(0)时,执行第8条语句,output=1,然后执行语句15,output=13,然后是17条,output=134,因为是st
7、atic类型的变量,所以任何对其值的修改都有效。执行第二条foo(1),先执行语句5,结果抛出异常,转到catch块,output=1342,finally任何情况下都执行,所以output=13423,然后return跳出方法体,所以output=134235.1)publicclassIfElse{2)publicstaticvoidmain(Stringargs[]){3)if(odd(5))4)System.out.println("odd");5)else6)System.out.println("even");7)}8)publicstati
8、cintodd(intx){returnx%2;}9)}whatisoutput
此文档下载收益归作者所有