JavaSE测试题及答案
精选新版2020年JAVASE综合完整考试题库188题(含参考答案)

2020年JAVASE综合考试试题库188题[含答案]一、选择题1.欲构造ArrayList类继承了List接口,下列哪个方法是正确的?答案:BA.ArrayList myList=new Object()B. List myList=new ArrayList()C.ArrayList myList=new List()D.List myList=new List()2.调用Math.random()方法最有可能输出以下哪些结果?答案:DA.-0.12和0.56E3B.0.12和1.1E1C.-23.45和0.0D.0.356和0.033."以下代码的输出结果是什么?public class Example {public static void main(String[] args) {System.out.println(Math.round(Float.MAX_V ALUE));}}"答案:BA.输出Integer.MAX_V ALUEB.输出一个最接近Float.MAX_V ALUE的整数C.编译失败D.运行时输出异常信息4."以下代码的运行结果是什么?public class Example {public static void main(String[] args) {System.out.println(Math.min(0.0, -0.0));}}"答案:CA.代码编译失败B.输出0.0C.输出-0.0D.代码编译成功,但运行时输出异常信息5."以下代码的运行结果是什么?public class Example {public static void main(String[] args) {double d1 = -0.5;System.out.println(""Ceil d1="" + Math.ceil(d1));System.out.println(""Floor d1="" + Math.floor(d1));}}"答案:BA.输出Ceil d1=-0.0 Floor d1=-1.0B.输出Ceil d1=0.0 Floor d1=-1.0C.输出Ceil d1=-0.0 Floor d1=-0.0D.输出Ceil d1=0.0 Floor d1=0.06."给出以下代码,为了结果输出-12.0,方法method(d)应为以下哪个方法?public class Example {public static void main(String[] args) {double d = -11.1;double d1 = method(d);System.out.println(d1);}}"答案: AA.floor()B.ceil()C.round()D.abs()7."给出以下代码,请问在程序的第6行插入那条语句,改程序可依次打印输出11、10、9?1.public class Example {2. public static void main(String[] args) {3. double x[] = { 10.2, 9.1, 8.7 };4. int i[] = new int[3];5. for (int a = 0; a < x.length; a++) {6.7. System.out.println(i[a]);8. }9. }10.}"答案:CA.i[1] = ((int)Math.min(x[a]));B.i[1] = ((int)Math.max(x[a]));C.i[1] = ((int)Math.ceil(x[a]));D.i[1] = ((int)Math.floor(x[a]));8.下列哪些项是泛型的优点?答案:AA.不用向下强制类型转换B.代码容易编写C.类型安全D.运行速度快9.以下哪些是Collection接口的子接口?答案:BDA.DictionaryB.ListC.MapD.Set10.以下哪些集合接口支持重复元素存在?答案:BA.CollectionB.ListC.MapD.Set11.以下说法正确的是()答案:A.RandomAccessFile类是File类的子类B.FileWriter类提供有操作基本数据类型的方法C.RandomAccessFile类提供有删除磁盘文件的方法D.File类提供有删除磁盘文件的方法12.List接口的特点是哪项?答案:CA.不允许重复元素,元素有顺序B.允许重复元素,元素无顺序C.允许重复元素,元素有顺序D.不允许重复元素,元素无顺序13."以下代码的输出结果是什么?选择所有的正确答案。
JavaSe内部测试笔习题

精心整理《JavaSE》结课笔试注意:1、考试时间120分钟;2、请将答案填写到答题纸上;1、面向对象编程的三大特性是()2、3、4、C)default D)protected5、以下哪种类成员修饰符可以在不同包的子类中访问()A)static B)privateC)default D)protected6、Java语言中哪个包是被自动导入的()A)java.util B)ngC)java.default D)java.io7、以下程序代码中,如何使属性foo可以在方法bar中被直接访问()classTest{publicfloatfoo;8、9、publicstaticvoidmain(Stringargs[]){Strings1="Helloworld";Strings2="Hello";s2=s2+"world";}}A)true B)falseC)编译错误D)Helloworld10、在Java中,如果父类中的某些方法不包含任何逻辑,并且需要由子类重写,11、12、B)数组的元素可以是基本型、引用型或其它数组C)定义数组的同时必须分配内存空间D)一个数组中的所有值必须是相同类型13、下面关于接口说法不正确的是()A)接口的所有方法都是抽象的B)接口所有的方法一定都是public的C)用于定义接口的关键字是implements D)接口是一组行为的集合14、为了区分类中重载的同名不同方法,要求()A)参数的类型或个数不同B)使用不同的参数名C)修改访问权限D)方法返回值数据类型不同15、如果子类覆盖了父类的一个public方法,则此方法在子类中可以使用什么修16、17、}finally{System.exit(0);//程序中止}}}A)testB)finallyC)testfianlly18、C)ArithmeticExceptionD)ArithmeticException和ArrayIndexOutOfBoundsException19、关于异常,下列描述正确的是()A)try代码段和其后跟随的catch代码段之间可以有间隔代码B)每个catch代码段声明其能处理的一种特定类型的异常C)finally代码段在异常出现的情况下不被执行D)finally代码段中不可以有try和catch代码段//X20、关于日期时间说法正确的是()A)类无法表示1970年1月1日00:00:00之前的时间B)要得到日历类的实例,我们唯一的做法是newGregorianCalendar()21、22、23、B)对内容有序的List可以进行二分法查找C)调用indexOf方法查找D)无论是否有序都可以用二分法查找,比线性查找快很多24、如果要按照特定顺序保存元素,应当使用的容器是()A)HashMap B)ArrayListC)JFrame D)TreeSet25、有一个名为myList的ArrayList实例,取得其最后一个元素的方法是()A)myList.get(0); B)myList.get(st());C)myList.get(myList.size()); D)myList.get(myList.size()-1);26、有一个名为myList的ArrayList实例,调用mylist.get(0)的结果是()27、28、returna+2;}publicstaticvoidmain(String[]args){Bb=newB();}}A)编译错误B)运行错误C)1 D)229、当编译并运行下面程序时会出现什么结果()publicclassMyAr{30、31、C)URL和URLConnection D)DNS和HTTPStream32、当编译并运行下面程序时会发生什么结果()publicclassBgroundextendsThread{ publicstaticvoidmain(Stringargv[]){ Bgroundb=newBground();b.run();//start}publicvoidstart(){for(inti=0;i<10;i++){}}}33、ABC、a9897.098D、a98979834、将对象序列化,要实现哪个接口()A)Cloneable B)RunnableC)Serializable D)Comparator35、有以下Java程序代码,运行结果是()publicclassTest{publicstaticStringoutput="";//134publicstaticvoidfoo(inti){try{foo(0);foo(1);}}A)1342 B)123C)134234 D)1342336、在JAVA中,()接口位于集合框架的顶层A)Collection B)CollectionsC)Map D)Set37、启动一个线程,应调用什么方法()38、39、ABCD40、C.JAVA可以多继承D.JAVA的单一继承避免了菱形继承的危险41、下面哪些接口直接继承自Collection接口()(多选)A.ListB.MapC.SetD.Iterator42、研究下面的JAVA代码,输出结果将是()publicclassTestException{publicstaticvoidmain(String[]args){ inta[]={0,1,2,3,4};intsum=0;C.数组下标越界程序结束D.程序结束43、研究下面的JAVA代码,输出结果将是()publicclassTestException{publicstaticvoidmain(String[]args){try{System.exit(0);}finally{}}44、}A.s:cbathis.s:nbas:cbathis.s:nbaB.s:nbathis.s:nbas:nbathis.s:nbaC.s:cbathis.s:nbas:cbathis.s:cbaD.s:nbathis.s:cbas:cbathis.s:cba45、关于sleep和wait方法,下列说法不正确的是()(多选)A.sleep必须使用在同步方法中B.使用wait方法后,线程需要被通知唤醒C.wait方法用于线程之间的通讯D.wait是Thread类的方法46、D47、}}A、用来调用类B中定义的super()方法B、用来调用类C中定义的super()方法C、用来调用类B中的无参构造方法D、用来调用类B中第一个出现的构造方法48、关于线程,以下说法正确的是()(多选)A.sleep方法执行时会释放对象锁。
精选最新2020年JAVASE综合考核题库完整版188题(含标准答案)

2020年JAVASE综合考试试题库188题[含答案]一、选择题1.表示键值对概念的接口是哪项?答案:DA.SetB.ListC.CollectionD.Map2.定义在Math类上的round(double d)方法的返回值类型是什么?答案:A.charB.intC.longD.double3.以下哪个方法用于计算平方根?答案:BA.squareRoot()B.sqrt()C.root()D.sqr()4."以下代码的输出结果是什么?public class Example {public static void main(String[] args) {System.out.println(Math.round(Float.MAX_V ALUE));}}"答案:BA.输出Integer.MAX_V ALUEB.输出一个最接近Float.MAX_V ALUE的整数C.编译失败D.运行时输出异常信息5."以下代码的运行结果是什么?public class Example {public static void main(String[] args) {System.out.println(Math.min(0.0, -0.0));}}"答案:CA.代码编译失败B.输出0.0C.输出-0.0D.代码编译成功,但运行时输出异常信息6."以下代码的运行结果是什么?public class Example {public static void main(String[] args) {double d1 = -0.5;System.out.println(""Ceil d1="" + Math.ceil(d1));System.out.println(""Floor d1="" + Math.floor(d1));}}"答案:BA.输出Ceil d1=-0.0 Floor d1=-1.0B.输出Ceil d1=0.0 Floor d1=-1.0C.输出Ceil d1=-0.0 Floor d1=-0.0D.输出Ceil d1=0.0 Floor d1=0.07."给出以下代码,请问在程序的第6行插入那条语句,改程序可依次打印输出11、10、9?1.public class Example {2. public static void main(String[] args) {3. double x[] = { 10.2, 9.1, 8.7 };4. int i[] = new int[3];5. for (int a = 0; a < x.length; a++) {6.7. System.out.println(i[a]);8. }9. }10.}"答案:CA.i[1] = ((int)Math.min(x[a]));B.i[1] = ((int)Math.max(x[a]));C.i[1] = ((int)Math.ceil(x[a]));D.i[1] = ((int)Math.floor(x[a]));8."以下代码执行结果是?public class Example {public static void main(String[] args) {System.out.println(Math.min(Float.NaN, Float.POSITIVE_INFINITY)); }}"答案:AA.输出NaNB.打印输出InfinityC.运行时异常,因为NaN不是有效的参数D.运行时异常,因为Infinity不是有效的参数9.下列哪些项是泛型的优点?答案:AA.不用向下强制类型转换B.代码容易编写C.类型安全D.运行速度快10.以下哪些是Collection接口的子接口?答案:BDA.DictionaryB.ListC.MapD.Set11.以下哪些类提供了创建一个目录的方法?答案:AA.FileB.DataOutputC.DirectoryD.FileDescriptor12.以下哪些集合接口支持重复元素存在?答案:BA.CollectionB.ListC.MapD.Set13."下列代码的执行结果是?class Example {private void method1() throws Exception {throw new RuntimeException();}public void method2() {try {method1();} catch (RuntimeException e) {System.out.println(""Caught Runtime Exception"");} catch (Exception e) {System.out.println(""Caught Exception"");}}public static void main(String[] args) throws IOException {Example a = new Example();a.method2();}}"答案:A.代码编译失败B.输出Caught Runtime ExceptionC.输出Caught ExceptionD.输出Caught Runtime Exception和Caught Exception14.List接口的特点是哪项?答案:CA.不允许重复元素,元素有顺序B.允许重复元素,元素无顺序C.允许重复元素,元素有顺序D.不允许重复元素,元素无顺序15.欲构造ArrayList类继承了List接口,下列哪个方法是正确的?答案:BA.ArrayList myList=new Object()B. List myList=new ArrayList()C.ArrayList myList=new List()D.List myList=new List()16.创建一个只能存放String的泛型ArrayList的语句是哪项?A.ArrayList<int> al = new ArrayList<int>();B.ArrayList<String> al = new ArrayList<String>();C.ArrayList al = new ArrayList<String>();D.ArrayList<String> al = new List<String>();17."下列代码执行后的输出是哪项?public class Example {public static void main(String[] args) {List<String> al = new ArrayList<String>();al.add(""1"");al.add(""2"");al.add(""2"");al.add(""3"");System.out.println(al);}}"答案:A.[1,2,3]B.[1,2,3,3]C.[1,2,2,3]D.[2,1,3,2]18."现有:public class Example {public static void main(String[] args) {TreeSet<String> s = new TreeSet<String>();s.add(""one"");s.add(""two"");// 插入代码处for (String s2 : sorted) {System.out.print(s2 + "" "");}}}和四个代码片段:s1:SortedSet sorted = s.tailSet(s.first());s2:SortedSet<String> sorted = s.tailSet(s.first());s3:SortedSet sorted = (SortedSet)s.tailSet(s.first());s4:SortedSet sorted = (SortSet<String>)s.tailSet(s.first()); 分别插入到插入代码处,哪项可以编译?"A.S2B.S2和S3C.S2和S4D.S2、S3和S419.以下哪些语句用于创建一个Map实例?答案: DA.Map m = new Map();B.Map m = new Map(init capacity,increment capacity);C.Map m = new Map(new Collection());D.以上都不对20."以下代码执行结果是?public class Example {public static void main(String[] args) {TreeMap<String, String> map = new TreeMap<String, String>(); map.put(""one"", ""1"");map.put(""two"", ""2"");map.put(""three"", ""3"");displayMap(map);}static void displayMap(TreeMap map) {Collection<String> c = map.entrySet();Iterator<String> i = c.iterator();while (i.hasNext()) {Object o = i.next();System.out.print(o.toString());}}}"答案:A.onetwothreeB.123C.one=1three=3two=2D.onethreetwo21."现有如下类型:a - java.util.Hashtableb - java.util.Listc - java.util.ArrayListd - java.util.SortedSet和定义:1-使用本接口,允许用户控制集合中每个元素的插入位置2-使用本集合,确保用户可以按照递增或元素的自然顺序遍历集合3-本具体类型允许空元素及基于索引的访问4-本集合是同步的哪一组匹配是对的?"答案:A.2描述d,3描述bB.1描述b,3描述cC.3描述a,4描述bD.4描述a,2描述c22."对以下两个代码片段说法正确的是?代码片段1:int a = 3;int b = 0;int c = a / b;代码片段2:float a = 3.0f;float b = 0.0f;float c = a / b;"答案:CA.执行两端代码都会抛出异常B.执行两段代码都无异常抛出C.执行两段代码,只有代码片段1抛出异常D.执行两段代码,只有代码片段2抛出异常23.以下哪些有关Vector类的描述是正确的?答案:CA.该类是个public类B.该类是个final类C.该类实现了List接口D.该类可以序列化24."现有代码如下:public class Example {void topGo() {try {middleGo();} catch (Exception e) {System.out.println(""catch"");}}void middleGo() throws Exception {go();System.out.println(""late middle"");}void go() throws Exception {throw new Exception();}public static void main(String[] args) {Example example = new Example();example.topGo();}}该代码的执行结果是?"答案:BA.输出late middleB.输出catchC.输出late middle catchD.输出catch late middle25.以下哪个关于Runnable的描述是正确的?答案:A.Runnable是Java语言的一个关键字,用于修饰类,来表明该类是一个独立线程B.Runnable是一个接口,实现该接口的类对象可以提供给Thread类构造器作为创建线程的依据C.Runnable是一个类,继承该类的子类可以作为独立的线程存在D.以上皆不对26."现有如下代码:public class Example extends Utils{public static void main(String[] args) {try {System.out.println(new Example().getInt(""42""));} catch (NumberFormatException e) {System.out.println(""NFExc"");}}int getInt(String arg) throws NumberFormatException{return Integer.parseInt(arg);}}class Utils {int getInt(String arg) {return 42;}}该代码执行的结果是?"答案:BA.NFExcB.42C.42NFExcD.编译失败27.关于异常处理,说法错误的是?答案:CA.try…catch…finally结构中,必须有try语句块,catch语句块和finally语句块不是必须的,但至少要两者取其一B.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch 中的参数类型有父类子类关系,此时应该将子类放在后面,父类放在前面C.一个方法可以抛出多个异常,方法的返回值也能够是异常D.Throwable是所有异常的超类28."关于以下代码,说法正确的是?class Example {public static void main(String[] args) throws IOException {System.out.println(""Before Try"");try {} catch (Throwable e) {System.out.println(""Inside Catch"");}System.out.println(""At the End"");}}"答案:BA.代码编译失败,因为无异常抛出B.代码编译失败,因为未导入IOException异常类C."输出Before TryAt the End"D."输出Inside CatchAt the End"29.关于try…catch…finally结构,描述正确的是些?答案:ACA.可以有多个catchB.只能有一个catchC.可以没有catchD.finally必须有30."当fragile()方法抛出一个IllegalArgumentException异常时,下列代码的运行结果是什么?public static void main(String[] args) throws IOException {try {fragile();} catch (NullPointerException e) {System.out.println(""NullPointerException thrown"");} catch (Exception e) {System.out.println(""Exception thrown"");} finally {System.out.println(""Done with exceptions"");}System.out.println(""myMethod is done"");}}"答案:A.输出NullPointerException thrownB.输出Exception thrownC.输出Done with ExceptionD.输出myMethod is done31."下列代码的执行结果是?class Example {public static void main(String[] args) throws IOException {int i = 1, j = 1;try {i++;j--;if (i == j) {j++;}} catch (ArithmeticException e) {System.out.println(0);} catch (ArrayIndexOutOfBoundsException e) {System.out.println(1);} catch (Exception e) {System.out.println(2);} finally {System.out.println(3);}System.out.println(4);}}"答案:CDA.输出1B.输出2C.输出3D.输出432.以下哪些描述是正确的?答案:CDA.try语句块后必须至少存在一个catch语句块B.try语句块后可以存在不限数量的finally语句块C.try语句块后必须至少存在一个catch语句块或finally语句块D.如果catch和finally语句块同时存在,则catch语句块必须位于finally语句块前33."请问以下代码的直接执行结果是?class Example{public static void main(String[] args) {try {System.out.println(args[0]);System.out.println(""I'm nomal"");if (true)return;} catch (Exception ex) {System.out.println(""I'm exception"");if (true)return;} finally {System.out.println(""I'm finally."");}System.out.println(""Out of try."");}}"答案:AA."I'm exceptionI'm finally."B.代码不能编译通过,因为最后一条语句位于return后,不可到达C.代码编译通过,但运行时输出异常信息D."I'm nomalI'm finally."34.以下哪个方法是Math类中定义的?答案:A.absolute()B.log()C.cosine()D.sine()35.假设有自定义异常类ServiceException,那么抛出该异常的语句正确的是哪项?答案:CA.raise ServiceExceptionB.throw new ServiceException()C.throw ServiceExceptionD.throws ServiceException36."以下代码的输出结果是什么?选择所有的正确答案。
JAVA习题(JAVASE)

JAVA习题一、选择题1.下列哪一种叙述是正确的()A. abstract修饰符可修饰字段、方法和类B.抽象方法的body部分必须用一对大括号{ }包住C.声明抽象方法,大括号可有可无D.声明抽象方法不可写出大括号2.如下代码public class Test {public int aMethod() {static int i = 0; //方法体内不能定义全局变量。
i++;return i;}public static void main (String args[]) {Test test = new Test();test.aMethod();int j = test.aMethod();System.out.println(j);}}输出结果是什么?A. 0B. 1C. 2D. 编译失败3.下列哪种说法是正确的()A.实例方法可直接调用超类的实例方法//私有和子类重写的方法B.实例方法可直接调用超类的类方法//私有精选文库C.实例方法可直接调用其他类的实例方法D.实例方法可直接调用本类的类方法4.如下代码:class Super {public Integer getLenght() { return new Integer(4); }}public class Sub extends Super {public Long getLenght() { return new Long(5); }public static void main(String[] args) {Super sooper = new Super();Sub sub = new Sub();System.out.println(sooper.getLenght().toString() + "," +sub.getLenght().toString() );}}输出是什么?A. 4,4B. 4,5C. 5,4D. 5,5E. 编译失败 //继承重写方法后的返回类型错误5.如下代码10. public Object m() {11. Object o = new Float(3.14F);12. Object [] oa = new Object[1];13. oa[0] = o;14. o = null;15. oa[0] = null;16. print 'return 0';17. }当Float对象在第11行被创建后, 什么时候能够被垃圾回收?A. 13行以后.B. 14行以后.C. 15行以后.D. 16行以后.6.如下代码:class Base {Base() { System.out.print("Base"); }}public class Alpha extends Base {public static void main( String[] args ) {new Alpha(); -----调用父类无参的构造方法new Base();}}结果是什么?A. BaseB. BaseBaseC. 编译失败.D. 代码运行但没有输出.E. 运行时抛出异常7.以下关于异常的说法正确的是:A. 一旦出现异常,程序运行就终止了B. 如果一个方法申明将抛出某个异常,它就必须真的抛出那个异常C. 在catch子句中匹配异常是一种精确匹配D. 可能抛出系统异常的方法是不需要申明异常的8.如下代码:public class Foo {public static void main(String[] args) {try {return;} finally {System.out.println( "Finally" );}}}输出结果是什么?A. FinallyB.编译失败C. 代码正常运行但没有任何输出.D. 运行时抛出异常9.在一个线程中Sleep(1000)方法,将使得该线程在多少时间后获得对CPU的控制(假设睡眠过程中不会有其他事件唤醒该线程)?A. 正好1000毫秒B. 1000毫秒不到C. =>1000毫秒D. 不一定10.下面的语句会产生什么样的输出?System.out.println(4&7);A.4 4二进制 0100B.5 7二进制 0111C.6 4&7二进制 0100D.7E.011.下面的程序中,temp的最终值是什么?long temp=(int)3.9; //temp=3temp%=2;A .0B .1C .2D .3E .412.下面哪个不是JAVA关键字A integer intB doubleC floatD default13.下列标识符(名字)命名原则中,正确的是( )A. 类名的首字母小写B. 变量和方法名的首写字母大写C. 接口名的首写字母小写D.常量完全大写14.类Test1定义如下:1.public class Test1{2. public float aMethod(float a,float b){ return 0;}3.4.}将以下哪种方法插入行3是不合法的。
最新版精选2020年JAVASE综合完整题库188题(含参考答案)

} finally {
++i;
}
} catch (Exception outer) {
i += 3;
} finally {
--i;
}
}
}
}"
答案:
A.4
B.5
C.6
D.7
4.Java语言中异常的分类是哪项?
答案:
A.运行时异常和异常
B.受检异常和非受检异常
class Example {
public static void main(String[] args) throws IOException {
try {
test();
System.out.println(""Message1"");
} catch (ArrayIndexOutOfBoundsException e) {
答案:C
A.该类是个public类
2020年JAVASE综合考试试题库188题[含答案]
一、选择题
1.以下哪些是Collection接口的子接口?
答案:BD
A.Dictionary
B.List
C.Map
D.Set
2."下列代码的执行结果是?
class Example {
private void method1() throws Exception {
C.错误和异常
D.错误和运行时异常
5.下列关于Math类说法错误的是
答案:
ng.Math类是final类,因此不能被其他类继承
精选新版JAVASE综合完整题库188题(含标准答案)

2020年JAVASE综合考试试题库188题[含答案]一、选择题1."下列代码执行后的输出是哪项?public class Example {public static void main(String[] args) {List<String> al = new ArrayList<String>();al.add(""1"");al.add(""2"");al.add(""2"");al.add(""3"");System.out.println(al);}}"答案:A.[1,2,3]B.[1,2,3,3]C.[1,2,2,3]D.[2,1,3,2]2.调用Math.random()方法最有可能输出以下哪些结果?答案:DA.-0.12和0.56E3B.0.12和1.1E1C.-23.45和0.0D.0.356和0.033."以下代码的运行结果是什么?public class Example {public static void main(String[] args) {System.out.println(Math.min(0.0, -0.0));}}"答案:CA.代码编译失败B.输出0.0C.输出-0.0D.代码编译成功,但运行时输出异常信息4."以下代码的运行结果是什么?public class Example {public static void main(String[] args) {double d1 = -0.5;System.out.println(""Ceil d1="" + Math.ceil(d1));System.out.println(""Floor d1="" + Math.floor(d1));}}"答案:BA.输出Ceil d1=-0.0 Floor d1=-1.0B.输出Ceil d1=0.0 Floor d1=-1.0C.输出Ceil d1=-0.0 Floor d1=-0.0D.输出Ceil d1=0.0 Floor d1=0.05."给出以下代码,请问在程序的第6行插入那条语句,改程序可依次打印输出11、10、9?1.public class Example {2. public static void main(String[] args) {3. double x[] = { 10.2, 9.1, 8.7 };4. int i[] = new int[3];5. for (int a = 0; a < x.length; a++) {6.7. System.out.println(i[a]);8. }9. }10.}"答案:CA.i[1] = ((int)Math.min(x[a]));B.i[1] = ((int)Math.max(x[a]));C.i[1] = ((int)Math.ceil(x[a]));D.i[1] = ((int)Math.floor(x[a]));6."以下代码执行结果是?public class Example {public static void main(String[] args) {System.out.println(Math.min(Float.NaN, Float.POSITIVE_INFINITY));}}"答案:AA.输出NaNB.打印输出InfinityC.运行时异常,因为NaN不是有效的参数D.运行时异常,因为Infinity不是有效的参数7.下列哪些项是泛型的优点?答案:AA.不用向下强制类型转换B.代码容易编写C.类型安全D.运行速度快8.以下哪些是Collection接口的子接口?答案:BDA.DictionaryB.ListC.MapD.Set9.以下哪些有关Vector类的描述是正确的?答案:CA.该类是个public类B.该类是个final类C.该类实现了List接口D.该类可以序列化10.表示键值对概念的接口是哪项?答案:DA.SetB.ListC.CollectionD.Map11.现有int x = reader.read(),下列哪一项正确?答案:A.reader不是FileReader或者BufferedReader类型B.reader可以使FileReader或者BufferedReaderC.reader可以使FileReader类型,但不能使BufferedReader类型D.reader可以使BufferedReader类型,但不能使FileReader类型12.创建一个只能存放String的泛型ArrayList的语句是哪项?答案:BA.ArrayList<int> al = new ArrayList<int>();B.ArrayList<String> al = new ArrayList<String>();C.ArrayList al = new ArrayList<String>();D.ArrayList<String> al = new List<String>();13.以下哪个方法是Math类中定义的?答案:A.absolute()B.log()C.cosine()D.sine()14."现有:list是一个合法的集合引用getCollection()返回一个合法集合的引用,以下语句哪些是合法的?" 答案:CA.for(Object o : list)B.for(Object o : getCollection())C.for(Object o : list.iterator())D.for(Iterator I;list.iterator();i.hasNext())15."以下代码的执行结果是?public class Example {public static void main(String[] args) {TreeSet<String> t = new TreeSet<String>();if (t.add(""one""))if (t.add(""two""))if (t.add(""three""))t.add(""four"");for (String s : t) {System.out.print(s);}}}"答案:DA.oneB.onethreetwoC.onetwothreefourD.fouronethreetwo16."现有:public class Example {public static void main(String[] args) {TreeSet<String> s = new TreeSet<String>();s.add(""one"");s.add(""two"");// 插入代码处for (String s2 : sorted) {System.out.print(s2 + "" "");}}}和四个代码片段:s1:SortedSet sorted = s.tailSet(s.first());s2:SortedSet<String> sorted = s.tailSet(s.first());s3:SortedSet sorted = (SortedSet)s.tailSet(s.first());s4:SortedSet sorted = (SortSet<String>)s.tailSet(s.first());分别插入到插入代码处,哪项可以编译?"答案:A.S2B.S2和S3C.S2和S4D.S2、S3和S417.以下哪些语句用于创建一个Map实例?答案: DA.Map m = new Map();B.Map m = new Map(init capacity,increment capacity);C.Map m = new Map(new Collection());D.以上都不对18."现有如下类型:a - java.util.Hashtableb - java.util.Listc - java.util.ArrayListd - java.util.SortedSet和定义:1-使用本接口,允许用户控制集合中每个元素的插入位置2-使用本集合,确保用户可以按照递增或元素的自然顺序遍历集合3-本具体类型允许空元素及基于索引的访问4-本集合是同步的哪一组匹配是对的?"答案:A.2描述d,3描述bB.1描述b,3描述cC.3描述a,4描述bD.4描述a,2描述c19."现有:public class Example {public static void main(String[] args) {//插入代码处c.put(""X"", 123);}}下列哪些插入到插入代码处能够正常编译?"答案:A.Map c = new SortedMap();B.HashMap c = new HashMap();C.SortedMap c = new TreeMap();D.Map c = new LinkedHashMap();20.以下哪些类提供了创建一个目录的方法?答案:AA.FileB.DataOutputC.DirectoryD.FileDescriptor21."以下代码的执行结果是?public class Example {public static void main(String[] args) {File f = new File(""c:\\large.txt"");}}"答案:rge.txt文件在本地硬盘上被创建B.在Unix系统上运行失败,因为路径分割符不正确rge.txt文件在本地硬盘上没有被创建D.如果large.txt文件已经存在,则一个异常被抛出22."现有如下代码:public class Example {public static void main(String[] args) {try {int x=Integer.parseInt(""42a"");//插入代码处System.out.println(""oops"");}}}在插入代码处插入哪些语句可以在运行后输出oops?"答案:CA. } catch (IllegalArgumentException e) { (非法参数异常)B.} catch (IllegalStateException c) {C. } catch (NumbelFormatException n) {D.} catch (ClassCastException c) {23.欲构造ArrayList类继承了List接口,下列哪个方法是正确的?答案:BA.ArrayList myList=new Object()B. List myList=new ArrayList()C.ArrayList myList=new List()D.List myList=new List()24."关于以下代码,说法正确的是?class Example {public static void main(String[] args) throws IOException {System.out.println(""Before Try"");try {} catch (java.io.IOException e) {System.out.println(""Inside Catch"");}System.out.println(""At the End"");}}"答案:A.代码编译失败,因为无异常抛出B.代码编译失败,因为未导入IOException异常类C."输出Before TryAt the End"D."输出Inside CatchAt the End"25.以下哪些方法在Class类中定义?答案:A.getConstructors()B.getPrivateMethods()C.getDeclaredFields()D.getImports()26.以下哪些是catch语句能够捕获处理的异常?答案:ACA.ThrowableB.ErrorC.ExceptionD.String27."请问以下代码的直接执行结果是?class Example{public static void main(String[] args) {try {System.out.println(args[0]);System.out.println(""I'm nomal"");if (true)return;} catch (Exception ex) {System.out.println(""I'm exception"");if (true)return;} finally {System.out.println(""I'm finally."");}System.out.println(""Out of try."");}}"答案:AA."I'm exceptionI'm finally."B.代码不能编译通过,因为最后一条语句位于return后,不可到达C.代码编译通过,但运行时输出异常信息D."I'm nomalI'm finally."28."下列代码的运行结果是?class Example {public static void main(String[] args) throws IOException {try {return;} finally{System.out.println(""Finally"");}}}"答案:BA.无内容输出B.输出FinallyC.代码编译失败D.输出异常信息29.假设有自定义异常类ServiceException,那么抛出该异常的语句正确的是哪项?答案:CA.raise ServiceExceptionB.throw new ServiceException()C.throw ServiceExceptionD.throws ServiceException30.在方法声明中,说明该方法可能会抛出的异常列表时使用哪个关键字?答案:DA.throwB.catchC.finallyD.throws31."如下代码执行后的输出结果是?public class Example {public static void main(String[] args) {try {throw new Exception();} catch (Exception e) {try {throw new Exception();} catch (Exception e2) {System.out.println(""inner"");}System.out.println(""middle"");}System.out.println(""out"");}}"答案:DA.inner outerB.middle outerC.inner middle outerD.编译失败32."现有如下代码:public class Example {public static void main(String[] args) {// anew Example().topGo();}void topGo() {// bmiddleGo();}void middleGo() {// cgo();System.out.println(""late middle"");}void go() {// dthrow new Exception();}}为了使代码能够编译通过,需要在哪个地方加入声明throws Exception?" 答案:BA.dB.c和dC.b、c和dD.a、b、c和d33."下面代码的执行结果是?class Example extends Utils {public static void main(String[] args) {try {System.out.print(new Example().getlnt(""42""));} catch (Exception e) {System.out.println(""Exc"");}}int getlnt(String arg) throws Exception {return Integer.parseInt(arg);}}class Utils {int getlnt() {return 42;}}"答案:BA.NFExcB.42C.42NFExcD.编译失败34.以下哪个方法用于计算平方根?答案:BA.squareRoot()B.sqrt()C.root()D.sqr()35."关于以下代码,说法正确的是?class Example{public static void main(String[] args) throws IOException {if (args[0] == ""hello"") {throw new IOException();}}}"答案:AA.代码编译成功B.代码编译失败,因为main()方法是入口方法,不能抛出异常C.代码编译失败,因为IOException异常是系统异常,不能由应用程序抛出D.代码编译失败,因为字符串应该用equals方法判定一致性36.定义在Math类上的round(double d)方法的返回值类型是什么?答案:A.charB.intC.longD.double37."给出以下代码:class Example {public static void main(String[] args) throws IOException {try {methodA();} catch (IOException e) {System.out.println(""caught IOException"");}catch (Exception e) {System.out.println(""caught Exception"");}}}如果methodA()方法抛出一个IOException异常,则该程序的运行结果是什么?" 答案:A.无内容输出B.代码编译失败C.输出caught IOExceptionD.输出caught Exception38."给出以下代码,执行结果是?class Example {public static void main(String[] args) throws IOException {aMethod();}static void aMethod(){try {System.out.println(""Try"");return;} catch (Exception e) {System.out.println(""Catch"");}finally{System.out.println(""Finally"");}}"答案:A.代码编译成功,但运行期间抛出异常B.代码便以失败,因为return语句错误C.输出Try和FinallyD.输出Try39."以下代码中,如果test()方法抛出一个NullPointException异常时,打印输出什么内容?class Example {public static void main(String[] args) throws IOException {try {test();System.out.println(""Message1"");} catch (ArrayIndexOutOfBoundsException e) {System.out.println(""Message2"");}finally{System.out.println(""Message3"");}}}"答案:A.打印输出Message1B.打印输出Message2C.打印输出Message3D.以上都不对40."以下代码执行结果是什么?class Example {public static String output = """";public static void foo(int i) {try {if (i == 1) {throw new Exception();}output += ""1"";} catch (Exception e) {output += ""2"";return;} finally {output += ""3"";output += ""4"";}public static void main(String[] args) throws IOException {foo(0);foo(1);System.out.println(output);}}"答案:A.无内容输出B.代码编译失败C.输出13423D.输出1432341."以下代码执行结果是?public abstract class Example extends Base {public abstract void method();}class Base {public Base() throws IOException {throw new IOException();}}"答案:A.代码编译失败,因为非抽象类不能被扩展为抽象类B.代码编译失败,因为必须提供一个可以抛出或可以不抛出IOException异常的构造器C.代码编译失败,以in为必须提供一个可以抛出IOException异常或其子类的构造器D.代码编译成功42."关于以下代码正确的说法是:1.public class Example {2. int x = 0;3.4. public Example(int inVal) throws Exception {5. if (inVal != this.x) {6. throw new Exception(""Invalid input"");7. }8. }9.10. public static void main(String[] args) {11. Example t = new Example(4);12. }13.}"答案:A.代码在第1行编译错误B.代码在第4行编译错误C.代码在第6行编译错误D.代码在第11行编译错误43."现有如下代码:public class Example {public static void main(String[] args) {try {System.out.println(""before"");doRisyThing();System.out.println(""after"");} catch (Exception e) {System.out.println(""catch"");}System.out.println(""done"");}public static void doRisyThing() throws Exception{ //this code returns unless it throws an Exception }}该代码可能的执行结果有哪些?"答案:A.before catchB.before after doneC.before catch doneD.before after catch44.Java语言中异常的分类是哪项?答案:A.运行时异常和异常B.受检异常和非受检异常C.错误和异常D.错误和运行时异常45.下列关于Math类说法错误的是ng.Math类是final类,因此不能被其他类继承ng.Math类的构造器是私有的,即声明为private,不能实例化一个Math类的对象ng.Math类上定义的所有常量和方法均是public和static的,因此可以直接通过类名调用D.min()和max()方法的参数之一,如果是NaN值,则方法将返回另一个参数值46."现有:String s = ""write a line to a file"";w.print(s + ""\n"");哪一个是对的?"答案:A.w既可以是PrintWriter类型,也可以是BufferedWriter类型B.w既不可以是PrintWriter类型,也不可以是BufferedWriter类型C.w可以是PrintWriter类型,但不可以是BufferedWriter类型D.w既可以是BufferedWriter类型,也可以是PrintWriter类型47.请问以下哪些关于try…catch…finally结构中的finally语句的描述是正确的?答案:CA.只有当一个catch语句获得执行后,finally语句才获得执行B.只有当catch语句未获得执行时,finally语句才获得执行C.如果有finally语句,return语句将在finally语句执行完毕后才会返回D.只有当异常抛出时,finally语句才获得执行48.以下哪个语句用于获取数组中的元素个数?答案:AA.intArray.size();B.intArray.size();C.intArray.length;D.intArray.length();49."下列代码在JDK1.5以上版本执行的结果是?public class Example {public static void main(String[] args) {Integer i = 10;Integer j = 10;System.out.println(i == j);i = 210;j = 210;System.out.println(i == j); (超过-128~127为false)}答案:BA.抛出异常B.输出true falseC.输出true trueD.输出false false50.数组是什么类型?答案:AA.引用类型B.基本数据类型C.不能确定D.其他类型51.下面哪条语句不正确?答案:AA.int[4] a;B.int a[];C.int[] a;D.int[] a,b;52.下面哪条语句不正确?答案:CA.int[] a={1,2,3};B.int a[]=new int[4];C.int[] a=new int[];D.int[] a=new int[]{2,3,4};53.存在Employee类,如何创建一个长度为3的Employee类型数组?答案:BA.Employee[3] e;B.Employee[] e=new Employee[3];C.Employee e[3];D.Employee[3] e=new Employee[];54.以下那种初始化数组的方式是错误的?答案:CA.String[] names = {"zhang","wang","li"};B."String names[] = new String[3];names[2] = ""li"";names[0] = ""zhang"";names[1] = ""wang"";"C.String[3] names = {"zhang","wang","li"};D.以上写法都正确55.以下哪些是声明一个字符串数组的正确形式?答案:ABDA.String[] s;B.String []s;C.Sting [s]D.String s[]56.以下哪些语句正确?答案:ADA.double snow[] = new double[31];B.double snow[31] = new array[31];C.double snow[31] = new array;D.double[] snow = new double[31];57.假设存在数组a,如何获得a的长度?答案:CA.a.length()B.a.len()C.a.lengthD.a.len58."现有:f是一个File类实例的合法引用fr是一个FileReader类实例的合法引用br是一个BufferedReader类实例的合法引用如下代码:String line = null;//插入代码处System.out.println(line);}哪一行代码插入到插入代码处将循环一次输出文本文件的一行?" 答案:A.while((line = f.read())!=null){B.while((line = fr.read())!=null){C.while((line = br.read())!=null){D.while((line = br.readLine())!=null){59."以下代码运行输出的结果是什么?public class Example {public static void main(String[] args) {char[] c = new char[100];System.out.println(c[50]);}}"答案:DA.打印输出50B.打印输出49C.打印输出\u0000D.打印输出null60."public class TestReplace {public static void stringReplace(String text){text=text.replace('j', 'i');}public static void bufferReplace(StringBuffer text){ text=text.append(""C"");}public static void main(String[] args){String textString=new String(""java""); StringBuffer bufferString=new StringBuffer(""java"");stringReplace(textString);bufferReplace(bufferString);System.out.println(textString+bufferString);}}运行结果是?"答案:AA.javajavaCB.javaCjavaCC.javajavaD.javajavaCjava61."下列代码的执行结果是什么?public class Example {public static void main(String[] args) {int index = 1;int[] foo = new int[3];int bar = foo[index];int baz = bar + index;System.out.println(baz);}}"答案:BA.打印输出0B.打印输出1C.打印输出2D.运行期间有异常抛出62."给出下面代码:public class Example{static int arr[] = new int[10];public static void main(String a[]){System.out.println(arr[1]);}}那个语句是正确的?"答案:DA.编译时将产生错误B.编译时正确,运行时将产生错误C.输出0D.输出null63.从InputStream对象中如何创建一个Reader对象?答案:A.使用InputStream类中定义的createReader()方法B.吃用Reader类中的createReader()方法C.构造一个InputStreamReader实例,将InputStream对象作为InputStreamReader类构造器的参数传入D.构造一个OutputStreamReader实例,将InputStream对象作为OutputStreamReader类构造器的参数传入64."以下程序执行结果是?public class Example {public static void main(String[] args) throws IOException {String s = ""x,yy,123"";Scanner sc = new Scanner(s);while (sc.hasNext()) {System.out.println(sc.next() + "" "");}}"答案:A.x yyB.x,yy,123C.x yy 123D.x,yy65.以下哪个描述是正确的?答案:A.多线程是Java语言独有的B.多线程需要多CPUC.多线程要求一个计算机拥有单独一个CPUD.Java语言支持多线程66."下列代码的执行结果是?public class Example{public static void main(String args[]) {Thread t = new Thread() {public void run() {pong();}};t.run();System.out.print(""ping"");}static void pong() {System.out.print(""pong"");}}"答案:A.pingpongB.pongpingC.pingpong和pongping都有可能D.都不输出67.以下哪个关于Runnable的描述是正确的?答案:A.Runnable是Java语言的一个关键字,用于修饰类,来表明该类是一个独立线程B.Runnable是一个接口,实现该接口的类对象可以提供给Thread类构造器作为创建线程的C.Runnable是一个类,继承该类的子类可以作为独立的线程存在D.以上皆不对68.在服务器上提供了基于TCP的时间服务应用,该应用使用port为6666。
javaSE作业

javaSE作业JavaSE测试题⼀、选择题(不定项)1.在JAVA中,下列哪些说法是正确的( A C )A.java源⽂件的扩展名为.javaB.写好的java源程序可以直接运⾏C.编写的源程序必须先编译后才能运⾏D.程序员可以读懂扩展名为.class的⽂件2.下列标识符哪个是合法的( BD )A.classB.$abcC.1234D._name3.下⾯哪些赋值语句是正确的?( ab d)A. long test = 012;B. float f = -412;C. int other = (int) true;D. double d = 0x12345678;E. byte b = 128; -128~1274.在Java中,下列语句不能通过编译的有(b )A. String s= “join”+ 3;B. int a= “join”+3;C. int a= ‘a’+5;D. float f=5+5.5;5.设a = 3,则表达式(--a )< < a的结果为( b )A. 16B. 8C. 24D. 126.下列代码运⾏的结果是(c )public static void main(String[] args) {int x = 4;int y = 5;if(x++>4 & ++y>5) {x++;}System.out.println("x=" + x + ",y=" + y); }A. x=4,y=5B. x=4,y=6C. x=5,y=6D. x=6,y=67.尝试运⾏下⾯的代码会发⽣什么?( b ) public class Test {public static void main(String[] args) { boolean m = true;if (m = false) {System.out.println("true");} else {System.out.println("false");}}}A.输出字符串”true”B.输出字符串”false”C.编译时错误D.运⾏时错误8.编译并运⾏以下代码将发⽣什么? ( e) public static void main(String args[]){ char digit = 'a';for (int i = 0; i < 10; i++){switch (digit){case 'x' :{int j = 0;System.out.println(j);}default :{int j = 100;System.out.println(j);}}}int i = j;System.out.println(i);}A.输出11次100B.输出10次100,然后抛出运⾏期异常C.编译错误,因为变量i不能在main()⽅法中被声明2次D.编译错误,因为变量j不能在main()⽅法中被声明2次E.以上都不对9. class Demo{public static int fun(int c){return c+=2;}public static void main(String[] args){int temp = fun(2);System.out.println(temp);}}打印结果是(b )A. 2B. 4C. 6D. 810.下⾯哪些函数是public void aMethod(){...}的重载函数?(bd )A. void aMethod( ){...}B. public int aMethod(int a, float b){...}C. public void aMethod (){...}D. public float aMethod (int m){…}11.在java中,关于数组描述正确的是( b d )A.数组中的索引下标从1开始B.存储在数组当中的数据都属于同⼀数据类型C.通过数组名.length()能获得数组的长度D.数组的最⼤索引下标是数组的长度减112.下⾯程序的输出结果是什么( d )int[] arr = new int[10];System.out.println(arr[0]);A.编译不通过B.运⾏时出错C.输出nullD.输出013.下⾯哪个语句正确地声明⼀个整型的⼆维数组( c d )A. int a[][] = new int[][];B. int b[10][10] = new int[][];C. int c[][] = new int[10][10];D. int []d[] = new int[10][10];14.以下代码输出是( d )class Demo {public static void main(String[] args) {int i = 0;int sum = 0;while (i <= 10) {i++;if (i % 2 != 0)continue;sum += i;}System.out.println(sum);}}A. 55B. 45C. 35D. 3015.和下⾯代码能完成相同的选项是( b )class Demo {public static void main(String[] args) {int i = 1;int sum = 0;while (i <= 100) {if (i % 2 == 0) {sum = sum + i;}i++;}System.out.println(sum);}}A. for (int x =1; x<=100;x++){ sum=sum+x;}B. for (int x =0; x<=100;x+=2){ sum=sum+x;}C. for (int x =1; x<=100;x+=2){ sum=sum+x;}D.上述全对16.下列有关类、对象和实例的叙述,正确的是哪⼀项?( d )A.类就是对象,对象就是类,实例是对象的另⼀个名称,三者没有差别B.对象是类的抽象,类是对象的具体化,实例是对象的另⼀个名称C.类是对象的抽象,对象是类的具体化,实例是类的另⼀个名称D.类是对象的抽象,对象是类的具体化,实例是对象的另⼀个名称17.下⾯关于java中包的说法正确的是( a,d c )A.在java中可以使⽤import语句导⼊包B.在java中可以使⽤package语句导⼊包C.位于同⼀个包中的类,不需要导包就可以直接访问D.不同的包中可以出现类名相同的类18.下列有关抽象类的叙述正确的是哪项? (c)A.抽象类中⼀定含有抽象⽅法B.抽象类既能被实例化也能被继承C.抽象类的声明必须包含abstract关键字D.抽象类中不能有构造⽅法19.下列有关接⼝的叙述错误的是哪项?( a d )A.接⼝中只能包含抽象⽅法和常量B.⼀个类可以实现多个接⼝C.类实现接⼝时必须实现其中的⽅法D.接⼝不能被继承20.运⾏以下代码⽚段,输出结果是?( d )class X {Y b = new Y();X() {System.out.print("X");}}class Y {Y() {System.out.print("Y");}}public class Z extends X {Y y = new Y();Z() {System.out.print("Z");}public static void main(String[] args) {new Z();}}//静态(初始化⼀次)动态(创建⼀次执⾏⼀次)构造A. ZB. YZC. XYZD. YXYZ21.下列关于类的继承的描述,正确的有( b d )A.⼀个类可以同时继承多个⽗类B.⼀个类可以具有多个⼦类C.⼦类会⾃动拥有⽗类所有的⽅法D.⼀个类继承另⼀个类需要使⽤extends关键字22.下列选项中关于java中this关键字的说法错误的有( ab d )A.this关键字是⼀个对象的引⽤ //本类B.this关键字可以⽤于引⽤当前类以外其他类型的对象C.this可⽤于构造函数中,调⽤类本⾝重载的构造函数,但是必须写在⾸⾏D.this可⽤于静态⽅法中//this属于对对象的调⽤,静态⽅法属于类23.下列关于构造函数的说法正确的是( a b d )A.⽅法名必须与类名相同B.使⽤new关键字创建对象时,java虚拟机会⾃动调⽤构造函数C.我们在定义⼀个类时,必须要声明⾄少⼀个构造函数D.构造函数中不能使⽤return语句24.编译并运⾏以下代码将发⽣什么?( d )class MyClass {int x;MyClass(int i) {x = i;}public static void main(String args[]) {MyClass m1 = new MyClass(100);MyClass m2 = new MyClass(100);if (m1.equals(m2)) {System.out.println("Both are equal");} else {System.out.println("Both are not equal");}}}A.代码编译时报出错误提⽰信息“equals()⽅法未定义”B.编译通过,抛出运⾏期异常.C.输出Both are equal.D.输出Both are not equal25.运⾏以下的main()⽅法,结果是?( a c )1 public static void main(String[] args)2 {3 String myString;4 int x = 100;56 if (x < 100) myString = "x is less than 100";7 if (x > 100) myString = "x is greater than 100";8 System.out.println(myString.length());9 }A.编译时报出错误提⽰信息“变量myString没有被初始化”B.编译通过C.编译未能通过。
精编新版2020年JAVASE综合完整题库188题(含标准答案)

2020年JAVASE综合考试试题库188题[含答案]一、选择题1.现有int x = reader.read(),下列哪一项正确?答案:A.reader不是FileReader或者BufferedReader类型B.reader可以使FileReader或者BufferedReaderC.reader可以使FileReader类型,但不能使BufferedReader类型D.reader可以使BufferedReader类型,但不能使FileReader类型2.表示键值对概念的接口是哪项?答案:DA.SetB.ListC.CollectionD.Map3.List接口的特点是哪项?答案:CA.不允许重复元素,元素有顺序B.允许重复元素,元素无顺序C.允许重复元素,元素有顺序D.不允许重复元素,元素无顺序4.创建一个只能存放String的泛型ArrayList的语句是哪项?答案:BA.ArrayList<int> al = new ArrayList<int>();B.ArrayList<String> al = new ArrayList<String>();C.ArrayList al = new ArrayList<String>();D.ArrayList<String> al = new List<String>();5."下列代码执行后的输出是哪项?public class Example {public static void main(String[] args) {List<String> al = new ArrayList<String>();al.add(""1"");al.add(""2"");al.add(""2"");al.add(""3"");。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JavaSE 内部测试题
一.选择题每题2分,共40分
1.在Java中,定义接口的关键字是〔〕。
〔一项〕
a)abstract
b)interface
c)class
d)extends
2.在Java中,类可派生自一个父类,并实现〔〕个接口〔一项〕
a) 1
b) 2
c) 3
d)任意多
3.在Java中,已定义了两个接口B和C,要定义一个类A 实现接口B和C,以下语句正
确的选项是〔一项〕
a)class A extends B extends C
b)class A implements B implements C
c)class A implements B,C
d)class A extends B,C
4.在Java中,使用interface声明一个接口时,以下〔〕可以用来修饰该接口。
〔一项〕
a)private
b)protected
c)private、protected
d)public
5.以下说法错误的选项是〔〕。
〔一项〕
a)Java支持多重继承
b)Java可以通过实现接口,间接实现多重继承
c)Java可以实现多个接口
d)Java实现接口,必须实现接口中的方法。
6.在Java中,关于接口和抽象类,正确的选项是〔〕〔二项〕
a)public interface A{
private int varA =10;
void methodA();
}
b)public abstract class B {
private int varA=10;
void methodA(){};
}
c)public interfacde C{
int varA =10;
protected void methodA();
}
d)public abstract class D{
int varA=10;
protected abstract void methodA();
}
7.在Java中,关于接口和抽象类说法正确的选项是〔〕。
(一项)
a)接口的方法可以是私有的。
b)抽象类不能有私有的方法和属性。
c)抽象类实现接口时可以不用重写接口方法。
d)接口实现必须单根性。
8.分析代码,运行结果为:〔〕
public class BaseClass{
public BaseClass(){
System.out.println(“父类”);
}
}
public class SubClass extends BaseClass{
public SubClass(){
System.out.println(“子类”);
}
}
public static void main(String [] args){
new SubClass();
}(一项)
a)父类
b)子类
c)父类
子类
d)编译错误
9.Java中,关于被私有访问控制符private修饰的成员变量,以下说法正确的选项是〔〕(一
项)
a)可以被三种类所引用,该类自身,与它在同一个包中的其他类,在其他包中的该类
的子类
b)可以被两种类访问和引用,该类本身、该类的所有子类。
c)只能被该类自身所访问和修饰。
d)只能被同一个包中的类访问。
10.在Java中,以下关于集合框架说法正确的选项是〔〕 (一项)
a)List和Set都是Collection接口的子接口
b)HashSet 和HashMap都实现自Map接口
c)ArrayList、LindedList都使用相同的方式存储数据
d)TreeSet和TreeMap都实现自Map接口
11.HashMap hMap = new HashMap(); (一项)
hMap.put(“1”,”Java”);
hMap.put(“2”,”JavaScript”);
hMap.put(“3”,”Oracle”);
hMap.put(“4”,”Mysql”);
有如上代码,要得到Oracle这个字符串,使用如下〔〕代码。
a)hMap.get(“3”);
b)hMap.get(“Orcale”);
c)hMap.get(3);
d)hMap[2];
12.用BufferedWriter类进行文本文件写入时,首先需要如下〔〕操作。
〔一项〕
a)通过无参的构造函数,定义一个类对象。
b)通过以文件名为参数的构造函数,定义一个类对象
c)通过以文件名为参数的文件流操作类的构造函数为参数,构造一个类对象
d)直接调用open方法
13.在Java中,以下关于File类说法错误的选项是〔〕。
〔一项〕
a)isExists()方法用于判断文件或目录是否存在
b)isExists()方法判断是否是文件
c)删除一个文件时,可以使用delete()方法
d)length()方法返回文件的长度。
14.BufferedWriter进行数据写入文件时,需要调用〔〕方法〔一项〕
a)write方法
b)writeLine方法
c)read方法
d)flush方法
15.下面哪个流类属于面向字符的输入流〔〕〔一项〕
a)BufferedWriter
b)FileInputStream
c)ObjectInputStream
d)InputStreamReader
16.将对象序列化,要实现哪个接口〔一项〕
a)Cloneable
b)Runnable
c)Serializable
d)Comparatoe
17.在Java中,以下选项中,与序列化和反序列化有关的是〔〕〔二项〕
a)FileReade
b)ObjectOutputStream
c)Serialixable
d)DataOutputStream
18.在Java中,以下选项说法不正确的选项是〔〕〔一项〕
a)类用于生成随机数
b)类的nextInt()方法返回一个此随机生成的整数值
c)类的nexInt()方法返回一个0(包括)和指定值之间〔不包括〕之间的值
d)执行代码:System.out.println(new java.util.Random().nextInt(10)+1);输出的值不可能
为10.
19.在Java中,执行以下代码,两条输出语句的值分别是〔〕〔一项〕
public static void main(String [] args){
String str1=”123”;
String str2=”123”;
System.out.println(str1.equals(str2));
System.out.println(str1==str2);
}
a)true,true
b)false,false
c)true,false
d)false,true
20.在Java中,以下代码输出的结果是〔〕〔一项〕
public static void main(String [] args){
StringBuffer sb = new StringBuffer(“Hello”);
sb.append(“,”);
sb.append(“Java”);
System.out.println(sb.toString());
}
a)Hello
b)Hello,Java
c),Java
d)编译错误
二.简答题:每题15分,共30分
1. 简述ArrayLIst与LinkedList的优缺点。
2. 简述线程中sleep()和wait()的区别
三机试题〔每题15分,共20分〕
1.打印一段日志到记事本中,保存到本地,然后分别用字符流与字节流去交换读取该日志的内容,并计算每读一行,不同的流之间相差的时间,以秒为单位进行计算。
2.定义一个ArrayList集合,在类加载时添加10本书,书籍具有书名、作者、价格三个属性,在main函数中通过键盘录入一个书名时,查询出该书籍的详细信息。
答案:
1. B
2. D
3. C
4. D
5. A
6. BD
7. C
8. C
9. C 10. A
11. A 12. C 13. A 14. D 15. D
16. C 17. BC 18. D 19. A 20. B
简答题:
1.ArrayList 底层是用数组实现的,更擅长遍历搜索查找,因为数组有下标的概念,可以很方便的跳到指定的位置;不擅长插入删除操作;
LinkedList 底层是用链表实现的,链表是一个个节点链起来的,擅长插入删除等操作〔某节点断开去掉或者重新连接上新的节点,这类操作比较快捷〕,搜索查询的话只能是一个节点一个节点的来。
2. sleep是线程类〔Thread〕的方法,导致此线程暂停执行指定时间,给执行时机给其他
线程,但是监控状态依然保持,到时后会自动恢复。
调用sleep不会释放对象锁。
wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法〔或notifyAll〕后本线程才进入对象锁定池准备获得对象锁进入运行状态。