JavaSE期末总测试题
精选最新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."以下代码的输出结果是什么?选择所有的正确答案。
最新版精选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类,因此不能被其他类继承
精编2020年JAVASE综合考核题库完整版188题(含标准答案)
2020年JAVASE综合考试试题库188题[含答案]一、选择题1.List接口的特点是哪项?答案:CA.不允许重复元素,元素有顺序B.允许重复元素,元素无顺序C.允许重复元素,元素有顺序D.不允许重复元素,元素无顺序2."下列代码的执行结果是?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 Exception3."以下代码的输出结果是什么?选择所有的正确答案。
class Example {public static void main(String[] args) throws IOException { for (int i = 0; i < 10; i++) {try {try {if (i % 3 == 0)throw new Exception(""E0"");System.out.println(i);break;} catch (Exception inner) {i *= 2;if (i % 3 == 0)throw new Exception(""E1"");} finally {++i;}} catch (Exception outer) {i += 3;} finally {--i;}}}}"答案:A.4B.5C.6D.74.Java语言中异常的分类是哪项?答案:A.运行时异常和异常B.受检异常和非受检异常C.错误和异常D.错误和运行时异常5.以下哪个方法是Math类中定义的?答案:A.absolute()B.log()C.cosine()D.sine()6.以下哪个方法用于计算平方根?答案:BA.squareRoot()B.sqrt()C.root()D.sqr()7.调用Math.random()方法最有可能输出以下哪些结果?答案:DA.-0.12和0.56E3B.0.12和1.1E1C.-23.45和0.0D.0.356和0.038."给出以下代码,请问在程序的第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]));9."以下代码执行结果是?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不是有效的参数10.下列哪些项是泛型的优点?答案:AA.不用向下强制类型转换B.代码容易编写C.类型安全D.运行速度快11.以下哪些类提供了创建一个目录的方法?答案:AA.FileB.DataOutputC.DirectoryD.FileDescriptor12.以下哪些有关Vector类的描述是正确的?答案:CA.该类是个public类B.该类是个final类C.该类实现了List接口D.该类可以序列化13."给出以下代码: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 Exception14.欲构造ArrayList类继承了List接口,下列哪个方法是正确的?答案:BA.ArrayList myList=new Object()B. List myList=new ArrayList()C.ArrayList myList=new List()D.List myList=new List()15.创建一个只能存放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>();16."下列代码执行后的输出是哪项?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]17."现有: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())18."以下代码的执行结果是?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.fouronethreetwo19."现有: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和S420.以下哪些语句用于创建一个Map实例?答案: DA.Map m = new Map();B.Map m = new Map(init capacity,increment capacity);C.Map m = new Map(new Collection());D.以上都不对21."以下代码执行结果是?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.onethreetwo22.下列属于非受检异常(运行时异常)的是哪项?答案:AA.IOExceptionB.NullPointerExceptionC.OutOfMemoryErrorD.23.以下哪些是Collection接口的子接口?答案:BDA.DictionaryB.ListC.MapD.Set24.以下哪些是catch语句能够捕获处理的异常?答案:ACA.ThrowableB.ErrorC.ExceptionD.String25.以下哪些方法在Class类中定义?答案:A.getConstructors()B.getPrivateMethods()C.getDeclaredFields()D.getImports()26."给出以下代码,改程序的执行结果是?interface Base {int k = 0;}public class Example implements Base {public static void main(String[] args) {int i;Example exm = new Example();i = exm.k;i = Example.k;i = Base.k;System.out.println(i);}}"答案:DA.无内容输出B.代码编译失败C.代码运行时输出异常信息D.打印输出027."现有以下代码:interface W {}class Z implements W {}class X extends Z {}class Y extends Z {}下列哪些代码段是正确的?"答案:A."X x=new X();Y y=new Y();Z z=new Z();y=(Y)x;"B."X x=new X();Y y=new Y();Z z=new Z();x=(X)y;"C."X x=new X();Y y=new Y();Z z=new Z();Z=(Z)x;"D."X x=new X();Y y=new Y();Z z=new Z();W w=(W)x;"28.Java语言中异常的分类是哪项?答案:CA.运行时异常和异常B.受检异常和非受检异常C.错误和异常D.错误和运行时异常29."现有代码:public class Example {public static void main(String[] args) {try {System.out.print(Integer.parseInt(""forty""));} catch (RuntimeException e) {System.out.println(""Runtime"");}catch (NumberFormatException e) {System.out.println(""Number"");}}}执行结果是什么?"答案:CA.输出NumberB.输出RuntimeC.输出40D.编译失败30."现有如下代码: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.编译失败31.关于异常处理,说法错误的是?A.try…catch…finally结构中,必须有try语句块,catch语句块和finally语句块不是必须的,但至少要两者取其一B.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch 中的参数类型有父类子类关系,此时应该将子类放在后面,父类放在前面C.一个方法可以抛出多个异常,方法的返回值也能够是异常D.Throwable是所有异常的超类32."关于以下代码,说法正确的是?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"33.关于try…catch…finally结构,描述正确的是些?答案:ACA.可以有多个catchB.只能有一个catchC.可以没有catchD.finally必须有34."关于以下代码正确的说法是: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"");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行编译错误35."下列代码的执行结果是?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.输出436."给出以下代码,执行结果是?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.输出Try37.以下哪些描述是正确的?答案:CDA.try语句块后必须至少存在一个catch语句块B.try语句块后可以存在不限数量的finally语句块C.try语句块后必须至少存在一个catch语句块或finally语句块D.如果catch和finally语句块同时存在,则catch语句块必须位于finally语句块前38."请问以下代码的直接执行结果是?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."39.在方法声明中,说明该方法可能会抛出的异常列表时使用哪个关键字?答案:DA.throwB.catchC.finallyD.throws40."现有代码如下: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 middle41."现有如下代码: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和d42."下面代码的执行结果是?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.编译失败43.请问以下哪些关于try…catch…finally结构中的finally语句的描述是正确的?答案:CA.只有当一个catch语句获得执行后,finally语句才获得执行B.只有当catch语句未获得执行时,finally语句才获得执行C.如果有finally语句,return语句将在finally语句执行完毕后才会返回D.只有当异常抛出时,finally语句才获得执行44."关于以下代码,说法正确的是?class Example{public static void main(String[] args) throws IOException {if (args[0] == ""hello"") {throw new IOException();}}}"答案:AA.代码编译成功B.代码编译失败,因为main()方法是入口方法,不能抛出异常C.代码编译失败,因为IOException异常是系统异常,不能由应用程序抛出D.代码编译失败,因为字符串应该用equals方法判定一致性45."关于以下代码,说法正确的是?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"46."现有: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){47."当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 done48."下列代码的执行结果是什么?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.运行期间有异常抛出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) }}"答案:BB.输出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.以下哪些语句正确?答案: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];55.以下哪些是初始化数组的正确形式?A.char c[] = {'a','b'};B.int []x[] = {{1,2,3},{1,2,3}};C.int x[3] = {1,2,3};D.int []x = {0,0,0};56.执行下列代码后,哪个结论是正确的 String[] s=new String[10]; 答案:DCA.s[10] 为 ""B.s[9] 为 nullC.s[0] 为未定义D.s.length 为1057.假设存在int型数组a,哪项是正确的增强for循环迭代该数组?答案:CA.for(int[] a){}B.for(int a){}C.for(int x:a){}D.for(int i>0;i<a.length;i++){}58."现有如下类型: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描述c59."以下代码运行输出的结果是什么?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 Example {public static void main(String[] args) {System.out.println(""String"".replace('g', 'G') == ""String"".replace('g','G')); System.out.println(""String"".replace('t', 't') == ""String"".replace('t','t')); }}"答案:CA.输出true trueB.输出true falseC.输出false falseD.输出false true61."以下代码执行的结果是:public class Example {public static void main(String[] args) {int[] x = { 1, 2, 3 };x[1] = (x[1] > 1) ? x[2] : 0;System.out.println(x[1]);}}"答案:CA.输出1B.输出2C.输出3D.输出462.从InputStream对象中如何创建一个Reader对象?答案:A.使用InputStream类中定义的createReader()方法B.吃用Reader类中的createReader()方法C.构造一个InputStreamReader实例,将InputStream对象作为InputStreamReader类构造器的参数传入D.构造一个OutputStreamReader实例,将InputStream对象作为OutputStreamReader类构造器的参数传入63."以下程序执行结果是?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,yy64."以下代码的执行结果是?public class Example implements Runnable {public static void main(String args[]) {Example ex = new Example();Thread t = new Thread(ex);t.start();}void run() {System.out.print(""pong"");}}"答案:A.输出pongB.运行时输出异常信息C.运行后无任何输出D.编译失败65."现有:t是一个合法的Thread对象的引用,并且t的合法run()方法如下:public void run() {System.out.print(""go"");}执行:t.start();t.start();t.run();后结果是什么?"答案:A.go goB.go go goC.go之后跟着一个异常D.go go之后跟着一个异常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综合考核题库完整版188题(含标准答案)
2020年JAVASE综合考试试题库188题[含答案]一、选择题1.以下哪些有关Vector类的描述是正确的?答案:CA.该类是个public类B.该类是个final类C.该类实现了List接口D.该类可以序列化2."下列代码的执行结果是?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 Exception3."以下代码的输出结果是什么?选择所有的正确答案。
class Example {public static void main(String[] args) throws IOException {for (int i = 0; i < 10; i++) {try {try {if (i % 3 == 0)throw new Exception(""E0"");System.out.println(i);break;} catch (Exception inner) {i *= 2;if (i % 3 == 0)throw new Exception(""E1"");} finally {++i;}} catch (Exception outer) {i += 3;} finally {--i;}}}}"答案:A.4B.5C.6D.74.Java语言中异常的分类是哪项?答案:A.运行时异常和异常B.受检异常和非受检异常C.错误和异常D.错误和运行时异常5.下列关于Math类说法错误的是答案:ng.Math类是final类,因此不能被其他类继承ng.Math类的构造器是私有的,即声明为private,不能实例化一个Math类的对象ng.Math类上定义的所有常量和方法均是public和static的,因此可以直接通过类名调用D.min()和max()方法的参数之一,如果是NaN值,则方法将返回另一个参数值6.定义在Math类上的round(double d)方法的返回值类型是什么?答案:A.charB.intC.longD.double7.以下哪个方法用于计算平方根?答案:BA.squareRoot()B.sqrt()C.root()D.sqr()8."以下代码的运行结果是什么?public class Example {public static void main(String[] args) {System.out.println(Math.min(0.0, -0.0));}}"答案:CA.代码编译失败B.输出0.0C.输出-0.0D.代码编译成功,但运行时输出异常信息9."以下代码的运行结果是什么?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.010."给出以下代码,为了结果输出-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()11."现有: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();12.以下哪些是Collection接口的子接口?答案:BDA.DictionaryB.ListC.MapD.Set13."给出以下代码,执行结果是?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.输出Try14.以下哪些集合接口支持重复元素存在?答案:BA.CollectionB.ListC.MapD.Set15.List接口的特点是哪项?答案:CA.不允许重复元素,元素有顺序B.允许重复元素,元素无顺序C.允许重复元素,元素有顺序D.不允许重复元素,元素无顺序16.欲构造ArrayList类继承了List接口,下列哪个方法是正确的?答案:BA.ArrayList myList=new Object()B. List myList=new ArrayList()C.ArrayList myList=new List()D.List myList=new List()17."现有: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())18."以下代码的执行结果是?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.fouronethreetwo19."现有: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和S420.以下哪些语句用于创建一个Map实例?答案: DA.Map m = new Map();B.Map m = new Map(init capacity,increment capacity);C.Map m = new Map(new Collection());D.以上都不对21."以下代码执行结果是?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.onethreetwo22.请问以下哪个程序代码体现了对象之间的is a关系?答案:A."public interface Color {}public class Shape {private Color color;}"B."public interface Component {}public class Cpmtaomer implements Component {private Component[] children;}"C."public class Species{}public class Animal{private Species species;}"D."public class Animal{public interface Species{}private Species species;}"23.下列哪些项是泛型的优点?答案:AA.不用向下强制类型转换B.代码容易编写C.类型安全D.运行速度快24.以下哪些描述是正确的?答案:CDA.try语句块后必须至少存在一个catch语句块B.try语句块后可以存在不限数量的finally语句块C.try语句块后必须至少存在一个catch语句块或finally语句块D.如果catch和finally语句块同时存在,则catch语句块必须位于finally语句块前25.以下哪些方法在Class类中定义?答案:A.getConstructors()B.getPrivateMethods()C.getDeclaredFields()D.getImports()26."现有以下代码:interface W {}class Z implements W {}class X extends Z {}class Y extends Z {}下列哪些代码段是正确的?"答案:A."X x=new X();Y y=new Y();Z z=new Z();y=(Y)x;"B."X x=new X();Y y=new Y();Z z=new Z();x=(X)y;"C."X x=new X();Y y=new Y();Z z=new Z();Z=(Z)x;"D."X x=new X();Y y=new Y();Z z=new Z();W w=(W)x;"27.Java语言中异常的分类是哪项?答案:CA.运行时异常和异常B.受检异常和非受检异常C.错误和异常D.错误和运行时异常28."现有代码:public class Example {public static void main(String[] args) {try {System.out.print(Integer.parseInt(""forty"")); } catch (RuntimeException e) {System.out.println(""Runtime"");}catch (NumberFormatException e) {System.out.println(""Number"");}}}执行结果是什么?"答案:CA.输出NumberB.输出RuntimeC.输出40D.编译失败29."对以下两个代码片段说法正确的是?代码片段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抛出异常30."下列代码执行后的结果是?public class Example {public static void main(String[] args) {try {double x = 64.0;double y = 0.0;System.out.println(x % y);} catch (Exception e) {System.out.println(""Exception"");}}}"答案:DA.编译失败B.输出ExceptionC.输出InfinityD.输出NaN31."现有如下代码: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.编译失败32.关于异常处理,说法错误的是?答案:CA.try…catch…finally结构中,必须有try语句块,catch语句块和finally语句块不是必须的,但至少要两者取其一B.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch 中的参数类型有父类子类关系,此时应该将子类放在后面,父类放在前面C.一个方法可以抛出多个异常,方法的返回值也能够是异常D.Throwable是所有异常的超类33."关于以下代码,说法正确的是?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"34."关于以下代码正确的说法是: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行编译错误35."下列代码的执行结果是?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.输出436."以下代码中,如果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.以上都不对37."请问以下代码的直接执行结果是?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."38.假设有自定义异常类ServiceException,那么抛出该异常的语句正确的是哪项?答案:CA.raise ServiceExceptionB.throw new ServiceException()C.throw ServiceExceptionD.throws ServiceException39.在方法声明中,说明该方法可能会抛出的异常列表时使用哪个关键字?答案:DA.throwB.catchC.finallyD.throws40."如下代码执行后的输出结果是?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.编译失败41."下面代码的执行结果是?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.编译失败42.请问以下哪些关于try…catch…finally结构中的finally语句的描述是正确的?答案:CA.只有当一个catch语句获得执行后,finally语句才获得执行B.只有当catch语句未获得执行时,finally语句才获得执行C.如果有finally语句,return语句将在finally语句执行完毕后才会返回D.只有当异常抛出时,finally语句才获得执行43."关于以下代码,说法正确的是?class Example{public static void main(String[] args) throws IOException {if (args[0] == ""hello"") {throw new IOException();}}}"答案:AA.代码编译成功B.代码编译失败,因为main()方法是入口方法,不能抛出异常C.代码编译失败,因为IOException异常是系统异常,不能由应用程序抛出D.代码编译失败,因为字符串应该用equals方法判定一致性44."关于以下代码,说法正确的是?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"45."给出以下代码: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 Exception46."以下代码的执行结果是?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文件已经存在,则一个异常被抛出47."当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 done48."给出下面代码:public class Example{static int arr[] = new int[10];public static void main(String a[]){System.out.println(arr[1]);}}那个语句是正确的?"答案:DA.编译时将产生错误B.编译时正确,运行时将产生错误C.输出0D.输出null49.Java语言中有多少个包装器类型?答案:BA.7B.8C.950."下列代码在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 false51.数组是什么类型?答案:AA.引用类型B.基本数据类型C.不能确定D.其他类型52.下面哪条语句不正确?答案:AA.int[4] a;B.int a[];C.int[] a;D.int[] a,b;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.以下那种初始化数组的方式是错误的?A.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.数组索引从几开始?答案:AA.0B.1C.-1D.随便56.假设存在数组a,如何获得a的长度?答案:CA.a.length()B.a.len()C.a.lengthD.a.len57."以下给出代码运行后的结果是?public class Example {public static void main(String[] args) {int[] refToArray = { 10, 11 };int var = 1;refToArray[var - 1] = var = 2;System.out.println(refToArray[0] + "" "" + refToArray[1]); }}"答案:CA.编译失败B.编译通过,但运行时提示异常C.2 11D.10 258."现有如下类型: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描述c59."下列代码的执行结果是什么?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.运行期间有异常抛出60."public class TestEquals {/*** @param args*/public static void main(String[] args) {String a=""a"";String b=""b"";String c=""a""+""b"";String d=a+b;System.out.println(a==""a"");System.out.println(c==""ab"");System.out.println(d==c);System.out.println(new String(""a"")+b==c);}}运行结果是?"答案:DA."truefalsefalsefalse"B."truetruefalsefalse"C."truetruetruefalse"D."falsefalsefalsefalse"61."以下代码执行的结果是:public class Example {public static void main(String[] args) {int[] x = { 1, 2, 3 };x[1] = (x[1] > 1) ? x[2] : 0;System.out.println(x[1]);}}"答案:CA.输出1B.输出2C.输出3D.输出462."以下程序执行结果是?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,yy63.以下哪个描述是正确的?答案:A.多线程是Java语言独有的B.多线程需要多CPUC.多线程要求一个计算机拥有单独一个CPUD.Java语言支持多线程64."以下代码的执行结果是?public class Example implements Runnable {public static void main(String args[]) {Example ex = new Example();Thread t = new Thread(ex);t.start();}void run() {System.out.print(""pong"");}}"答案:A.输出pongB.运行时输出异常信息C.运行后无任何输出D.编译失败65."现有:t是一个合法的Thread对象的引用,并且t的合法run()方法如下:public void run() {System.out.print(""go"");}执行:t.start();t.start();后结果是什么?"答案:A.go goB.go go goC.go之后跟着一个异常D.go go之后跟着一个异常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考试试题和答案一、单项选择题(每题2分,共20分)1. Java中,下列哪个关键字用于声明一个类?()A. classB. interfaceC. abstractD. final答案:A2. 在Java中,下列哪个选项是正确的字符串拼接方式?()A. "Hello" + "World"B. "Hello" + 5C. "Hello" + 5.0D. 5 + "Hello"答案:A3. Java中,下列哪个选项是正确的方法重载?()A. public void display() {}public void display(int x) {}B. public void display(int x) {}public void display(double x) {}C. public void display(int x) {}public void display(int x, int y) {}D. public void display() {}public void display() {}答案:C4. Java中,下列哪个选项是正确的继承关系?()A. class A extends B {}B. class A implements B {}C. class A implements B, C {}D. class A extends B, C {}答案:C5. Java中,下列哪个选项是正确的异常处理语句?()A. try { } catch { }B. try { } catch (Exception e) { }C. try { } catch (e) { }D. try { } catch (Exception) { }答案:B6. Java中,下列哪个选项是正确的泛型使用方式?()A. List list = new ArrayList();B. List<String> list = new ArrayList<String>();C. List list = new ArrayList<String>();D. List<String> list = new ArrayList();答案:B7. Java中,下列哪个选项是正确的线程创建方式?()A. Thread thread = new Thread();B. Thread thread = new Thread(Runnable r);C. Thread thread = new Thread(new Thread());D. Thread thread = new Thread(new Runnable() {});答案:D8. Java中,下列哪个选项是正确的集合初始化方式?()A. List list = new ArrayList();B. List list = new LinkedList();C. List list = new Vector();D. List list = new Stack();答案:A9. Java中,下列哪个选项是正确的文件读写方式?()A. FileReader fr = new FileReader("file.txt");B. FileWriter fw = new FileWriter("file.txt");C. BufferedReader br = new BufferedReader(new FileReader("file.txt"));D. BufferedWriter bw = new BufferedWriter(new FileWriter("file.txt"));答案:C10. Java中,下列哪个选项是正确的网络编程方式?()A. ServerSocket serverSocket = new ServerSocket(8080);B. Socket socket = new Socket("localhost", 8080);C. DatagramSocket socket = new DatagramSocket(8080);D. MulticastSocket socket = new MulticastSocket(8080);答案:A二、多项选择题(每题3分,共15分)1. Java中,下列哪些关键字用于修饰类?()A. publicB. abstractC. finalD. strictfp答案:ABCD2. Java中,下列哪些关键字用于修饰方法?()A. publicB. privateC. protectedD. synchronized答案:ABCD3. Java中,下列哪些关键字用于修饰变量?()A. publicB. privateC. protectedD. volatile答案:BCD4. Java中,下列哪些关键字用于修饰接口?()A. publicB. abstractC. finalD. strictfp答案:ACD5. Java中,下列哪些关键字用于修饰异常?()A. tryB. catchC. throwD. throws答案:BCD三、填空题(每题4分,共20分)1. Java中,一个类可以继承________个父类。
精选新版2020年JAVASE综合测试题库188题(含答案)
}
static void aMethod(){
try {
System.out.println(""Try"");
return;
} catch (Exception e) {
System.out.println(""Catch"");
}finally{
System.out.println(""Finally"");
C.如果有finally语句,return语句将在finally语句执行完毕后才会返回
D.只有当异常抛出时,finally语句才获得执行
5."给出以下代码:
class Example {
public static void main(String[] args) throws IOException {
} catch (Exception e) {
System.out.println(""Exc"");
}
}
int getlnt(String arg) throws Exception {
return Integer.parseInt(arg);
}
}
class Utils {
int getlnt() {
return 42;
}
}"
答案:B
A.NFExc
B.42
C.42NFExc
D.编译失败
4.请问以下哪些关于try…catch…finally结构中的finally语句的描述是正确的?
答案:C
A.只有当一个catch语句获得执行后,finally语句才获得执行
最新精选2020年JAVASE综合完整考题库188题(含参考答案)
2020年JAVASE综合考试试题库188题[含答案]一、选择题1.以下哪些是Collection接口的子接口?答案:BDA.DictionaryB.ListC.MapD.Set2."以下代码执行结果是什么?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.输出143233."以下代码执行结果是?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.代码编译成功4."现有如下代码: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 catch5."下列代码的执行结果是?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 Exception6.Java语言中异常的分类是哪项?答案:A.运行时异常和异常B.受检异常和非受检异常C.错误和异常D.错误和运行时异常7.下列关于Math类说法错误的是答案:ng.Math类是final类,因此不能被其他类继承ng.Math类的构造器是私有的,即声明为private,不能实例化一个Math类的对象ng.Math类上定义的所有常量和方法均是public和static的,因此可以直接通过类名调用D.min()和max()方法的参数之一,如果是NaN值,则方法将返回另一个参数值8.以下哪个方法是Math类中定义的?答案:A.absolute()B.log()C.cosine()D.sine()9.定义在Math类上的round(double d)方法的返回值类型是什么?答案:A.charB.intC.longD.double10.以下哪个方法用于计算平方根?答案:BA.squareRoot()B.sqrt()C.root()D.sqr()11."现有: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();12."以下代码执行结果是?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不是有效的参数13."下面代码的执行结果是?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.编译失败14.以下哪些有关Vector类的描述是正确的?答案:CA.该类是个public类B.该类是个final类C.该类实现了List接口D.该类可以序列化15.以下哪些集合接口支持重复元素存在?答案:BA.CollectionB.ListC.MapD.Set16.表示键值对概念的接口是哪项?答案:DA.SetB.ListC.CollectionD.Map17.List接口的特点是哪项?答案:CA.不允许重复元素,元素有顺序B.允许重复元素,元素无顺序C.允许重复元素,元素有顺序D.不允许重复元素,元素无顺序18.创建一个只能存放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>();19."下列代码执行后的输出是哪项?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]20."现有: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())21."以下代码的执行结果是?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.fouronethreetwo22.所有异常的父类是哪项?答案:AA.ThrowableB.ErrorC.RuntimeExceptionD.Exception23.调用Math.random()方法最有可能输出以下哪些结果?答案:DA.-0.12和0.56E3B.0.12和1.1E1C.-23.45和0.0D.0.356和0.0324.关于异常处理,说法错误的是?答案:CA.try…catch…finally结构中,必须有try语句块,catch语句块和finally语句块不是必须的,但至少要两者取其一B.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch 中的参数类型有父类子类关系,此时应该将子类放在后面,父类放在前面C.一个方法可以抛出多个异常,方法的返回值也能够是异常D.Throwable是所有异常的超类25.为了保证方法的线程安全,声明方法的时候必须使用哪个修饰符?答案:A.newB.transientC.voidD.synchronized26."对以下两个代码片段说法正确的是?代码片段1:int a = 3;int b = 0;int c = a / b;代码片段2:float a = 3.0f; //Infinity(无穷大)float b = 0.0f;float c = a / b;"答案:CA.执行两端代码都会抛出异常B.执行两段代码都无异常抛出C.执行两段代码,只有代码片段1抛出异常D.执行两段代码,只有代码片段2抛出异常27."下列代码执行后的结果是?public class Example {public static void main(String[] args) {try {double x = 64.0;double y = 0.0;System.out.println(x % y);} catch (Exception e) {System.out.println(""Exception"");}}}"答案:DA.编译失败B.输出ExceptionC.输出InfinityD.输出NaN28."下列代码执行后的结果是?public class Example {public static void main(String[] args) {try {double x = 64.0;double y = 0.0;System.out.println(x % y == x % y);} catch (Exception e) {System.out.println(""Exception"");}}}"答案:DA.编译失败B.运行时抛出异常C.打印输出trueD.打印输出false29."下列代码执行后的结果是?public class Example {public static void main(String[] args) {try {System.out.println(Float.NaN == Float.NaN);System.out.println(Float.POSITIVE_INFINITY==Float.POSITIVE_INFINITY); } catch (Exception e) {System.out.println(""Exception"");}}"答案:DA.输出+G20:J20false falseB.输出ExceptionC.输出true trueD.输出false true30.以下说法错误的是?答案:CA.Java中接口不能被private或Protected修饰符修饰B.Java中一个类可以实现多个接口,但是只能继承一个父类C.接口中定义的成员变量,即使不说明,默认均是public\static\final的D.final\static\native关键字不能修饰接口,31."给出以下代码,改程序的执行结果是?interface Base {int k = 0;}public class Example implements Base {public static void main(String[] args) {int i;Example exm = new Example();i = exm.k;i = Example.k;i = Base.k;System.out.println(i);}}"答案:DA.无内容输出B.代码编译失败C.代码运行时输出异常信息D.打印输出032."现有代码:public class Example {public static void main(String[] args) {try {System.out.print(Integer.parseInt(""forty""));} catch (RuntimeException e) {System.out.println(""Runtime"");}catch (NumberFormatException e) {System.out.println(""Number"");}}}执行结果是什么?"答案:CA.输出NumberB.输出RuntimeC.输出40D.编译失败33."对以下两个代码片段说法正确的是?代码片段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抛出异常34."关于以下代码,说法正确的是?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"35."现有如下代码: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.编译失败36.请问以下哪些关于try…catch…finally结构中的finally语句的描述是正确的?答案:CA.只有当一个catch语句获得执行后,finally语句才获得执行B.只有当catch语句未获得执行时,finally语句才获得执行C.如果有finally语句,return语句将在finally语句执行完毕后才会返回D.只有当异常抛出时,finally语句才获得执行37."关于以下代码,说法正确的是?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"38.关于try…catch…finally结构,描述正确的是些?答案:ACA.可以有多个catchB.只能有一个catchC.可以没有catchD.finally必须有39."当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 done40."现有如下代码: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) {41.以下哪些是catch语句能够捕获处理的异常?答案:ACA.ThrowableB.ErrorC.ExceptionD.String42."下列代码的运行结果是?class Example {public static void main(String[] args) throws IOException {try {return;} finally{System.out.println(""Finally"");}}}"答案:BA.无内容输出B.输出FinallyC.代码编译失败D.输出异常信息43.假设有自定义异常类ServiceException,那么抛出该异常的语句正确的是哪项?答案:CA.raise ServiceExceptionB.throw new ServiceException()C.throw ServiceExceptionD.throws ServiceException44."如下代码执行后的输出结果是?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.编译失败45."现有如下代码: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和d46.以下哪些类提供了创建一个目录的方法?答案:AA.FileB.DataOutputC.DirectoryD.FileDescriptor47."下列代码执行后的结果是?public class Example {public static void main(String[] args) {try {double x = 64.0;double y = 0.0;System.out.println(x % y);} catch (Exception e) {System.out.println(""Exception"");}}}"答案:DA.编译失败B.输出ExceptionC.输出InfinityD.输出NaN48."下列代码的执行结果是什么?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.运行期间有异常抛出49.数组是什么类型?答案:AA.引用类型B.基本数据类型C.不能确定D.其他类型50.下面哪条语句不正确?答案: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};51.存在Employee类,如何创建一个长度为3的Employee类型数组?答案:BA.Employee[3] e;B.Employee[] e=new Employee[3];C.Employee e[3];D.Employee[3] e=new Employee[];52.以下哪些是声明一个字符串数组的正确形式?答案:ABDA.String[] s;B.String []s;C.Sting [s]D.String s[]53.以下哪些是初始化数组的正确形式?答案:ABDA.char c[] = {'a','b'};B.int []x[] = {{1,2,3},{1,2,3}};C.int x[3] = {1,2,3};D.int []x = {0,0,0};54.执行下列代码后,哪个结论是正确的 String[] s=new String[10];答案:DCA.s[10] 为 ""B.s[9] 为 nullC.s[0] 为未定义D.s.length 为1055.数组索引从几开始?答案:AA.0B.1C.-1D.随便56.假设存在数组a,如何获得a的长度?答案:CA.a.length()B.a.len()C.a.lengthD.a.len57.假设存在int型数组a,哪项是正确的增强for循环迭代该数组?答案:CA.for(int[] a){}B.for(int a){}C.for(int x:a){}D.for(int i>0;i<a.length;i++){}58."现有: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和S459.以下哪个语句用于获取数组中的元素个数?答案:AA.intArray.size();B.intArray.size();C.intArray.length;D.intArray.length();60."Student s1=new Student(""John"");Student s2=new Student(""Alice"");s1=s2;System.out.println(s1.getName());输出结果为?"答案:DA.JohnB.nullC.AliceD.不能确定61."给出下面代码:public class Example{static int arr[] = new int[10];public static void main(String a[]){System.out.println(arr[1]);}}那个语句是正确的?"答案:DA.编译时将产生错误B.编译时正确,运行时将产生错误C.输出0D.输出null62."以下代码执行的结果是:public class Example {public static void main(String[] args) {int[] x = { 1, 2, 3 };x[1] = (x[1] > 1) ? x[2] : 0;System.out.println(x[1]);}}"答案:CA.输出1B.输出2C.输出3D.输出463.以下哪个描述是正确的?答案:A.多线程是Java语言独有的B.多线程需要多CPUC.多线程要求一个计算机拥有单独一个CPUD.Java语言支持多线程64.以下哪个是Runnable接口中定义的方法?答案:A.start()B.run()C.stop()D.yield()65."以下代码的执行结果是?public class Example implements Runnable {public static void main(String args[]) {Example ex = new Example();Thread t = new Thread(ex);t.start();}void run() {System.out.print(""pong"");}}"答案:A.输出pongB.运行时输出异常信息C.运行后无任何输出D.编译失败66."现有:t是一个合法的Thread对象的引用,并且t的合法run()方法如下:public void run() {System.out.print(""go"");}执行:t.start();t.start();t.run();后结果是什么?"答案:A.go goB.go go goC.go之后跟着一个异常D.go go之后跟着一个异常67."下列代码的执行结果是?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.都不输出68.以下哪个关于Runnable的描述是正确的?答案:A.Runnable是Java语言的一个关键字,用于修饰类,来表明该类是一个独立线程B.Runnable是一个接口,实现该接口的类对象可以提供给Thread类构造器作为创建线程的依据C.Runnable是一个类,继承该类的子类可以作为独立的线程存在D.以上皆不对69.在服务器上提供了基于TCP的时间服务应用,该应用使用port为6666。
JavaEE上篇期末考试题及答案
JavaEE上篇期末考试题及答案一、选择题(每题2分,共20分)1. JavaEE中用于表示HTTP请求和响应的接口是:A. HttpServletRequestB. HttpServletResponseC. HttpSessionD. ServletContext答案:A2. 下列哪个不是JavaEE中的EJB类型?A. Session BeanB. Entity BeanC. Message Driven BeanD. Data Access Object答案:D3. 在JavaEE中,用于管理事务的注解是:A. @TransactionalB. @StatelessC. @EntityD. @PersistenceContext答案:A4. JavaEE中,用于声明式事务管理的接口是:A. UserTransactionB. EntityManagerC. DataSourceD. Connection答案:A5. 在JavaEE中,以下哪个注解用于声明一个类为Servlet?A. @WebServletB. @ControllerC. @ServiceD. @Component答案:A6. JavaEE中,用于配置Servlet映射的注解是:A. @GetMappingB. @PostMappingC. @RequestMappingD. @ServletComponent答案:C7. 在JavaEE中,以下哪个是用于声明一个类为JSP页面的注解?A. @JspViewB. @JspTagC. @JspPageD. @JspFragment答案:C8. JavaEE中,用于声明一个类为过滤器的注解是:A. @FilterB. @ServletC. @WebListenerD. @Controller答案:A9. 在JavaEE中,用于声明监听器的注解是:A. @ListenerB. @ObserverC. @WebListenerD. @Component答案:C10. JavaEE中,用于声明一个类为监听器的注解是:A. @ApplicationScopedB. @SessionScopedC. @RequestScopedD. @ConversationScoped答案:A二、填空题(每空2分,共20分)1. JavaEE中的______注解用于声明一个类为JAX-RS资源。
精选新版JAVASE综合考核题库188题(含答案)
2020年JAVASE综合考试试题库188题[含答案]一、选择题1.以下哪个方法用于计算平方根?答案:BA.squareRoot()B.sqrt()C.root()D.sqr()2."下面代码的执行结果是?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.编译失败3."关于以下代码,说法正确的是?class Example{public static void main(String[] args) throws IOException {if (args[0] == ""hello"") {throw new IOException();}}}"答案:AA.代码编译成功B.代码编译失败,因为main()方法是入口方法,不能抛出异常C.代码编译失败,因为IOException异常是系统异常,不能由应用程序抛出D.代码编译失败,因为字符串应该用equals方法判定一致性4."给出以下代码: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 Exception5."给出以下代码,执行结果是?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.输出Try6."以下代码中,如果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.以上都不对7."以下代码执行结果是什么?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.输出143238."以下代码的输出结果是什么?选择所有的正确答案。
最新2020年JAVASE综合测试题库188题(含答案)
2020年JAVASE综合考试试题库188题[含答案]一、选择题1.以下哪些有关Vector类的描述是正确的?答案:CA.该类是个public类B.该类是个final类C.该类实现了List接口D.该类可以序列化2."关于以下代码正确的说法是: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行编译错误3."现有如下代码: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 catch4."下列代码的执行结果是?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 Exception 5."以下代码的输出结果是什么?选择所有的正确答案。
精选JAVASE综合完整版考核题库188题(含参考答案)
class Base {
public Base() throws IOException {
throw new IOException();
}
}"
答案:
A.代码编译失败,因为非抽象类不能被扩展为抽象类
B.代码编译失败,因为必须提供一个可以抛出或可以不抛出IOException异常的构造器
System.out.println(""Inside Catch"");
}
System.out.println(""At the End"");
}
}"
答案:
A.代码编译失败,因为无异常抛出
B.代码编译失败,因为未导入IOException异常类
C."输出Before Try
At the End"
D."输出Inside Catch
B.只有当catch语句未获得执行时,finally语句才获得执行
C.如果有finally语句,return语句将在finally语句执行完毕后才会返回
D.只有当异常抛出时,finally语句才获得执行
4."关于以下代码,说法正确的是?
class Example{
public static void main(String[] args) throws IOException {
test();
System.out.println(""Message1"");
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println(""Message2"");
精选最新版JAVASE综合测试题库188题(含答案)
2020年JAVASE综合考试试题库188题[含答案]一、选择题1."现有如下代码: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 catch2.以下哪些描述是正确的?答案:CDA.try语句块后必须至少存在一个catch语句块B.try语句块后可以存在不限数量的finally语句块C.try语句块后必须至少存在一个catch语句块或finally语句块D.如果catch和finally语句块同时存在,则catch语句块必须位于finally语句块前3."请问以下代码的直接执行结果是?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."4.在方法声明中,说明该方法可能会抛出的异常列表时使用哪个关键字?答案:DA.throwB.catchC.finallyD.throws5."如下代码执行后的输出结果是?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.编译失败6."现有如下代码: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和d7."下面代码的执行结果是?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.编译失败8.请问以下哪些关于try…catch…finally结构中的finally语句的描述是正确的?答案:CA.只有当一个catch语句获得执行后,finally语句才获得执行B.只有当catch语句未获得执行时,finally语句才获得执行C.如果有finally语句,return语句将在finally语句执行完毕后才会返回D.只有当异常抛出时,finally语句才获得执行9."关于以下代码,说法正确的是?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"10."给出以下代码: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 Exception11.以下哪些是Collection接口的子接口?答案:BDA.DictionaryB.ListC.MapD.Set12."以下代码执行结果是?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.代码编译成功13.关于try…catch…finally结构,描述正确的是些?答案:ACA.可以有多个catchB.只能有一个catchC.可以没有catchD.finally必须有14.Java语言中异常的分类是哪项?答案:A.运行时异常和异常B.受检异常和非受检异常C.错误和异常D.错误和运行时异常15.以下哪个方法是Math类中定义的?答案:A.absolute()B.log()C.cosine()D.sine()16.调用Math.random()方法最有可能输出以下哪些结果?答案:DA.-0.12和0.56E3B.0.12和1.1E1C.-23.45和0.0D.0.356和0.0317."以下代码的输出结果是什么?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.运行时输出异常信息18."以下代码的运行结果是什么?public class Example {public static void main(String[] args) {System.out.println(Math.min(0.0, -0.0));}}"答案:CA.代码编译失败B.输出0.0C.输出-0.0D.代码编译成功,但运行时输出异常信息19."给出以下代码,为了结果输出-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()20."给出以下代码,请问在程序的第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]));21."以下代码执行结果是?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不是有效的参数22.关于集合中对象的equals()和hashCode()规定说法错误的是?答案:CA.如果两个对象相同,那么他们的hashCode值需要一致B.如果两个对象的hashCode值一致,他们的equals方法不一定返回trueC.equals方法默认和==判定一致D.Java中hashCode就是对象的内存地址23."给出以下代码,执行结果是?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.输出Try24."下列代码执行后的结果是?public class Example {public static void main(String[] args) {try {System.out.println(Float.NaN == Float.NaN);System.out.println(Float.POSITIVE_INFINITY==Float.POSITIVE_INFINITY); } catch (Exception e) {System.out.println(""Exception"");}}"答案:DA.输出+G20:J20false falseB.输出ExceptionC.输出true trueD.输出false true25.为了保证方法的线程安全,声明方法的时候必须使用哪个修饰符?答案:A.newB.transientC.voidD.synchronized26."以下代码执行结果是?class RectObject {public int x;public int y;public RectObject(int x, int y) {this.x = x;this.y = y;}@Overridepublic int hashCode() {// TODO Auto-generated method stubreturn (int)System.nanoTime();}@Overridepublic boolean equals(Object obj) {return false;}}public class Example {public static void main(String[] args) {HashSet<RectObject> set = new HashSet<RectObject>();RectObject r1 = new RectObject(3, 3);RectObject r2 = new RectObject(5, 5);RectObject r3 = new RectObject(3, 3);set.add(r1);set.add(r2);set.add(r3);set.add(r1);System.out.println(""size:"" + set.size());}}"答案:A.size:1B.size:2C.size:3D.size:427.关于接口的说法,正确的是()答案:CA.接口中的方法只能在接口的实现类中实现B.接口中可定义变量成员C.接口中不能定义常量D.以上都不对28.请选择所有的正确答案。
精编2020年JAVASE综合考核题库完整版188题(含答案)
2020年JAVASE综合考试试题库188题[含答案]一、选择题1."给出以下代码,为了结果输出-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()2."关于以下代码正确的说法是: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行编译错误3."现有如下代码: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 catch4."下列代码的执行结果是?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 Exception5."以下代码的输出结果是什么?选择所有的正确答案。
精选最新版2020年JAVASE综合完整考试题库188题(含参考答案)
13.}"
答案:
A.代码在第1行编译错误
B.代码在第4行编译错误
C.代码在第6行编译错误
D.代码在第11行编译错误
7."下列代码的执行结果是?
class Example {
private void method1() throws Exception {
throw new RuntimeException();
}
}
}"
答案:
A.打印输出Message1
B.打印输出Message2
C.打印输出Message3
D.以上都不对
5."以下代码执行结果是什么?
class Example {
public static String output = """";
public static void foo(int i) {
ng.Math类的构造器是私有的,即声明为private,不能实例化一个Math类的对象
At the End"
4."以下代码中,如果test()方法抛出一个NullPointException异常时,打印输出什么内容?
class Example {
public static void main(String[] args) throws IOException {
try {
test();
System.out.println(""Inside Catch"");
}
System.out.println(""At the End"");
JavaSE期末总测试题
JavaSE期末总测试题JavaSE期末总测试一、简答题1.简述面向对象的特征有哪些方面?三大特征:封装、继承与多态1在现实开发中一般是实体类我们都会封装起来1私有化要封装的属性。
2根据需求提供对应的Get 或者是set 方法3.隐藏了实现、操作简单、提高数据的安全性2继承关键字extends3多态是指父类的应用类型变量指向了子类的对象又或者是父类接口的应用类型变量指向实现类的对象2.简述StringBuffer和StringBuilder的区别?StringBuffer是JDK1.0 开始的,是一个线程安全的存储字符容器。
如果是频繁修改字符串的内容,建议使用字符串缓冲类StringBuffer。
StringBuilder 是JDK1.5之后提出的,线程不安全,但是效率要高。
3. 在main方法中的执行代码如下:String s1 = "abc";String s2 = "abc";System.out.println(s1 == s2);请写出以上代码的输出的结果,分析输出结果的原因。
打印的结果:True分析String s1 = "abc"; //定义一个字符串类型的s1 并初始值为”abc”String s2 = "abc"; //定义一个字符串类型的s2 并初始值为”abc”System.out.println(s1 == s2); //打印判断这两个变量是同一个对象吗(内存地址一样吗)?4.多线程有几种实现方法?同步有几种实现方法?两大方法:继承与实现继承Thread 方法自定义一个类继调用start承Thread,重写Thread的run 方法把自定义线程的任务代码放在run方法上。
创建Thread类的子类对象,并且调用Start方法开启线程实现Runnable 接口自定义一个类实现Runnable接口,实现Runnable的run方法。
(完整版)JavaSE测试题及答案
b)class A implements B implements C
c)class A implements B,C
d)class A extends B,C
4.在Java中,使用interface声明一个接口时,以下()可以用来修饰该接口。(一项)
c)java.util.Random类的nexInt()方法返回一个0(包括)和指定值之间(不包括)之间的值
d)执行代码:System.out.println(new java.util.Random().nextInt(10)+1);输出的值不可能为10.
19.在Java中,执行以下代码,两条输出语句的值分别是()(一项)
a)FileReade
b)ObjectOutputStream
c)Serialixable
d)DataOutputStream
18.在Java中,下列选项说法不正确的是()(一项)
a)jav.util.Random类用于生成随机数
b)java.util.Random类的nextInt()方法返回一个此随机生成的整数值
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;
sb.append(“Java”);
System.out.println(sb.toString());
精选新版JAVASE综合考核题库完整版188题(含参考答案)
2020年JAVASE综合考试试题库188题[含答案]一、选择题1.下列哪些项是泛型的优点?答案:AA.不用向下强制类型转换B.代码容易编写C.类型安全D.运行速度快2."现有如下代码: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 catch3."下列代码的执行结果是?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 Exception4.Java语言中异常的分类是哪项?答案:A.运行时异常和异常B.受检异常和非受检异常C.错误和异常D.错误和运行时异常5.下列关于Math类说法错误的是答案:ng.Math类是final类,因此不能被其他类继承ng.Math类的构造器是私有的,即声明为private,不能实例化一个Math类的对象ng.Math类上定义的所有常量和方法均是public和static的,因此可以直接通过类名调用D.min()和max()方法的参数之一,如果是NaN值,则方法将返回另一个参数值6.以下哪个方法用于计算平方根?答案:BA.squareRoot()B.sqrt()C.root()D.sqr()7.调用Math.random()方法最有可能输出以下哪些结果?答案:DA.-0.12和0.56E3B.0.12和1.1E1C.-23.45和0.0D.0.356和0.038."以下代码的输出结果是什么?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.运行时输出异常信息9."以下代码的运行结果是什么?public class Example {public static void main(String[] args) {System.out.println(Math.min(0.0, -0.0));}}"答案:CA.代码编译失败B.输出0.0C.输出-0.0D.代码编译成功,但运行时输出异常信息10."给出以下代码,为了结果输出-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()11."现有: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();12."以下代码执行结果是?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不是有效的参数13."以下代码中,如果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.以上都不对14.以下哪些是Collection接口的子接口?答案:BDA.DictionaryB.ListC.MapD.Set15.以下哪些有关Vector类的描述是正确的?答案:CA.该类是个public类B.该类是个final类C.该类实现了List接口D.该类可以序列化16.表示键值对概念的接口是哪项?答案:DA.SetB.ListC.CollectionD.Map17.创建一个只能存放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>();18."现有: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())19."现有: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和S420.以下哪些语句用于创建一个Map实例?答案: DA.Map m = new Map();B.Map m = new Map(init capacity,increment capacity);C.Map m = new Map(new Collection());D.以上都不对21."以下代码执行结果是?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.onethreetwo22.以下说法错误的是?答案:CA.Java中接口不能被private或Protected修饰符修饰B.Java中一个类可以实现多个接口,但是只能继承一个父类C.接口中定义的成员变量,即使不说明,默认均是public\static\final的D.final\static\native关键字不能修饰接口,23."给出以下代码,请问在程序的第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]));24.以下哪些描述是正确的?答案:CDA.try语句块后必须至少存在一个catch语句块B.try语句块后可以存在不限数量的finally语句块C.try语句块后必须至少存在一个catch语句块或finally语句块D.如果catch和finally语句块同时存在,则catch语句块必须位于finally语句块前25.为了保证方法的线程安全,声明方法的时候必须使用哪个修饰符?答案:A.newB.transientC.voidD.synchronized26."现有以下代码:interface W {}class Z implements W {}class X extends Z {}class Y extends Z {}下列哪些代码段是正确的?"答案:A."X x=new X();Y y=new Y();Z z=new Z();y=(Y)x;"B."X x=new X();Y y=new Y();Z z=new Z();x=(X)y;"C."X x=new X();Y y=new Y();Z z=new Z();Z=(Z)x;"D."X x=new X();Y y=new Y();Z z=new Z();W w=(W)x;"27.Java语言中异常的分类是哪项?答案:CA.运行时异常和异常B.受检异常和非受检异常C.错误和异常D.错误和运行时异常28."现有代码:public class Example {public static void main(String[] args) {try {System.out.print(Integer.parseInt(""forty"")); } catch (RuntimeException e) {System.out.println(""Runtime"");}catch (NumberFormatException e) {System.out.println(""Number"");}}}执行结果是什么?"答案:CA.输出NumberB.输出RuntimeC.输出40D.编译失败29."对以下两个代码片段说法正确的是?代码片段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抛出异常30."下列代码执行后的结果是?public class Example {public static void main(String[] args) {try {double x = 64.0;double y = 0.0;System.out.println(x % y);} catch (Exception e) {System.out.println(""Exception"");}}}"答案:DA.编译失败B.输出ExceptionC.输出InfinityD.输出NaN31.关于异常处理,说法错误的是?答案:CA.try…catch…finally结构中,必须有try语句块,catch语句块和finally语句块不是必须的,但至少要两者取其一B.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch 中的参数类型有父类子类关系,此时应该将子类放在后面,父类放在前面C.一个方法可以抛出多个异常,方法的返回值也能够是异常D.Throwable是所有异常的超类32.关于try…catch…finally结构,描述正确的是些?答案:ACA.可以有多个catchB.只能有一个catchC.可以没有catchD.finally必须有33."现有如下代码: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) {34."关于以下代码正确的说法是: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行编译错误35.以下哪些是catch语句能够捕获处理的异常?答案:ACA.ThrowableB.ErrorD.String36."以下代码执行结果是什么?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.输出1432337."请问以下代码的直接执行结果是?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"");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."38."下列代码的运行结果是?class Example {public static void main(String[] args) throws IOException {try {return;} finally{System.out.println(""Finally"");}}}"答案:BA.无内容输出B.输出FinallyC.代码编译失败D.输出异常信息39."现有代码如下: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 middle40."如下代码执行后的输出结果是?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.编译失败41."现有如下代码: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和d42."下面代码的执行结果是?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.编译失败43.请问以下哪些关于try…catch…finally结构中的finally语句的描述是正确的?答案:CA.只有当一个catch语句获得执行后,finally语句才获得执行B.只有当catch语句未获得执行时,finally语句才获得执行C.如果有finally语句,return语句将在finally语句执行完毕后才会返回D.只有当异常抛出时,finally语句才获得执行44."关于以下代码,说法正确的是?class Example{public static void main(String[] args) throws IOException {if (args[0] == ""hello"") {throw new IOException();}}}"答案:AA.代码编译成功B.代码编译失败,因为main()方法是入口方法,不能抛出异常C.代码编译失败,因为IOException异常是系统异常,不能由应用程序抛出D.代码编译失败,因为字符串应该用equals方法判定一致性45."给出以下代码: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 Exception46.以下哪些类提供了创建一个目录的方法?答案:AA.FileB.DataOutputC.DirectoryD.FileDescriptor47."下列代码的执行结果是?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.输出448."下列代码的执行结果是什么?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.运行期间有异常抛出49.下面哪个是包装器类型?答案:AA.IntegerB.intC.charD.double50."下列代码在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 false51.数组是什么类型?答案:AA.引用类型B.基本数据类型C.不能确定D.其他类型52.下面哪条语句不正确?答案:AA.int[4] a;B.int a[];C.int[] a;D.int[] a,b;53.下面哪条语句不正确?答案: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};54.以下哪些是声明一个字符串数组的正确形式?答案:ABDA.String[] s;B.String []s;C.Sting [s]D.String s[]55.以下哪些语句正确?答案: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];56.以下哪些是初始化数组的正确形式?答案:ABDA.char c[] = {'a','b'};B.int []x[] = {{1,2,3},{1,2,3}};C.int x[3] = {1,2,3};D.int []x = {0,0,0};57.执行下列代码后,哪个结论是正确的 String[] s=new String[10]; 答案:DCA.s[10] 为 ""B.s[9] 为 nullC.s[0] 为未定义D.s.length 为1058."现有如下类型: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描述c59."以下代码运行输出的结果是什么?public class Example {public static void main(String[] args) {char[] c = new char[100];System.out.println(c[50]);}}"答案:DA.打印输出50B.打印输出49C.打印输出\u0000D.打印输出null60.0.5和0.5f的以下说法正确的式?答案:BA.都是引用类型B.Double是引用类型,double是基本数据类型C.都是基本数据类型D.Double是基本数据类型,double是引用类型61."给出下面代码:public class Example{static int arr[] = new int[10];public static void main(String a[]){System.out.println(arr[1]);}}那个语句是正确的?"答案:DA.编译时将产生错误B.编译时正确,运行时将产生错误C.输出0D.输出null62."以下代码执行的结果是:public class Example {public static void main(String[] args) {int[] x = { 1, 2, 3 };x[1] = (x[1] > 1) ? x[2] : 0;System.out.println(x[1]);}}"答案:CA.输出1B.输出2C.输出3D.输出463.从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.以下哪个是Runnable接口中定义的方法?答案:A.start()B.run()C.stop()D.yield()67."以下代码的执行结果是?public class Example implements Runnable {public static void main(String args[]) {Example ex = new Example();Thread t = new Thread(ex);t.start();}System.out.print(""pong"");}}"答案:A.输出pongB.运行时输出异常信息C.运行后无任何输出D.编译失败68.以下哪个关于Runnable的描述是正确的?答案:A.Runnable是Java语言的一个关键字,用于修饰类,来表明该类是一个独立线程B.Runnable是一个接口,实现该接口的类对象可以提供给Thread类构造器作为创建线程的依据C.Runnable是一个类,继承该类的子类可以作为独立的线程存在D.以上皆不对69.Java UDP编程主要用到的两个类型是答案:A.UDPSocketB.DatagramSocketC.UDPPacketD.DatagramPacket70."以下给出代码运行后的结果是?public class Example {public static void main(String[] args) {int[] refToArray = { 10, 11 };int var = 1;refToArray[var - 1] = var = 2;System.out.println(refToArray[0] + "" "" + refToArray[1]);}}"答案:CA.编译失败B.编译通过,但运行时提示异常C.2 11D.10 271.为了能够访问对封装的属性的访问和修改,方法往往用哪个修饰符修饰?答案:AA.publicB.protectedC.privateD.都可以72."以下代码的执行结果是?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文件已经存在,则一个异常被抛出73.以下说法正确的是()答案:A.RandomAccessFile类是File类的子类B.FileWriter类提供有操作基本数据类型的方法C.RandomAccessFile类提供有删除磁盘文件的方法D.File类提供有删除磁盘文件的方法74.现有int x = reader.read(),下列哪一项正确?答案:A.reader不是FileReader或者BufferedReader类型B.reader可以使FileReader或者BufferedReaderC.reader可以使FileReader类型,但不能使BufferedReader类型D.reader可以使BufferedReader类型,但不能使FileReader类型75."现有: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类型76.以下哪些是FileOutputSteram类的正确构造形式?答案:A.FileOutputStream(FileDescriptor fd)B.FileOutputStream(String n,boolean a)C.FileOutputStream(boolean a)D.FileOutputStream(File f)77.以下哪些是定义在java.io包中的抽象类?答案:A.InputStreamB.PrintStreamC.ReaderD.FileInputStream78.以下哪些描述是正确的?答案:A.Writer类可以使用不同的字符编码向输出流写入字符B.Writer类可以向输出流写入Unicode字符C.Writer类提供向输出流写入任意Java基本数据类型的方法D.Writer类提供向输出流写入引用数据类型的方法79.方法可以使用哪个访问权限修饰符?答案:DA.publicB.protectedC.privateD.都可以80.属性可以使用哪个访问权限修饰符?答案:CA.publicB.protectedC.privateD.都可以81."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.javajavaCjava82.如果类中的成员变量只可以被同一包访问,则使用如下哪个约束符? 答案:CA. privateB.publicC.protectedD.no modifier83."以下程序运行的结果是:public class Example {public static void main(String[] args) {System.out.println(""String"".replace('g', 'G') == ""String"".replace('g','G')); System.out.println(""String"".replace('t', 't') == ""String"".replace('t','t')); }}"答案:CA.输出true trueB.输出true falseC.输出false falseD.输出false true84.以下哪些是关于完全封装的正确描述?答案:CA.所有的变量都是私有的B.所有的方法都是私有的C.只有通过提供的方法才能访问类属性D.通过方法和变量名均可访问属性85."执行下列语句后,变量i的值是:byte i = 127;i = i+ 2;"答案:-127A.0B.编译不能通过C.运行时抛出异常D.-12886.char类型的取值范围是?答案:A.0-2^16B.0-2^16-1C.-2^15-2^15D.0-2^15-187.以下哪个是10进制数123的正确的十六进制表示?答案:A.0x67B.0x123C.0x7BD.6788.以下哪个是10进制数124的正确的八进制表示?答案:A.0173B.0185C.0x185D.0x17389.下面哪个不是引用类型?答案:DA.StringB.DoubleC.FloatD.float90.下面哪个说法正确?A.基本数据类型都可以直接使用=赋值B.引用类型绝对不能直接用=赋值,都需要使用new关键字C.String不是引用类型D.char是引用类型91.Double和double分别是什么类型?答案:BA.都是引用类型B.Double是引用类型,double是基本数据类型C.都是基本数据类型D.Double是基本数据类型,double是引用类型92.0.3==0.3f的结果是?答案:BA.trueB.falseC.D.93."下列代码执行后的结果是?public class Example {public static void main(String[] args) {try {System.out.println(Float.NaN == Float.NaN);System.out.println(Float.POSITIVE_INFINITY==Float.POSITIVE_INFINITY); } catch (Exception e) {System.out.println(""Exception"");}}"答案:DA.输出+G20:J20false falseB.输出ExceptionC.输出true trueD.输出false true94.构造方法可以使用哪个访问权限修饰符?答案:AA.publicB.protectedC.private95.以下哪个语句实现了声明一个二维整数数组?答案:CA.int[]5[5] a = new int[][];B.int a = new int[5,5];C.int []a[] = new int[5][5];D.int[][] a = new [5]int[5];96."public class TestBlock {private int x;{System.out.println(""实例块"");}static{System.out.println(""静态块"");}public static void main(String[] args) {new TestBlock();new TestBlock();}}运行结果是?"答案:BA."静态块实例块"B."静态块实例块实例块"C."静态块"D."实例块"97."public class TestBlock {private int x;{System.out.println(""实例块"");}static{System.out.println(""静态块"");}public static void main(String[] args) {}}运行结果是?"答案:AA.静态块B.无输出C."静态块实例块"D.实例块98."对于以下代码,请问插入哪个语句可以访问到内部类InsideOne? public class Example {public static void main(String[] args) {EnclosingOne eo=new EnclosingOne();//插入语句处}}class EnclosingOne{public class InsideOne{}}"答案:A.InsideOne ei=new eo.InsideOne();B.InsideOne ei=EnclosingOne.new InsideOne();C.InsideOne ei=new EnclosingOne.InsideOne();D.EnclosingOne.InsideOne ei=eo.new InsideOne();99.有关匿名内部类的描述正确的是答案:A.匿名内部类没有显式构造器B.匿名内部类可以实现接口C.匿名内部类可以继承非final类D.匿名内部类可以同时实现接口和继承非final类100.以下哪些类型的变量可以被一个内部类访问?答案:A.所有static变量B.所有final变量C.所有的实例成员变量D.只有final静态变量101.使用哪个关键字导入其他包?答案:BA.includeB.importC.exportD.package102.哪个包可以不导入直接使用?答案:CA.java.ioB.java.utilngD.java.sql103.要使用com.chinasofti包下所有类,哪条语句正确?答案:BA.import *;B.import com.chinasofti.*C.import com.chinasofti;D.import *.*;104.类(外部类)可以使用哪个访问权限修饰符?答案:ABA.publicB.protectedC.privateD.default105."给出以下代码,假设arr数组中只包含正整数值,请问下列代码段实现了什么功能?public int guessWhat(int arr[]) {int x = 0;for (int i = 0; i < arr.length; i++) {x = x < arr[i] ? arr[i] : x;}return x;答案:AA.获取数组的最大索引值B.判断数组中是否存在重复元素C.获取数组中元素个数D.获取数组中的最大元素106.下面哪个选项正确?答案:AA.int[][] a=new int[2][];B.int[2][] a=new int[2][];C.int a[2][3]=new int[][];D.int a[][]={3,4,5};107.对象用什么操作符调用属性或方法?答案:AA..B.*C.xD.%108."以下代码的执行结果是?public class Example {public static void main(String[] args) {Element[] a1 = new Element[1];Element[][] a2 = new Element[2][1];Element[][][] a3 = new Element[3][3][3]; System.out.print(a3[2][2][2]);a1[0] = new Element();a2[0] = a2[1] = a1;a3[0] = a3[1] = a3[2] = a2;System.out.print(a3[2][2][2]);}}class Element {}"答案:DA.输出0B.输出nullC.编译不能通过D.运行时输出异常109.数组拷贝方法在哪个类中?答案:DA.ArrayB.StringC.自定义类D.System110."public class TestPass {String str = new String(""hello"");char[] ch = {'a','b','c'};public static void main(String[] args) {TestPass ex = new TestPass();ex.change(ex.str,ex.ch);System.out.print(ex.str + "" and "");System.out.print(ex.ch);}private void change(String str,char[] ch) {str = ""test ok"";ch[1] = 'g';}}程序运行结果?"答案:DA.hello and abcB.hello and agC.hello and acD.hello and agc111.表达式(short)10/10.2*2运算后结果是什么类型?答案:CA.shortB.intC.doubleD.float112."一下代码运行输出结果是?public class Example {public static void main(String[] args) {System.out.println(3.0/0);答案:DA.编译失败B.运行时抛出异常C.0D.打印输出Infinity113."以下代码的执行结果是:public class Example {public static void main(String[] args) {byte x = -64;byte y = -6;System.out.println(x / y + "" "" + x % y);}"答案:DA.编译失败B.运行时抛出异常C.10 4D.10 -4114.有int变量i的值为16384,1>>33的结果为?答案:BA.运算数不符合运算符要求B.0C.8192D.-1115."以下给出代码运行后的结果是?public class Example {public static void main(String[] args) {int x=1;int y=~x+1;System.out.println(x+"" ""+y);}}"答案:CA.打印输出-1 1B.打印输出1 1C.打印输出1 -1D.打印输出-1 -1116."给出以下代码,改程序的执行结果是?interface Base {int k = 0;}public class Example implements Base {public static void main(String[] args) {int i;Example exm = new Example();i = exm.k;i = Example.k;i = Base.k;System.out.println(i);}}"答案:DA.无内容输出B.代码编译失败C.代码运行时输出异常信息D.打印输出0117.下面哪个是正确的二维数组声明?答案:DA.int[] a;B.int[2][] a;C.int a[2][3];D.int[][] a;118.Java类的属性,不能用哪个修饰符?答案:DA.publicB.protectedC.privateD.都可以119.java文件编译后,将生成什么文件?答案:CA.dllB.jarC.classD.doc。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JavaSE期末总测试注意:直接将自己的答案编写在每一道试题的下面,代码要规范,最好使用不同背景加注,提交试卷的时候文件的命名格式如:”姓名.doc”一、简答题1.简述面向对象的特征有哪些方面?三大特征:封装、继承、多态1、封装:在开发中,实体类我们一般都会封装起来,隐藏对象的属性和实现细节,仅对外提供公共访问方式。
1)私有化属性2)根据需求设置set、get方法3)提供公共方法对其访问2、继承:1)父类的由来:多个类不断向上抽取共性内容而来的2)只支持单继承,但支持多重继承,即A继承B,B继承C,C继承D3)为什么不支持多继承,当两个父类中有相同的功能时,子类方法调用该功能时该运行哪一个呢?4)当类与类之间存在着所属关系时,才具备了继承的前提5)子类覆盖父类时,必须要保证子类方法的权限大于等于父类方法的权限6)覆盖时,要么都静态,要么都不静态3、多态:1)体现:父类的引用或者接口的引用指向了自己的子类对象,即父类可以调用子类中复写过的方法。
// Animal a = new Cat();2)前提:必须要有关系,如继承、实现;通常会有覆盖操作3)弊端:当父类引用指向子类对象时,只能访问父类中含有的方法2.简述StringBuffer和StringBuilder的区别?(10分)StringBuffer:字符串缓冲区,从JDK1.0开始的,是一个线程安全的存储字符容器。
如果频繁修改字符串的内容,建议使用字符串缓冲类StringBuffer。
StringBuilder:字符串缓冲区,从JDK1.5开始的,非线程安全,但效率高。
单线程操作,使用StringBuilder效率高;多线程操作,使用StringBuffer安全。
3. 在main方法中的执行代码如下:String s1 = "abc";String s2 = "abc";System.out.println(s1 == s2);请写出以上代码的输出的结果,分析输出结果的原因。
(10分)打印:trueString对象可以直接使用字面量赋值,而且多个String对象指向同一个字面量时,在堆内存当中只有一个java对象。
如果调用String构造函数给String类型的引用赋值,那么每调用一次构造函数,在堆内存当中就会生成一个string对象。
所以,如果s1、s2都是同一个字面量赋值,那么无论是用==还是equals(),都返回true。
如果s1、s2使用String构造函数生成对象,并且传入的字面量相等,那么用==返回false,用equals()返回true。
4.多线程有几种实现方法?同步有几种实现方法? (10分)两大方法:extend Thread类、implements Runnable接口1、继承Thread类,由子类腹泻run()方法1)自定义子类继承Thread类2)将让线程运行的代码存储到run()方法中3)通过创建Thread的子类对象,创建线程对象4)通过子类调用start()方法,开启线程2、实现Runnable接口1)自定义类实现Runnable接口2)将让线程运行的代码存储到run()方法中3)创建Thread类线程对象4)创建自定义类对象,将自定义类对象作为实际参数传递给Thread类的构造函数(为了让线程对象明确要运行的run方法所属的对象)5)调用Thread对象的start方法开启线程,并运行Runnable接口中的run方法synchronized,wait 与notify 都可以实现同步5.列出Java你所知道的集合体系,并简述各自的特点.(10分)集合:用于存储数据的容器特点:集合用于存储对象;集合是可变长度的集合与数组的区别:1)数组是固定长度的,集合是可变长度的2)数组可以存储基本数据类型,也可以存储引用数据类型;集合只能存储引用数据类型3)数组存储的元素是同一个类型的元素;集合存储的对象可以是不同数据类型的对象单列集合:Collection,根接口List:有序,元素有索引,元素可以重复Set:无序,不可以存储重复元素,必须保证元素的唯一性ArrayList:底层的数据结构是数组,线程不同步,非线程安全,查询速度快,增删慢;LinkedList:底层的数据结构是链表,线程不同步,非线程安全,查询速度慢,增删快;Vector:底层的数据结构是数组,线程同步,线程安全,查询、增删都非常慢HashSet:底层是哈希表,线程不同步,非线程安全,无序、高效LinkedHashSet:有序,HashSet的子类TreeSet:底层的数据结构是二叉树,线程不同步,非线程安全,对Set集合中的元素排序双列集合:Map,根接口HashTable:底层是哈希表数据结构,线程同步,不可以存储null键、null值HashMap:底层是哈希表数据结构,线程不同步,可以存null键、null值,替代了HashTable TreeMap:底层是二叉树结构,可以对map集合中的键值进行指定顺序的排序6.集合与数组的区别是什么呢?(10分)1)集合是可变长度的,数组是固定长度的2)集合只能存储对象的引用,数组既可以存储对象的引用又可以存储基本数据类型3)集合可以存储不同数据类型的元素,数组只能存储相同数据类型的元素7.Collection和Collections的区别?(10分)Collection是java.util下的接口,是各种集合结构的父接口,继承于它的接口主要有Set、List,提供了一些关于集合的一些操作,如插入、删除、判断一个元素是否为其成员、遍历等操作。
Collections是java.util下的类,是集合的帮助类,提供一些静态方法,实现对集合的查找、排序、替换、线程安全化等操作。
8.HashSet是如何保证元素唯一性的。
(10分)HashSet底层数据结构是哈希表,不存入重复元素,线程不同步,无序、高效。
HashSet集合保证元素的唯一性,是通过元素的hashCode方法和equals方法完成的。
当元素的hashCode值相同时,才判断元素的equals是否为true,如果为true,则视为相同元素,不存储;如果为false,则存储。
如果hashCode值不同,则不判断equals,从而提高对象的比较速度。
9.简述ArrayList与Vector的区别,ArrayList与LinkedList的区别(10分) ArrayList与Vector底层数据结构都是Object数组,ArrayList非线程安全;Vector 线程安全,但查询、增删都非常慢。
ArrayList:底层数据结构是Object数组,线程不同步,非线程安全,查询快,增删慢LinkedList:底层数据结构是链表,线程不同步,非线程安全,查询慢,增删快如果我们需要保留存储顺序,并且保留重复元素的时候,使用List;如果查询比较多,则使用ArrayList;如果存取比较多,则使用LinkedList;如果要线程安全,则使用Vector。
二、编程题(写出代码思路,伪代码)1.使用TCP,模拟一下QQ的信息交流功能,客户端,服务端(10分)package test;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import .ServerSocket;import .Socket;public class Test22 {/*建立 tcp 的服务器接受客户端的连接,传声一个Socket获取到Socket的输入流对象获取到Socket输出流的对象获取键盘的输入流对象读取客户端的数据关闭资源*/public static void main(String[] args) throws IOException {ServerSocket serverSocket = new ServerSocket(8088);Socket socket =serverSocket.accept();BufferedReader sReader = new BufferedReader(newInputStreamReader(socket.getInputStream()));OutputStreamWriter sOut = newOutputStreamWriter(socket.getOutputStream());BufferedReader keyReader = new BufferedReader(new InputStreamReader(System.in) );String line = null;while((line = sReader.readLine())!=null){System.out.println("服务端接收到的信息:"+line);System.out.println("请输入回送给客户端");line=keyReader.readLine();sOut.write(line+"\r\n");sOut.flush();}serverSocket.close();}}客户端类package test;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import .InetAddress;import .Socket;import .UnknownHostException;public class Test22send {public static void main(String[] args) throws IOException, IOException {//建立tcp的客户端服务//获取socket的输出对象//获取socket的输入流对象//获取键盘的输入流对象,读取数据//不断的读取键盘录入数据,然后把数据写出//flush刷一把//...Socket socket = new Socket(InetAddress.getLocalHost(),8088);OutputStreamWriter sOut = newOutputStreamWriter(socket.getOutputStream());BufferedReader sReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));BufferedReader keyReader = new BufferedReader(new InputStreamReader(System.in));String line = null;while((line = keyReader.readLine())!=null){sOut.write(line+"\r\n");sOut.flush();line = sReader.readLine();System.out.print("服务器送回的数据是:"+line);}socket.close();}}2.编写一个方法实现拷贝任意文件的功能,要求效率最高。