Java SE考试题1
- 格式:doc
- 大小:44.50 KB
- 文档页数:5
javase练习题一、基础知识篇1. Java基本数据类型有哪些?分别写出它们的默认值。
2. 什么是封装?简述封装的优点。
3. 请写出Java中的四种访问修饰符,并说明它们的访问权限。
4. 什么是构造方法?它与普通方法的区别是什么?5. 在Java中,如何实现方法的重载和重写?二、面向对象篇2. 如何实现一个简单的Java类,包含两个属性和一个方法?3. 简述Java中的继承机制及其作用。
4. 什么是接口?与抽象类有什么区别?5. 请举例说明Java中的多态性。
三、集合框架篇1. Java集合框架中常用的集合类有哪些?2. 请简述ArrayList和LinkedList的区别。
3. 什么是HashMap?它的工作原理是什么?4. 请解释HashSet和TreeSet的区别。
5. 如何遍历一个List集合?四、异常处理篇1. 什么是异常?Java中的异常分为哪几类?2. 请举例说明trycatchfinally语句的使用方法。
3. 什么是自定义异常?如何创建和使用自定义异常?4. 请简述Java异常处理机制的作用。
int a = 10;int b = 0;int result = a / b;五、IO流篇1. 请简述Java IO流的分类。
2. 如何实现文件复制功能?3. 请解释字节流和字符流的区别。
4. 什么是序列化和反序列化?如何实现?5. 请举例说明Java中的文件操作。
六、多线程篇1. 什么是线程?线程和进程有什么区别?2. 请简述线程的生命周期。
3. 如何创建一个线程?有哪几种方式?4. 什么是线程同步?为什么需要线程同步?5. 请解释线程池的概念及其作用。
七、网络编程篇1. 请简述TCP和UDP协议的区别。
2. 如何实现一个简单的Socket通信?3. 什么是URL?如何解析一个URL?4. 请简述HTTP协议的工作原理。
5. 如何实现一个简单的HTTP服务器?八、Java新特性篇1. 请列举Java 8中的几个新特性。
2020年JAVASE综合考试试题库188题[含答案]一、选择题1."下列代码执行后的输出是哪项?public class Example {public static void main(String[] args) {List<String> al = new ArrayList<String>();al.add(""1"");al.add(""2"");al.add(""2"");al.add(""3"");System.out.println(al);}}"答案:A.[1,2,3]B.[1,2,3,3]C.[1,2,2,3]D.[2,1,3,2]2.调用Math.random()方法最有可能输出以下哪些结果?答案:DA.-0.12和0.56E3B.0.12和1.1E1C.-23.45和0.0D.0.356和0.033."以下代码的运行结果是什么?public class Example {public static void main(String[] args) {System.out.println(Math.min(0.0, -0.0));}}"答案:CA.代码编译失败B.输出0.0C.输出-0.0D.代码编译成功,但运行时输出异常信息4."以下代码的运行结果是什么?public class Example {public static void main(String[] args) {double d1 = -0.5;System.out.println(""Ceil d1="" + Math.ceil(d1));System.out.println(""Floor d1="" + Math.floor(d1));}}"答案:BA.输出Ceil d1=-0.0 Floor d1=-1.0B.输出Ceil d1=0.0 Floor d1=-1.0C.输出Ceil d1=-0.0 Floor d1=-0.0D.输出Ceil d1=0.0 Floor d1=0.05."给出以下代码,请问在程序的第6行插入那条语句,改程序可依次打印输出11、10、9?1.public class Example {2. public static void main(String[] args) {3. double x[] = { 10.2, 9.1, 8.7 };4. int i[] = new int[3];5. for (int a = 0; a < x.length; a++) {6.7. System.out.println(i[a]);8. }9. }10.}"答案:CA.i[1] = ((int)Math.min(x[a]));B.i[1] = ((int)Math.max(x[a]));C.i[1] = ((int)Math.ceil(x[a]));D.i[1] = ((int)Math.floor(x[a]));6."以下代码执行结果是?public class Example {public static void main(String[] args) {System.out.println(Math.min(Float.NaN, Float.POSITIVE_INFINITY));}}"答案:AA.输出NaNB.打印输出InfinityC.运行时异常,因为NaN不是有效的参数D.运行时异常,因为Infinity不是有效的参数7.下列哪些项是泛型的优点?答案:AA.不用向下强制类型转换B.代码容易编写C.类型安全D.运行速度快8.以下哪些是Collection接口的子接口?答案:BDA.DictionaryB.ListC.MapD.Set9.以下哪些有关Vector类的描述是正确的?答案:CA.该类是个public类B.该类是个final类C.该类实现了List接口D.该类可以序列化10.表示键值对概念的接口是哪项?答案:DA.SetB.ListC.CollectionD.Map11.现有int x = reader.read(),下列哪一项正确?答案:A.reader不是FileReader或者BufferedReader类型B.reader可以使FileReader或者BufferedReaderC.reader可以使FileReader类型,但不能使BufferedReader类型D.reader可以使BufferedReader类型,但不能使FileReader类型12.创建一个只能存放String的泛型ArrayList的语句是哪项?答案:BA.ArrayList<int> al = new ArrayList<int>();B.ArrayList<String> al = new ArrayList<String>();C.ArrayList al = new ArrayList<String>();D.ArrayList<String> al = new List<String>();13.以下哪个方法是Math类中定义的?答案:A.absolute()B.log()C.cosine()D.sine()14."现有:list是一个合法的集合引用getCollection()返回一个合法集合的引用,以下语句哪些是合法的?" 答案:CA.for(Object o : list)B.for(Object o : getCollection())C.for(Object o : list.iterator())D.for(Iterator I;list.iterator();i.hasNext())15."以下代码的执行结果是?public class Example {public static void main(String[] args) {TreeSet<String> t = new TreeSet<String>();if (t.add(""one""))if (t.add(""two""))if (t.add(""three""))t.add(""four"");for (String s : t) {System.out.print(s);}}}"答案:DA.oneB.onethreetwoC.onetwothreefourD.fouronethreetwo16."现有:public class Example {public static void main(String[] args) {TreeSet<String> s = new TreeSet<String>();s.add(""one"");s.add(""two"");// 插入代码处for (String s2 : sorted) {System.out.print(s2 + "" "");}}}和四个代码片段:s1:SortedSet sorted = s.tailSet(s.first());s2:SortedSet<String> sorted = s.tailSet(s.first());s3:SortedSet sorted = (SortedSet)s.tailSet(s.first());s4:SortedSet sorted = (SortSet<String>)s.tailSet(s.first());分别插入到插入代码处,哪项可以编译?"答案:A.S2B.S2和S3C.S2和S4D.S2、S3和S417.以下哪些语句用于创建一个Map实例?答案: DA.Map m = new Map();B.Map m = new Map(init capacity,increment capacity);C.Map m = new Map(new Collection());D.以上都不对18."现有如下类型:a - java.util.Hashtableb - java.util.Listc - java.util.ArrayListd - java.util.SortedSet和定义:1-使用本接口,允许用户控制集合中每个元素的插入位置2-使用本集合,确保用户可以按照递增或元素的自然顺序遍历集合3-本具体类型允许空元素及基于索引的访问4-本集合是同步的哪一组匹配是对的?"答案:A.2描述d,3描述bB.1描述b,3描述cC.3描述a,4描述bD.4描述a,2描述c19."现有:public class Example {public static void main(String[] args) {//插入代码处c.put(""X"", 123);}}下列哪些插入到插入代码处能够正常编译?"答案:A.Map c = new SortedMap();B.HashMap c = new HashMap();C.SortedMap c = new TreeMap();D.Map c = new LinkedHashMap();20.以下哪些类提供了创建一个目录的方法?答案:AA.FileB.DataOutputC.DirectoryD.FileDescriptor21."以下代码的执行结果是?public class Example {public static void main(String[] args) {File f = new File(""c:\\large.txt"");}}"答案:rge.txt文件在本地硬盘上被创建B.在Unix系统上运行失败,因为路径分割符不正确rge.txt文件在本地硬盘上没有被创建D.如果large.txt文件已经存在,则一个异常被抛出22."现有如下代码:public class Example {public static void main(String[] args) {try {int x=Integer.parseInt(""42a"");//插入代码处System.out.println(""oops"");}}}在插入代码处插入哪些语句可以在运行后输出oops?"答案:CA. } catch (IllegalArgumentException e) { (非法参数异常)B.} catch (IllegalStateException c) {C. } catch (NumbelFormatException n) {D.} catch (ClassCastException c) {23.欲构造ArrayList类继承了List接口,下列哪个方法是正确的?答案:BA.ArrayList myList=new Object()B. List myList=new ArrayList()C.ArrayList myList=new List()D.List myList=new List()24."关于以下代码,说法正确的是?class Example {public static void main(String[] args) throws IOException {System.out.println(""Before Try"");try {} catch (java.io.IOException e) {System.out.println(""Inside Catch"");}System.out.println(""At the End"");}}"答案:A.代码编译失败,因为无异常抛出B.代码编译失败,因为未导入IOException异常类C."输出Before TryAt the End"D."输出Inside CatchAt the End"25.以下哪些方法在Class类中定义?答案:A.getConstructors()B.getPrivateMethods()C.getDeclaredFields()D.getImports()26.以下哪些是catch语句能够捕获处理的异常?答案:ACA.ThrowableB.ErrorC.ExceptionD.String27."请问以下代码的直接执行结果是?class Example{public static void main(String[] args) {try {System.out.println(args[0]);System.out.println(""I'm nomal"");if (true)return;} catch (Exception ex) {System.out.println(""I'm exception"");if (true)return;} finally {System.out.println(""I'm finally."");}System.out.println(""Out of try."");}}"答案:AA."I'm exceptionI'm finally."B.代码不能编译通过,因为最后一条语句位于return后,不可到达C.代码编译通过,但运行时输出异常信息D."I'm nomalI'm finally."28."下列代码的运行结果是?class Example {public static void main(String[] args) throws IOException {try {return;} finally{System.out.println(""Finally"");}}}"答案:BA.无内容输出B.输出FinallyC.代码编译失败D.输出异常信息29.假设有自定义异常类ServiceException,那么抛出该异常的语句正确的是哪项?答案:CA.raise ServiceExceptionB.throw new ServiceException()C.throw ServiceExceptionD.throws ServiceException30.在方法声明中,说明该方法可能会抛出的异常列表时使用哪个关键字?答案:DA.throwB.catchC.finallyD.throws31."如下代码执行后的输出结果是?public class Example {public static void main(String[] args) {try {throw new Exception();} catch (Exception e) {try {throw new Exception();} catch (Exception e2) {System.out.println(""inner"");}System.out.println(""middle"");}System.out.println(""out"");}}"答案:DA.inner outerB.middle outerC.inner middle outerD.编译失败32."现有如下代码:public class Example {public static void main(String[] args) {// anew Example().topGo();}void topGo() {// bmiddleGo();}void middleGo() {// cgo();System.out.println(""late middle"");}void go() {// dthrow new Exception();}}为了使代码能够编译通过,需要在哪个地方加入声明throws Exception?" 答案:BA.dB.c和dC.b、c和dD.a、b、c和d33."下面代码的执行结果是?class Example extends Utils {public static void main(String[] args) {try {System.out.print(new Example().getlnt(""42""));} catch (Exception e) {System.out.println(""Exc"");}}int getlnt(String arg) throws Exception {return Integer.parseInt(arg);}}class Utils {int getlnt() {return 42;}}"答案:BA.NFExcB.42C.42NFExcD.编译失败34.以下哪个方法用于计算平方根?答案:BA.squareRoot()B.sqrt()C.root()D.sqr()35."关于以下代码,说法正确的是?class Example{public static void main(String[] args) throws IOException {if (args[0] == ""hello"") {throw new IOException();}}}"答案:AA.代码编译成功B.代码编译失败,因为main()方法是入口方法,不能抛出异常C.代码编译失败,因为IOException异常是系统异常,不能由应用程序抛出D.代码编译失败,因为字符串应该用equals方法判定一致性36.定义在Math类上的round(double d)方法的返回值类型是什么?答案:A.charB.intC.longD.double37."给出以下代码:class Example {public static void main(String[] args) throws IOException {try {methodA();} catch (IOException e) {System.out.println(""caught IOException"");}catch (Exception e) {System.out.println(""caught Exception"");}}}如果methodA()方法抛出一个IOException异常,则该程序的运行结果是什么?" 答案:A.无内容输出B.代码编译失败C.输出caught IOExceptionD.输出caught Exception38."给出以下代码,执行结果是?class Example {public static void main(String[] args) throws IOException {aMethod();}static void aMethod(){try {System.out.println(""Try"");return;} catch (Exception e) {System.out.println(""Catch"");}finally{System.out.println(""Finally"");}}"答案:A.代码编译成功,但运行期间抛出异常B.代码便以失败,因为return语句错误C.输出Try和FinallyD.输出Try39."以下代码中,如果test()方法抛出一个NullPointException异常时,打印输出什么内容?class Example {public static void main(String[] args) throws IOException {try {test();System.out.println(""Message1"");} catch (ArrayIndexOutOfBoundsException e) {System.out.println(""Message2"");}finally{System.out.println(""Message3"");}}}"答案:A.打印输出Message1B.打印输出Message2C.打印输出Message3D.以上都不对40."以下代码执行结果是什么?class Example {public static String output = """";public static void foo(int i) {try {if (i == 1) {throw new Exception();}output += ""1"";} catch (Exception e) {output += ""2"";return;} finally {output += ""3"";output += ""4"";}public static void main(String[] args) throws IOException {foo(0);foo(1);System.out.println(output);}}"答案:A.无内容输出B.代码编译失败C.输出13423D.输出1432341."以下代码执行结果是?public abstract class Example extends Base {public abstract void method();}class Base {public Base() throws IOException {throw new IOException();}}"答案:A.代码编译失败,因为非抽象类不能被扩展为抽象类B.代码编译失败,因为必须提供一个可以抛出或可以不抛出IOException异常的构造器C.代码编译失败,以in为必须提供一个可以抛出IOException异常或其子类的构造器D.代码编译成功42."关于以下代码正确的说法是:1.public class Example {2. int x = 0;3.4. public Example(int inVal) throws Exception {5. if (inVal != this.x) {6. throw new Exception(""Invalid input"");7. }8. }9.10. public static void main(String[] args) {11. Example t = new Example(4);12. }13.}"答案:A.代码在第1行编译错误B.代码在第4行编译错误C.代码在第6行编译错误D.代码在第11行编译错误43."现有如下代码:public class Example {public static void main(String[] args) {try {System.out.println(""before"");doRisyThing();System.out.println(""after"");} catch (Exception e) {System.out.println(""catch"");}System.out.println(""done"");}public static void doRisyThing() throws Exception{ //this code returns unless it throws an Exception }}该代码可能的执行结果有哪些?"答案:A.before catchB.before after doneC.before catch doneD.before after catch44.Java语言中异常的分类是哪项?答案:A.运行时异常和异常B.受检异常和非受检异常C.错误和异常D.错误和运行时异常45.下列关于Math类说法错误的是ng.Math类是final类,因此不能被其他类继承ng.Math类的构造器是私有的,即声明为private,不能实例化一个Math类的对象ng.Math类上定义的所有常量和方法均是public和static的,因此可以直接通过类名调用D.min()和max()方法的参数之一,如果是NaN值,则方法将返回另一个参数值46."现有:String s = ""write a line to a file"";w.print(s + ""\n"");哪一个是对的?"答案:A.w既可以是PrintWriter类型,也可以是BufferedWriter类型B.w既不可以是PrintWriter类型,也不可以是BufferedWriter类型C.w可以是PrintWriter类型,但不可以是BufferedWriter类型D.w既可以是BufferedWriter类型,也可以是PrintWriter类型47.请问以下哪些关于try…catch…finally结构中的finally语句的描述是正确的?答案:CA.只有当一个catch语句获得执行后,finally语句才获得执行B.只有当catch语句未获得执行时,finally语句才获得执行C.如果有finally语句,return语句将在finally语句执行完毕后才会返回D.只有当异常抛出时,finally语句才获得执行48.以下哪个语句用于获取数组中的元素个数?答案:AA.intArray.size();B.intArray.size();C.intArray.length;D.intArray.length();49."下列代码在JDK1.5以上版本执行的结果是?public class Example {public static void main(String[] args) {Integer i = 10;Integer j = 10;System.out.println(i == j);i = 210;j = 210;System.out.println(i == j); (超过-128~127为false)}答案:BA.抛出异常B.输出true falseC.输出true trueD.输出false false50.数组是什么类型?答案:AA.引用类型B.基本数据类型C.不能确定D.其他类型51.下面哪条语句不正确?答案:AA.int[4] a;B.int a[];C.int[] a;D.int[] a,b;52.下面哪条语句不正确?答案:CA.int[] a={1,2,3};B.int a[]=new int[4];C.int[] a=new int[];D.int[] a=new int[]{2,3,4};53.存在Employee类,如何创建一个长度为3的Employee类型数组?答案:BA.Employee[3] e;B.Employee[] e=new Employee[3];C.Employee e[3];D.Employee[3] e=new Employee[];54.以下那种初始化数组的方式是错误的?答案:CA.String[] names = {"zhang","wang","li"};B."String names[] = new String[3];names[2] = ""li"";names[0] = ""zhang"";names[1] = ""wang"";"C.String[3] names = {"zhang","wang","li"};D.以上写法都正确55.以下哪些是声明一个字符串数组的正确形式?答案:ABDA.String[] s;B.String []s;C.Sting [s]D.String s[]56.以下哪些语句正确?答案:ADA.double snow[] = new double[31];B.double snow[31] = new array[31];C.double snow[31] = new array;D.double[] snow = new double[31];57.假设存在数组a,如何获得a的长度?答案:CA.a.length()B.a.len()C.a.lengthD.a.len58."现有:f是一个File类实例的合法引用fr是一个FileReader类实例的合法引用br是一个BufferedReader类实例的合法引用如下代码:String line = null;//插入代码处System.out.println(line);}哪一行代码插入到插入代码处将循环一次输出文本文件的一行?" 答案:A.while((line = f.read())!=null){B.while((line = fr.read())!=null){C.while((line = br.read())!=null){D.while((line = br.readLine())!=null){59."以下代码运行输出的结果是什么?public class Example {public static void main(String[] args) {char[] c = new char[100];System.out.println(c[50]);}}"答案:DA.打印输出50B.打印输出49C.打印输出\u0000D.打印输出null60."public class TestReplace {public static void stringReplace(String text){text=text.replace('j', 'i');}public static void bufferReplace(StringBuffer text){ text=text.append(""C"");}public static void main(String[] args){String textString=new String(""java""); StringBuffer bufferString=new StringBuffer(""java"");stringReplace(textString);bufferReplace(bufferString);System.out.println(textString+bufferString);}}运行结果是?"答案:AA.javajavaCB.javaCjavaCC.javajavaD.javajavaCjava61."下列代码的执行结果是什么?public class Example {public static void main(String[] args) {int index = 1;int[] foo = new int[3];int bar = foo[index];int baz = bar + index;System.out.println(baz);}}"答案:BA.打印输出0B.打印输出1C.打印输出2D.运行期间有异常抛出62."给出下面代码:public class Example{static int arr[] = new int[10];public static void main(String a[]){System.out.println(arr[1]);}}那个语句是正确的?"答案:DA.编译时将产生错误B.编译时正确,运行时将产生错误C.输出0D.输出null63.从InputStream对象中如何创建一个Reader对象?答案:A.使用InputStream类中定义的createReader()方法B.吃用Reader类中的createReader()方法C.构造一个InputStreamReader实例,将InputStream对象作为InputStreamReader类构造器的参数传入D.构造一个OutputStreamReader实例,将InputStream对象作为OutputStreamReader类构造器的参数传入64."以下程序执行结果是?public class Example {public static void main(String[] args) throws IOException {String s = ""x,yy,123"";Scanner sc = new Scanner(s);while (sc.hasNext()) {System.out.println(sc.next() + "" "");}}"答案:A.x yyB.x,yy,123C.x yy 123D.x,yy65.以下哪个描述是正确的?答案:A.多线程是Java语言独有的B.多线程需要多CPUC.多线程要求一个计算机拥有单独一个CPUD.Java语言支持多线程66."下列代码的执行结果是?public class Example{public static void main(String args[]) {Thread t = new Thread() {public void run() {pong();}};t.run();System.out.print(""ping"");}static void pong() {System.out.print(""pong"");}}"答案:A.pingpongB.pongpingC.pingpong和pongping都有可能D.都不输出67.以下哪个关于Runnable的描述是正确的?答案:A.Runnable是Java语言的一个关键字,用于修饰类,来表明该类是一个独立线程B.Runnable是一个接口,实现该接口的类对象可以提供给Thread类构造器作为创建线程的C.Runnable是一个类,继承该类的子类可以作为独立的线程存在D.以上皆不对68.在服务器上提供了基于TCP的时间服务应用,该应用使用port为6666。
《java程序设计基础》复习题第一、二章java语言基础练习一(类java程序)1.J ava是低级语言还是高级语言?(高级)2.J ava是面向对象的程序设计语言吗?(是)3. J ava是编译型的计算机语言还是解释型的计算机语言?(解释型)4. J ava语言的程序设计包含哪3个步骤?(编写源程序、编译源程序、解释运行编译后形成的字节码文件)5. J ava源程序文件的后缀是什么?(.java)6. J ava源程序经编译后生成什么文件?其后缀是什么?(字节码文件、.class)7. J ava程序有哪两类?(java应用程序、java小程序)8.类的定义由哪两部分组成?(类头和类体)9.方法的定义由哪两部分组成?(方法头和方法体)10.一个Java源程序中可以有多个公共类(主类)吗?(不能)11.一个Java源程序中可以有多个类吗?若有多个类时,程序文件名是什么?(能、与公共类名一致)12.一个Java Applet源程序的主类能有多个父类吗?(不能)13. J ava应用程序(Application)的主类的类头应如何写?它的主方法的方法头应如何写?Application 的入口在哪?14.J ava应用程序(Application)的主类中一定要有主方法(main)吗?15. J ava小程序(Applet)的主类的类头应如何写?小程序在什么环境下运行?16.J ava小程序(Applet)的主类的父类必须是类Applet吗?(是)17.Java中的的字符使用什么编码?(unicode)18.在Java语言中,将源代码翻译成____________时产生的错误称为编译错误,而将程序在运行中产生的错误称为运行错误。
(字节码)19. 为了使包sos中的所有类在当前程序中可见,可以使用的语句是( A )。
A)import sos.*; B)package sos.*;C)sos import; D)sos package;20.在 Applet 的坐标系中,(0,0) 代表输出窗口______角的象素点。
2020年JAVASE综合考试试题库188题[含答案]一、选择题1."以下代码的输出结果是什么?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.运行时输出异常信息2."关于以下代码,说法正确的是?class Example{public static void main(String[] args) throws IOException {if (args[0] == ""hello"") {throw new IOException();}}}"答案:AA.代码编译成功B.代码编译失败,因为main()方法是入口方法,不能抛出异常C.代码编译失败,因为IOException异常是系统异常,不能由应用程序抛出D.代码编译失败,因为字符串应该用equals方法判定一致性3."关于以下代码,说法正确的是?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"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."以下代码中,如果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.以上都不对6."以下代码执行结果是?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.代码编译成功7."关于以下代码正确的说法是: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行编译错误8."现有如下代码: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 catch9."下列代码的执行结果是?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 Exception10."以下代码的输出结果是什么?选择所有的正确答案。
2020年JAVASE综合考试试题库188题[含答案]一、选择题1.以下哪些集合接口支持重复元素存在?答案:BA.CollectionB.ListC.MapD.Set2."以下代码的输出结果是什么?选择所有的正确答案。
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.73.Java语言中异常的分类是哪项?答案:A.运行时异常和异常B.受检异常和非受检异常C.错误和异常D.错误和运行时异常4.以下哪个方法是Math类中定义的?答案:A.absolute()B.log()C.cosine()D.sine()5.定义在Math类上的round(double d)方法的返回值类型是什么?答案:A.charB.intC.longD.double6.以下哪个方法用于计算平方根?答案: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.以下哪些类提供了创建一个目录的方法?答案:AA.FileB.DataOutputC.DirectoryD.FileDescriptor12.以下哪些有关Vector类的描述是正确的?答案:CA.该类是个public类B.该类是个final类C.该类实现了List接口D.该类可以序列化13."以下代码执行结果是什么?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.输出1432314.表示键值对概念的接口是哪项?答案:DA.SetB.ListC.CollectionD.Map15.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."下列代码执行后的输出是哪项?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."现有: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> 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.fouronethreetwo20."现有: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和S421.以下哪些语句用于创建一个Map实例?答案: DA.Map m = new Map();B.Map m = new Map(init capacity,increment capacity);C.Map m = new Map(new Collection());D.以上都不对22."下列代码执行后的结果是?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 true23.下列哪些项是泛型的优点?答案:AA.不用向下强制类型转换B.代码容易编写C.类型安全D.运行速度快24."下列代码的执行结果是?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.输出425.以下哪些方法在Class类中定义?答案:A.getConstructors()B.getPrivateMethods()C.getDeclaredFields()D.getImports()26.请问以下哪个程序代码体现了对象之间的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;}"27."给出以下代码,改程序的执行结果是?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.打印输出028.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."对以下两个代码片段说法正确的是?代码片段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抛出异常31."下列代码执行后的结果是?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.输出NaN32.关于异常处理,说法错误的是?答案: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."下列代码的执行结果是?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 Exception35."现有如下代码: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) {36."现有如下代码: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 catch37.以下哪些描述是正确的?答案: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."下列代码的运行结果是?class Example {public static void main(String[] args) throws IOException {try {return;} finally{System.out.println(""Finally"");}}}"答案:BA.无内容输出B.输出FinallyC.代码编译失败D.输出异常信息40.假设有自定义异常类ServiceException,那么抛出该异常的语句正确的是哪项?答案:CA.raise ServiceExceptionB.throw new ServiceException()C.throw ServiceExceptionD.throws ServiceException41."现有代码如下: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 middle42.请问以下哪些关于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 {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.输出449.数组是什么类型?答案:AA.引用类型B.基本数据类型C.不能确定D.其他类型50.数组中可以存什么类型的数据?答案:CA.只能存基本数据类型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.以下哪些是声明一个字符串数组的正确形式?答案:ABDA.String[] s;B.String []s;C.Sting [s]D.String s[]55.以下哪些是初始化数组的正确形式?答案: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};56.假设存在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++){}57."以下代码运行输出的结果是什么?public class Example {public static void main(String[] args) {char[] c = new char[100];System.out.println(c[50]);}}"答案:DA.打印输出50B.打印输出49C.打印输出\u0000D.打印输出null58."以下代码执行结果是?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.onethreetwo59."给出下面代码:public class Example{static int arr[] = new int[10];public static void main(String a[]){System.out.println(arr[1]);}}那个语句是正确的?"答案:DA.编译时将产生错误B.编译时正确,运行时将产生错误C.输出0D.输出null60.下面哪个是包装器类型?答案:AA.IntegerB.intC.charD.double61.从InputStream对象中如何创建一个Reader对象?答案:A.使用InputStream类中定义的createReader()方法B.吃用Reader类中的createReader()方法C.构造一个InputStreamReader实例,将InputStream对象作为InputStreamReader类构造器的参数传入D.构造一个OutputStreamReader实例,将InputStream对象作为OutputStreamReader类构造器的参数传入62.以下哪个描述是正确的?答案:A.多线程是Java语言独有的B.多线程需要多CPUC.多线程要求一个计算机拥有单独一个CPUD.Java语言支持多线程63.以下哪个是Runnable接口中定义的方法?答案:A.start()B.run()C.stop()D.yield()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();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.Java UDP编程主要用到的两个类型是答案:A.UDPSocketB.DatagramSocketC.UDPPacketD.DatagramPacket69.为了保证方法的线程安全,声明方法的时候必须使用哪个修饰符?答案:A.newB.transientC.voidD.synchronized70."下列代码的执行结果是什么?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.运行期间有异常抛出71.以下哪个是10进制数123的正确的十六进制表示?答案:A.0x67B.0x123C.0x7BD.6772."现有: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){73."现有: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类型74.以下哪些是FileOutputSteram类的正确构造形式?答案:A.FileOutputStream(FileDescriptor fd)B.FileOutputStream(String n,boolean a)C.FileOutputStream(boolean a)D.FileOutputStream(File f)75.以下哪些描述是正确的?答案:A.InputStream和OutputStream类是基于字节流的B.ObjectInputStream类和ObjectOutputStream类不支持序列化的对象C.Reader和Writer是基于字符流的D.Reader类和Writer类是支持对象序列化的首选76.以下哪些描述是正确的?A.Writer类可以使用不同的字符编码向输出流写入字符B.Writer类可以向输出流写入Unicode字符C.Writer类提供向输出流写入任意Java基本数据类型的方法D.Writer类提供向输出流写入引用数据类型的方法77.属性可以使用哪个访问权限修饰符?答案:CA.publicB.protectedC.privateD.都可以78.构造方法可以使用哪个访问权限修饰符?答案:AA.publicB.protectedC.privateD.都可以79.如果类中的成员变量只可以被同一包访问,则使用如下哪个约束符?答案:CA. privateB.publicC.protectedD.no modifier80.为了能够访问对封装的属性的访问和修改,方法往往用哪个修饰符修饰?答案:AA.publicB.protectedC.privateD.都可以81."下列代码在JDK1.5以上版本执行的结果是?public class Example {public static void main(String[] args) {Integer i = 10;Integer j = 10;System.out.println(i == j);i = 210;System.out.println(i == j); (超过-128~127为false) }}"答案:BA.抛出异常B.输出true falseC.输出true trueD.输出false false82."执行下列语句后,变量i的值是:byte i = 127; byte(-2^7 ~ 2^7-1)i += 1; (当溢出时回到最小)"答案:DA.128B.0C.-1D.-12883.Java语言中有多少个包装器类型?答案:BA.7B.8C.9D.无数个84.下面哪个赋值语句是合法的?答案:CA.float a = 2.0B.double b = 2.0C.int c = 2D.long d = 285.下面哪个类型是引用类型?答案:AA.EmployeeB.intC.charD.double86.下面哪个不是引用类型?A.StringB.DoubleC.FloatD.float87.下面哪个说法正确?答案:AA.基本数据类型都可以直接使用=赋值B.引用类型绝对不能直接用=赋值,都需要使用new关键字C.String不是引用类型D.char是引用类型88.0.5和0.5f的以下说法正确的式?答案:BA.都是引用类型B.Double是引用类型,double是基本数据类型C.都是基本数据类型D.Double是基本数据类型,double是引用类型89."Student s1=new Student(""John"");Student s2=new Student(""Alice"");s1=s2;System.out.println(s1.getName());输出结果为?"答案:DA.JohnB.nullC.AliceD.不能确定90."public class TestChange {/**** @param str*/public static void changeStr(String str){str=“"";}public static void main(String[] args){String str=""welcome"";changeStr(str);System.out.println(str);}}运行结果是?"答案:AA.welcomeC.nullD.welcome 91."以下程序运行的结果是: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 true92."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.javajavaCjava93."下列代码执行后的结果是?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.输出NaN94.以下哪些是关于完全封装的正确描述?答案:CA.所有的变量都是私有的B.所有的方法都是私有的C.只有通过提供的方法才能访问类属性D.通过方法和变量名均可访问属性95.下面哪个是符合命名规范的包名?答案:A96.Java类中如何创建对象?答案:BA.new调用main方法B.new调用构造方法C.create调用构造方法D.create方法97.对象用什么操作符调用属性或方法?答案:AA..B.*C.xD.%98."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."实例块"99."public class TestBlock {private int x;{System.out.println(""实例块"");}static{System.out.println(""静态块"");}public static void main(String[] args) {}}运行结果是?"答案:AA.静态块B.无输出C."静态块实例块"D.实例块100.对于内部类,以下说法错误的是答案:A.匿名内部类可以实现接口或继承其他类,但不能同时即实现接口又继承类B.匿名内部类不能有任何明确的构造器C.内部类可以定义在外部类类体中,(前面对)也可以定义在外部类的方法体中(错误),和外部类不同,内部类均能使用访问修饰符,并能使用static修饰D.在Java中,对内部类的嵌套层次没有限制101."对于以下代码,请问插入哪个语句可以访问到内部类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();102.有关匿名内部类的描述正确的是答案:A.匿名内部类没有显式构造器B.匿名内部类可以实现接口C.匿名内部类可以继承非final类D.匿名内部类可以同时实现接口和继承非final类103.以下哪些类型的变量可以被一个内部类访问?答案:A.所有static变量B.所有final变量C.所有的实例成员变量D.只有final静态变量104.以下关于内部类的描述哪些是正确的?答案:A.定义在内部类中的变量不能被static修饰符修饰,除非内部类本身是静态的B.定义在类中非方法中的内部类,可以访问外部类的所有变量,而不管变量的访问控制声明C.一个内部类实际上是外部类的子类D.内部类可以被private修饰符修饰105."下面的代码段中,执行之后i 和j 的值是什么?int i = 1;int j;j = i++;"答案:AA.1,1B.1,2C.2,1D.2,2106.声明包使用哪个关键字?答案:DA.packB.PackageC.bagD.package107.public class A{}中几个构造方法?答案:AA.1个B.2个C.3个D.0个108.哪个包可以不导入直接使用?答案:CA.java.ioB.java.utilngD.java.sql109.关于Java源代码文件,下列说法错误的是?答案:DA.一个源文件最多只能包含一个顶层的public类定义B.一个源文件可以不包含任何代码定义。
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中,一个类可以继承________个父类。
JAVASE基础题第一阶段题库1.JDK是什么?JRE是什么?a)答:JDK:java开发工具包。
JRE:java运行时环境。
2.什么是java的平台无关性?a)答:Java源文件被编译成字节码的形式,无论在什么系统环境下,只要有java虚拟机就能运行这个字节码文件。
也就是一处编写,处处运行。
这就是java的跨平台性。
3.在一台电脑上配置java环境,path起什么作用?如何配置?a)答:path的作用是在DOS环境下,能在任意位置使用JDK目录中bin文件夹中的可执行程序,来编译执行java程序。
b)在环境变量中找到path变量,把bin文件夹的绝对路径加上即可。
4.什么样的标识符是合法的?a)由字母、数字、_和$组成,长度不限。
其中字母可以是大写或小写的英文字母,数字为0到9。
b)标识符的第一个字符不能是数字。
c)标识符区分大小写。
d)标识符不能包含空格。
5.Java有几种基本数据类型?a)byte,short,int,long,char,boolean,float,double6.什么是隐式类型转换?什么是显示类型转换?a)当将占位数少的类型赋值给占位数多的类型时,Java自动使用隐式类型转换。
b)当把在级别高的变量的值赋给级别底变量时,必须使用显示类型转换运算。
7.&&,&区别。
||,|区别?a)&&和||是短路与,短路或,当左边的表达式能判断当前结果,则不判断右边的表达式。
8.break,continue区别?a)break结束最近的一个循环,continue结束当次循环,进入下次循环。
9.类的命名规则是什么?a)如果类名使用拉丁字母,那么名字的首写字母使用大写字母。
b)类名最好见名得意,当类名由几个单词复合而成时,每个单词的首写字母使用大写。
10.类体的内容由两部分构成,哪两部分?a)一部分是变量的定义,用来刻画属性。
b)另一部分是方法的定义,用来刻画功能。
javaSE题库(1)编号题型分值(分)涉及知识点难度1单项选择题21.Java代码源⽂件简单2单项选择题21.Java代码源⽂件简单3单项选择题2 1.Java关键字与修饰符简单4单项选择题2 1.Java数据类型简单5单项选择题2 1.基本数据类型中等62 2.基本数据类型简单7单项选择题2 1.基本数据类型简单8单项选择题2 1.基本数据类型简单9单项选择题2 1.基本数据类型简单10单项选择题21.基本数据类型2.运算符简单11单项选择题21.基本数据类型2.运算符简单12单项选择题21.基本数据类型2.运算符简单13单项选择题21.基本数据类型2.运算符中等14单项选择题21.基本数据类型2.运算符中等15单项选择题21.基本数据类型2.运算符简单16单项选择题21.基本数据类型2.运算符中等17单项选择题21.基本数据类型2.运算符中等18单项选择题21.基本数据类型2.运算符中等19单项选择题21.基本数据类型2.运算符简单20单项选择题21.数据类型2.数据优化简单21单项选择题21.数据类型2.数据优化3.运算符中等22单项选择题2 1.运算符简单23单项选择题2 2.运算符24单项选择题21.数据类型2.运算符25单项选择题2 1.运算符中等26单项选择题2 1.运算符简单27单项选择题2 1.流程控制简单28单项选择题2 1.流程控制简单29单项选择题2 1.流程控制简单30多项选择题3 1.Java代码源⽂件简单31多项选择题3 1.Java关键字与修饰符简单32多项选择题3 1.运算符简单33多项选择题3 1.运算符简单34多项选择题3 1.运算符简单35多项选择题3 1.运算符简单36多项选择题3 1.运算符简单37多项选择题3 1.流程控制简单38多项选择题3 1.流程控制简单39简答题4 1.运算符简单40简答题41.基本语法元素2.数据类型简单41简答题4 1.关键字简单42简答题4 1.关键字中等43简答题4 1.运算符简单44程序题41.运算符2.流程控制简单45程序题41.运算符2.流程控制简单题⽬选项A关于Java源代码⽂件,下列说法错误的是?⼀个源⽂件最多只能包含⼀个顶层的public类定义为了使⼀个名为MyClass的public类成功编译,需要满⾜⼀下哪个条件?MyClass类中必须定义⼀个正确的main()⽅法⼀下哪个关键字不能⽤于顶层类?public下列哪项不是int类型的字⾯量?\u03A6执⾏下列语句后,变量i的值是:byte i = 127;i += 1;128执⾏下列语句后,变量i的值是:byte i = 127;i = i+ 2;char类型的取值范围是?0-2^16以下哪个是10进制数123的正确的⼗六进制表⽰?0x67以下哪个是10进制数124的正确的⼋进制表0173以下给出代码运⾏后的结果是?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]);}}编译失败以下给出代码运⾏后的结果是?public class Example {public static void main(String[] args){int x=1;int y=~x+1;System.out.println(x+" "+y);}}打印输出-1 1表达式(short)10/10.2*2运算后结果是什么类型?short⼀下代码运⾏输出结果是?public class Example {public static void main(String[] args){System.out.println(3.0/0);}编译失败对以下两个代码⽚段说法正确的是?代码⽚段1:int a = 3;int b = 0;int c = a / b;执⾏两端代码都会抛出异常代码⽚段2:float a = 3.0f;float b = 0.0f;float c = a / b;下⾯的代码段中,执⾏之后i 和j 的值是什么?1,1int i = 1;int j;以下代码的执⾏结果是:public class Example {public static void main(String[] args){byte x = -64;编译失败byte y = -6;System.out.println(x / y + " " + x % y);}}下列代码执⾏后的结果是?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");}}}下列代码执⾏后的结果是?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");}}}{try {System.out.println(Float.NaN ==Float.NaN);输出+G20:J20false false System.out.println(Float.POSITIVE_INFIN ITY==Float.POSITIVE_INFINITY);} catch (Exception e) {System.out.println("Exception");}}}下列代码执⾏结果是?public class Example {public static void main(String[] args){String str = "123";输出true trueString str1 = new String("123");String str2 = "123";System.out.println(str == str1);System.out.println(str == str2);}}下列代码在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);}}给出以下代码,假设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;}{int x = 0;boolean b1, b2, b3, b4;b1 = b2 = b3 = b4 = true;x = (b1 | b2 & b3 ^ b4) ? x++ : -x;System.out.println(x);}}-1有int变量i的值为16384,1>>33的结果为?运算数不符合运算符要求以下程序运⾏的结果是: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'));}}输出true true如果有int变量i和j,i的值为0xFFFFFFF1,j=~I,则j的值为?下列给出代码的运⾏结果是?public class Example {public static void main(String[] args){int m = 2;int p = 1;int i = 0;for (; p < 5; p++) {if (i++ > m) {m = p + i;}}System.out.println("i equals " + i);}}i equals 2下列说法正确的是?Java循环使⽤continue和break语句控制循环执⾏,使⽤goto语句和语句标签跳出多层循环1) 设有程序如下public class Delta{static boolean foo(char c){System.out.print(c);return true;}public static void main(String[] argv){int i = 0;for (foo('A'); foo('B') && (i < 2);foo('C')){i++;foo('D');}}}则程序运⾏结果是?ABDCBDCB对于以下说法,哪些是正确的?如果package语句存在,则必须出现在源⽂件的⾮空⽩⾸⾏以下哪些是Java中的关键字?run下⾯哪个赋值语句是合法的float a = 2.0现有3个变量boolean a,boolean b,intc,请问以下哪些表达式合法(a|b)如果有String s=null,以下代码哪些选项会产⽣异常?(s!=null)&(s.length()>0)下⾯的表达式哪个是正确的String s="你好";int i=3; s+=i;以下哪些赋值表达式合法?(变量S为⼀个字符串)s>>=2以下代码错误在何处?public class Example {public static void main(String[] args){for(int i=0;j=0,i<10;++i,j+=i){j+=i*i+j*j;}}}在语句块中应超过⼀条以上语句对于switch/case语句以下说法正确的有default语句是可选的,但是如果出现default则必须位于所有的case后⾯简述&&和&运算符的区别存在使i + 1 < i的数吗Java中是否存在goto关键字?存在使i > j || i <= j不成⽴的数吗最有效率计算2*8等于⼏已知等差数列1,2,3,4…2n-1的前n项和为n^2,请根据题⽬中的信息编写简短程序计算⼀个整数的平⽅根整数部分已知Java中常⽤的颜⾊表现形式类似0xFFA573B6,8个16进制代码平均分成四部分,从左到右分别表⽰透明度、红⾊、绿⾊、蓝⾊分量,请编写⼀个⽅法,将参数提供的颜⾊数据中红⾊和绿⾊部分互换选项B选项C选项D⼀个源⽂件可以不包含任何代码定义。
2020年JAVASE 综合考试试题库188题[含答案]一、选择题1.以下哪些是Collection 接口的子接口?答案:BDA. DictionaryB. ListC. MapD. Set2."以下代码的输出结果是什么?选择所有的正确答案。
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. 73. Java语言中异常的分类是哪项?答案:A. 运行时异常和异常B. 受检异常和非受检异常C•错误和异常D.错误和运行时异常4. 下列关于Math 类说法错误的是答案:A. ng.Math 类是final 类,因此不能被其他类继承B. ng.Math类的构造器是私有的,即声明为private,不能实例化一个Math类的对象C. ng.Math 类上定义的所有常量和方法均是public 和static 的,因此可以直接通过类名调用D. min()和max()方法的参数之一,如果是NaN值,则方法将返回另一个参数值5. 定义在Math 类上的round(double d) 方法的返回值类型是什么?答案:A. charB. intC. longD. double6. 以下哪个方法用于计算平方根?答案: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) {double d1 = -0.5;System.out.println(""Ceil d1="" + Math.ceil(d1));System.out.println(""Floor d1="" + Math.floor(d1)); }}II答案:BA. 输出Ceil d仁-0.0 Floor d1=-1.0B. 输出Ceil d1=0.0 Floor d1=-1.0C. 输出Ceil d仁-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 . " 现有: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){12.下列哪些项是泛型的优点?答案:AA. 不用向下强制类型转换B. 代码容易编写C•类型安全D .运行速度快13."以下代码执行结果是什么?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. 输出1432314.以下哪些集合接口支持重复元素存在?答案: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.创建一个只能存放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." 现有: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()); 分别插入到插入代码处,哪项可以编译?II答案:A. S2B. S2 和S3C. S2 和S4D. S2、S3 和S4 19."现有如下类型: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描述c 20."现有: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();21."以下代码的执行结果是?public class Example {public static void main(String[] args) {File f = new File(""c:\\large.txt"");}}"答案:A. large.txt 文件在本地硬盘上被创建B. 在Unix系统上运行失败,因为路径分割符不正确C. large.txt 文件在本地硬盘上没有被创建D. 如果large.txt文件已经存在,则一个异常被抛出22."现有以下代码: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;"23."以下代码执行结果是?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不是有效的参数24.假设有自定义异常类ServiceException, 那么抛出该异常的语句正确的是哪项?答案:CA. raise ServiceExceptionB. throw new ServiceException()C. throw ServiceExceptionD. throws ServiceException25.为了保证方法的线程安全,声明方法的时候必须使用哪个修饰符?答案:A. newB. transientC. voidD. synchronized26."现有代码: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 .编译失败27." 对以下两个代码片段说法正确的是?代码片段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抛出异常28."现有如下代码: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);}finally 语句块不是必须catch 语句,若 catch class Utils { int getInt(String arg) { return 42;}} 该代码执行的结果是? " 答案 :BA. NFExcB. 42C. 42NFExcD.编译失败 29.关于异常处理,说法错误的是? 答案 :CA. try …catch …finally 结构中,必须有try 语句块,catch 语句块和 的,但至少要两者取其一B. 在异常处理中,若 try 中的代码可能产生多种异常则可以对应多个中的参数类型有父类子类关系,此时应该将子类放在后面,父类放在前面C •一个方法可以抛出多个异常,方法的返回值也能够是异常D. Throwable 是所有异常的超类 30."关于以下代码,说法正确的是?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. 代码编译失败,因为未导入 lOException 异常类C. "输出 Before Try At the End"D. "输出 In side CatchAt the End"31. " 当 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 done32."现有如下代码: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) {33.以下哪些是catch语句能够捕获处理的异常?答案:ACA. ThrowableB. ErrorC. ExceptionD. String 34."下列代码的执行结果是?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 Exception35."请问以下代码的直接执行结果是?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.IIB. 代码不能编译通过,因为最后一条语句位于return 后,不可到达C. 代码编译通过,但运行时输出异常信息D. "I'm nomalI'm finally."36."关于以下代码正确的说法是: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行编译错误37.在方法声明中,说明该方法可能会抛出的异常列表时使用哪个关键字?答案:DA. throwB. catchC. finallyD. throws38."现有代码如下: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 middle39."如下代码执行后的输出结果是?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. 编译失败40."现有如下代码:public class Example {public static void main(String[] args) {// a new Example().topGo();}void topGo() {// b middleGo();}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 和d41.请问以下哪些关于try…catch…fin ally结构中的fin ally语句的描述是正确的? 答案:CA. 只有当一个catch 语句获得执行后,finally 语句才获得执行B. 只有当catch 语句未获得执行时,finally 语句才获得执行C. 如果有fin ally语句,return语句将在fin ally语句执行完毕后才会返回D. 只有当异常抛出时,fin ally语句才获得执行42."关于以下代码,说法正确的是?class Example{public static void main(String[] args) throws IOException {if (args[0] == ""hello"") {throw new IOException();}}}"答案:AA. 代码编译成功B. 代码编译失败,因为mai n()方法是入口方法,不能抛出异常C. 代码编译失败,因为©Exception异常是系统异常,不能由应用程序抛出D. 代码编译失败,因为字符串应该用equals方法判定一致性43."关于以下代码,说法正确的是?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. 代码编译失败,因为未导入lOException异常类C. "输出Before TryAt the End"D. "输出In side CatchAt the End"44."给出以下代码: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 Exception45. "以下代码中,如果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. 以上都不对46. 现有int x = reader.read(),下列哪一项正确?答案:A. reader 不是FileReader 或者BufferedReader 类型B. reader 可以使FileReader 或者BufferedReaderC. reader可以使FileReader类型,但不能使BufferedReader类型D. reader可以使BufferedReader类型,但不能使FileReader类型47. 以下哪些描述是正确的?答案:CDA. try 语句块后必须至少存在一个catch 语句块B. try 语句块后可以存在不限数量的finally 语句块C. try 语句块后必须至少存在一个catch 语句块或finally 语句块D. 如果catch 和finally 语句块同时存在,则catch 语句块必须位于finally 语句块前48."给出下面代码: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.下面哪条语句不正确?答案:AA. int[4] a;B. int a[];C. int[] a;D. int[] a,b;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.以下哪些语句正确?答案: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];54.以下哪些是初始化数组的正确形式?答案: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};55.执行下列代码后,哪个结论是正确的String[] s=new String[10]; 答案:DCA. s[10] 为""B. s[9] 为nullC. s[0] 为未定义D. s.length 为1056. 假设存在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++){}57. "以下给出代码运行后的结果是? 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. RandomAccessFile 类是File 类的子类B. FileWriter 类提供有操作基本数据类型的方法C. RandomAccessFile 类提供有删除磁盘文件的方法D. File 类提供有删除磁盘文件的方法59.以下哪个语句用于获取数组中的元素个数?答案:AA. intArray.size();B. intArray.size();C. intArray.length;D. intArray.length();60.Java 语言中有多少个包装器类型?答案:BA. 7B. 8C. 9D. 无数个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. 以下哪个是Runnable接口中定义的方法?答案:A. start()B. run()C. stop()D. yield()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();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。
Java SE阶段测试一:基本语法1.下列哪些数据类型不属于基本数据类型:(多选)A. BooleanB. intC. StringD. ShortE. char2.下列哪些写法是错误的:A. boolean b = (boolean)3;B. int a = (int)true;C. int a = false;D. long b = (long)3.143.写出下列程序的输出结果:int a = 10, b = 4;System.out.println(a / b);System.out.println(a % b);System.out.println(a = b);System.out.println(a++);4.请写代码实现将字符串变量s转换为int型,将int型变量i转换为字符串型。
5.设计一个方法,传入整形数字,不用取余运算符“%”判断该数字是奇数还是偶数。
6.写出下列程序的输出结果:int a = Integer.MAX_VALUE, b = Integer.MIN_VALUE;System.out.println(a + b);System.out.println(a>>28);System.out.println(b>>28);System.out.println(b>>>28);byte c = (byte) 128;System.out.println(c);7.写出下列程序的输出结果:public class Test {public static void main(String[] args) {int a = test(3);System.out.println(a);}private static int test(int i) {int r = 0;try {if (i > 3) return r = i;throw new NumberFormatException();} catch (NumberFormatException e) {r = 1;return r;} catch (RuntimeException e) {r = 2;return r;} finally {r = -1;}}}8.写出下列程序的输出结果:int x,y;x = y = 3;x = ((y=6)>(x=6))?x++:++x;System.out.println(x);System.out.println(y);9.写出下列程序的输出结果:public class Test {public static void main(String[] args) {Object x = new Object() {public boolean equals(Object obj) {return obj.getClass().equals(this.getClass());}};Object y = new Object() {public boolean equals(Object obj) {return obj.getClass().equals(this.getClass());}};System.out.println(x.equals(y));}}10.写一段最短的代码造成Java堆内存溢出。
二:面向对象的语法规则6.如果类C1继承自类C2,并实现了接口I1,而类C2实现了接口I2,请挑出下面代码的错误的部分:A. C2 instance = new C1();B. C1 instance = new C2();C. I1 instance = new C1();D. I2 instance = new C1();7.请列出java中4种访问权限修饰符的区别(可以列表说明)8.请列出抽象类与接口的语法区别(至少列出4点)9.请举出static关键字的几种用法,并分析为何使用static修饰的方法是不符合面向对象精神的。
10.java语言中对构造函数有哪些语法要求?11.请说明方法重写与方法重载的区别。
三:异常处理与调试12.Java对异常可以分为受检查异常,非受检查异常和错误,它们典型的代表类是哪三个?它们三个共同的父类是谁?13.请写出一般程序遇到何种情况时会出现下面的异常:A. ng.NullPointerException;B. ng.NumberFormatException;C. ng.ArrayIndexOutOfBoundsException;D. java.io.NotSerializableException;E. ng.ClassCastExceptionF. ng.StackOverflowError14.请举例说明关键字throw与throws的区别。
15.请比较final、finally、finalize三者之间的区别。
四:Java SE常用工具包16.请画出java集合框架的结构图(表示出接口与各个实现类之间的关系即可)。
17.请比较ArrayList与LinkedList的区别。
18.如果要按照自定义规则比较某类的两个对象是否相等,应该重写该类的__________方法,如果要按照自定义规则比较某类的两个对象的大小,应令该类实现___________接口,并重写______________方法,如果要在控制台输出对象,应该重写该类的________方法19.现有一个Map集合定义如下:Map map = new TreeMap(),请分析该集合对存放的键、值有何要求,写一段代码对该集合进行遍历。
20.请写一段代码,将文件C:\1.txt的内容倒置后复制到F:\2.txt,如果1.txt内容为”ABC”,复制后2.txt的内容应为”CBA”。
五:代码阅读、编写21.请设计一个方法,传入整型i,打印i行由星号组成的空心三角形,如i=5时打印如下结果:** ** ** ** * * * *22.百鸡百钱问题:《算经》中一个问题:公鸡1只5元钱,母鸡1只3元钱,小鸡3只1元钱,现在某人用100元钱买了100只鸡,问买了公鸡母鸡小鸡各几只?23.下面是一个使用二分算法在数组中查找某一项元素的方法,请补充空白部分的代码:/*** 通过二分法在数组中查找某一项的位置* @param a 有序的整型数组* @param key 查找的项* @return 如果找到,返回key在数组中的位置,如果没有找到,返回-1*/public static int binarySearch(int[] a, int key) {int low = 0;int high = a.length - 1;while (low <= high) {int mid = _____A_____;int midVal = a[mid];int cmp = _____B______;if (cmp < 0)low = mid + 1;else if (cmp > 0)high = ____C____;elsereturn mid;}return ____D____;}24.统计输入字符串中以","分隔的各种单词出现的次数。
例如:输入的字符串为"java,java,j2ee,ibm,j2ee,ibm,j2me,java",则该程序的输出结果应该为:java3个;j2ee2个;ibm2个;j2me1个,请补充代码:public static void total(String s) {String ss[] = _____A_____;Map<String, Integer> map = new HashMap<String, Integer>();for (int i = 0; i < ss.length; i++) {if (_____B_____) {map.put(ss[i], _____C_____);} else {map.put(ss[i], 1);}}for (Entry<String, Integer> entry : map.entrySet()) {System.out.print(entry.getKey() + ____D____ + "个");}}25.请完成如下的方法:/*** 将一个目录下的所有文件复制到另一个目录下(不包括目录中子目录下的文件)* @param dirSource 源目录* @param dirTarget 目标目录(如果目标目录不存在则创建目标目录)* @throws RuntimeException 如源目录不存在、目标目录不存在并无法创建或复制过程中遇到其他错误抛出此异常*/void copy(String dirSource, String dirTarget) throws RuntimeException{ File source = new File(dirSource);File target = new File(dirTarget);if (!source.exists()) throw new RuntimeException("源目录不存在");if (!source.isDirectory()) throw new RuntimeException("源目录不是目录");//请补充后续代码}。