100道Java基础测试题
java基础试题及答案

java基础试题及答案一、选择题(每题2分,共20分)1. Java中,以下哪个关键字用于定义一个类?A. classB. interfaceC. structD. enum答案:A2. 下列哪个选项是Java中的基本数据类型?A. StringB. intC. ArrayListD. Object答案:B3. 在Java中,哪个修饰符用于声明一个成员变量为类的私有成员?A. privateB. publicC. protectedD. static答案:A4. Java中,哪个关键字用于捕获异常?A. tryB. catchC. finallyD. throw答案:B5. 在Java中,哪个关键字用于定义一个接口?A. classB. interfaceC. abstractD. enum答案:B6. 下列哪个选项是Java集合框架中的一部分?A. StringB. ArrayListC. FileD. Thread答案:B7. 在Java中,哪个关键字用于定义一个方法?A. functionB. methodC. defD. void答案:D8. Java中,哪个关键字用于定义一个抽象方法?A. abstractB. finalC. staticD. native答案:A9. 在Java中,哪个关键字用于定义一个内部类?A. innerB. nestedC. innerclassD. class答案:D10. Java中,哪个关键字用于定义一个静态方法?A. staticB. dynamicC. finalD. abstract答案:A二、填空题(每题3分,共15分)1. Java中,用于定义一个类的关键字是______。
答案:class2. Java程序的入口点是______方法。
答案:main3. 在Java中,______关键字用于声明一个变量为常量。
答案:final4. Java中,______关键字用于定义一个方法为静态的。
java基础测试题-含答案

Java基础试题姓名一、选择题(每题2分,共30分)1.请写出标识符的命名规则描述正确的是[多选](ABCD )A、由英文字母、数字、_和$组成,长度不限。
B、标识符的第一个字符不能是数字C、标识符区分大小写。
D、标识符不能包含空格。
2. 下列属于正确标识符的选项有[多选](BDGH)A. intB. $_CountC. 3MD. HelloE. b-7F. ms#dG. boolH. D96583、下列哪一个不属于java的基本类型( B )A、intB、StringC、floatD、byte4、下列那条语句能编译通过( A )A、String String=”String”;B、float float=””;C、int int = 11;D、int i= 1.1;5、下列代码的执行结果是: ( D )public class Test1{public static void main(String args[]){float t=9.0f;int q=5;System.out.println((t++)*(--q));}}A、40 C、366、int长度描述正确的是(A )A、-2^31到2^31 - 1B、-2^32到2^32 - 1C、-2^7到2^7 - 1D、-2^8到2^8 - 17、关于==和equals方法描述不正确的是( D )A、==是运算符、equals是方法B、==只比较对象,equals会先比较对象,如果不是一个对象,会对对象的值进行比较。
C、String a= "1"; String b= "1"; System.out.println(a==b); 输出结果为:trueD、String a=new String("1");String b=new String("1");System.out.println(a==b);输出结果为:true8、下列关于哪个不属于java的特性( D )A、封装B、继承C、多态D、重载9、某一个子类要继承一个父类,要使用关键字(B )A、importB、extendsC、implementsD、java10、某一个子类要实现一个父接口,要使用关键字(C )A、importB、extendsC、implementsD、java11、以下关于接口和类的说法正确的是( C )A、接口和类都可以实现多重继承B、子类可以继承多个父类C、子类可以实现多个接口D、一个子类不能同时继承某一个父类和实现某一个接口12、一个非抽象子类,如果要实现某个接口,则(A )A、必须实现该接口中的所有抽象方法B、可以实现部分抽象方法C、可以不实现任何抽象方法D、无所谓13、下列关于Java线程的说法那些是正确的( D )A、每一个Java、线程可以看成由代码.一个真实的CPU以及数据三部份组成。
java机试题及答案

java机试题及答案# Java机试题及答案一、选择题1. 下列哪个选项是Java语言的基本数据类型?A. StringB. IntegerC. intD. Object答案:C2. 在Java中,哪个关键字用于定义一个类?A. classB. defineC. typeD. struct答案:A3. Java中的异常处理是通过哪两个关键字实现的?A. try-catchB. if-elseC. switch-caseD. for-while答案:A二、简答题1. 简述Java的垃圾回收机制。
答案:Java的垃圾回收机制是指Java虚拟机(JVM)自动释放不再使用的对象所占用的内存。
垃圾回收器会定期检查堆内存中的对象,如果对象不再被任何引用指向,就会将其标记为垃圾,并在适当的时机进行回收。
2. 描述Java中的多态性及其应用场景。
答案:多态性是指允许不同类的对象对同一消息做出响应的能力,即同一个接口可以被不同的实例以不同的方式实现。
在Java中,多态性主要通过继承(子类重写父类方法)和接口(实现接口的类提供具体实现)来实现。
多态性使得代码更加灵活和可扩展,常用于设计模式和大型软件系统的架构中。
三、编程题1. 编写一个Java程序,实现计算一个整数数组中所有元素的总和。
```javapublic class SumArray {public static void main(String[] args) {int[] numbers = {1, 2, 3, 4, 5};int sum = sumArray(numbers);System.out.println("The sum of the array is: " + sum);}public static int sumArray(int[] array) {int sum = 0;for (int num : array) {sum += num;}return sum;}}```2. 编写一个Java程序,实现对一个字符串进行反转。
java理论试题及答案

java理论试题及答案Java理论试题及答案一、单选题1. Java语言的特点是什么?- A. 面向过程- B. 面向对象- C. 编译型语言- D. 解释型语言答案:B2. 在Java中,用哪个关键字可以定义一个类?- A. `class`- B. `interface`- C. `public`- D. `void`答案:A3. 下列哪个是合法的Java标识符?- A. `class`- B. `default`- C. `2things`- D. `class_name`答案:D4. Java中的继承是单继承还是多继承?- A. 单继承- B. 多继承- C. 既不是单继承也不是多继承- D. 可以是单继承也可以是多继承答案:A5. Java中的异常处理机制是通过哪两个关键字实现的? - A. `try` 和 `catch`- B. `if` 和 `else`- C. `switch` 和 `case`- D. `for` 和 `while`答案:A二、多选题1. 下列哪些是Java的基本数据类型?- A. `int`- B. `String`- C. `double`- D. `char`答案:A, C, D2. 在Java中,下列哪些可以作为方法的返回类型?- A. `int`- B. `void`- C. `String`- D. `double`答案:A, B, C, D3. 下列哪些是Java的访问修饰符?- A. `public`- B. `private`- C. `protected`- D. `default`(无修饰符)答案:A, B, C, D三、判断题1. Java程序的执行都是从`main`方法开始的。
()- 答案:正确2. Java中的所有类都是继承自`ng.Object`类的。
() - 答案:正确3. Java语言支持多重继承。
()- 答案:错误4. `final`关键字修饰的类不能被继承。
JAVA编程题全集(100题及答案)

Java程序设计总复习题1、编写一个Java程序在屏幕上输出“你好!”。
(p13,例1-1)//programme name Helloworld.javapublic class Helloworld {public static void main(String args[]) {System.out.print ("你好!" );}}2. 编写一个Java程序,用if-else语句判断某年份是否为闰年。
// Programme Name LeapYear.javapublic class LeapYear{public static void main(String args[]){int year=2010;if(args.length!=0)year=Integer.parseInt(args[0]);if((year%4==0 && year%100!=0)||(year%400==0))System.out.println(year+" 年是闰年。
");elseSystem.out.println(year+" 年不是闰年。
");}}//if-else语句3、编写一个Java程序在屏幕上输出1!+2!+3!+……+10!的和。
(p64,例2-2)// programme name ForTest.javapublic class ForTest {public static void main( String args[] ) {int i,j,mul,sum=0;for(i=1;i<=10;i++) {mul=1;for(j=1,j<=i;j++) {mul=mul*j;}sum=sum+mul;public class Factorial { //下面的这个方法利用递归的方法求阶乘public intgetFac(int m) { if(m==1) { return 1; } else { return m*getFac(m-1); } } public static void main(String args[]) { Factorial fac=new Factorial(); //System.out.println(fac.getFac(4)); int sum=0; for(int i=1;i<=10;i++) { sum+=fac.getFac(i); } System.out.println("1到10的阶乘的和是:"+sum); } }}System.out.println(“1!+2!+3!+……+10!= ”+sum);}}4. (1)编写一个圆类Circle,该类拥有:①一个成员变量Radius(私有,浮点型);// 存放圆的半径;②两个构造方法Circle( ) // 将半径设为0Circle(double r ) //创建Circle对象时将半径初始化为r③三个成员方法double getArea( ) //获取圆的面积double getPerimeter( ) //获取圆的周长void show( ) //将圆的半径、周长、面积输出到屏幕(2)编写一个圆柱体类Cylinder,它继承于上面的Circle类。
java初级试题及答案

java初级试题及答案一、选择题(每题2分,共20分)1. Java语言中的“==”操作符用于比较两个对象的:A. 引用B. 值C. 类型D. 内存地址答案:A2. 下列哪个是Java的关键字?A. classB. functionC. returnD. include答案:A3. 在Java中,哪个关键字用于定义一个类?A. classB. defineC. typeD. structure答案:A4. Java中的main()方法必须定义为:A. public static voidB. private static voidC. public static intD. private static int答案:A5. 下列哪个是Java的访问修饰符?A. publicB. staticC. finalD. abstract答案:A6. Java中的字符串是:A. 可变的B. 不可变的C. 动态的D. 静态的答案:B7. 在Java中,哪个类定义了基本的输入输出流?A. java.io.InputStreamB. java.io.OutputStreamC. java.io.FileInputStreamD. java.io.FileOutputStream答案:A8. Java中的异常处理是通过以下哪个关键字实现的?A. tryB. catchC. finallyD. all of the above答案:D9. 下列哪个是Java集合框架中的接口?A. ArrayListB. ListC. HashMapD. Map答案:B10. Java中的哪个类提供了日期和时间的表示?A. DateB. TimeC. CalendarD. DateTime答案:A二、填空题(每空2分,共20分)1. Java是一种_________语言,它支持跨平台运行。
答案:面向对象2. Java程序的执行入口是_________方法。
java基础测试题(选择题)

java基础测试题(选择题)1.单项选择题1.作为Java应用程序入口的main方法,其声明格式是()A.public static int main(String args[]) B.public static void main(String args[]) C.public void main(String args[]) D.public int main(String args[])2.下面命令正确的是()A.java AppFirst.java B.java AppFirstC.java appfirst.class D.javac AppFirst3、Java程序的最基本组成单位是( )。
A.函数B.过程C.变量D.类4. main()方法的返回值类型是()。
A.boolean B.int C. void D.static5. 下面哪个单词是Java语言的关键字()A.False B.FOR C.For D.for6.下面这些标识符哪个是错误的()A.Javaworld B._sum C.2Java Program D.$abc7、下面哪个赋值语句不会产生编译错误()A.char a=’abc’; B.byte b=152; C.float c=2.0; D.double d=2.0;8.现有一个int类型的整数和一个double类型的浮点数,当它们之间做了加法运算之后,得到的结果类型应该是。
A、int类型B、double类型C、float类型D、long类型9、对下面的语句执行完后正确的说法是:()int c=’c’/3;System.out.println(c);A.输出结果为21 B.输出结果为22 C.输出结果为32 D.输出结果为3310、设有定义int a=12;则执行a*=12;语句后,a的值为:()。
A.144 B.12 C.24 D.011.有一个类A,对于其构造方法的声明正确的是()。
java基础测试题

java基础测试题一、选择题1. Java中用于创建新对象的关键字是()。
A. newB. classC. thisD. super2. 下列哪个选项是Java语言中的保留字?()。
A. runB. importC. helloD. method3. 在Java中,如果需要导入ng包中的类,需要使用()语句。
A. import ng.*B. import static ng.*C. Both A and BD. None of the above4. 假设有一个名为“Employee”的类,它有一个名为“name”的字符串变量,那么在该类的构造函数中初始化“name”变量的语句是()。
A. String name;B. name = null;C. = "default";D. name = "default";5. 在Java中,用于创建数组的语法是()。
A. type[] arrayName = new type[arraySize];B. type arrayName[] = new type[];C. Both A and B are correctD. None of the above二、填空题1. 在Java中,所有的类都是继承自__________类的。
2. 如果需要在Java程序中使用面向对象编程的特性,需要导入的包是__________。
3. 在Java中,用__________关键字可以定义一个类。
4. 一个Java类中可以有多个方法,但是必须有一个特殊的方法被称为__________,它是程序执行的起点。
5. 当一个对象不再被使用时,垃圾回收器会自动回收其占用的内存,这个机制称为__________。
三、判断题1. Java中所有的类都必须继承自一个父类。
()2. Java语言支持多重继承。
()3. 一个Java类可以有多个构造函数,它们通过参数的不同来区分。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java基础测试题不定项选择题1、面向对象的三大特征是()A) 封装B) 继承C) 多态D) 线性2、变量命名规范说法正确的是()A) 变量由英文字母、下划线、数字、$符号组成B) 变量不能以数字作为开头C) A和a在Java中代表同一个变量D) 不同类型的变量,可以起相同的名字3、i的值为10,表达式(i++)+(i--)的值为()A) 21B) 20 C) 19 D) 184、下面哪些定义变量的语句是正确的?()A) int i = 'A'; B) float f = 1.23;C) byte b = (byte)128; D) int c[5][5] = new int[ ][ ];5、以下代码的执行结果是()int a = 1;bool ean m = a%2 = = 1;if(m = false){System.out.println("false");}else{System.out.println("true");}A) false B) true C) 编译不通过6、以下程序段中,哪个选项不能插入到第二行?()A)class Demo2 { } B) import java.util.*;C) public static void main(String args[ ]) { }D) package com; E) public class Demo2 { }7、下面有关Java循环结构的描述正确的是()A) for循环体语句中,可以包含多条语句,但要用大括号括起来B) for循环和do...while循环都是先执行循环体语句,后进行条件判断C) continue和break只能用于循环结构中D) 增强for循环遍历数组时不需要知道数组的长度,但不能实现与下标相关的操作8、switch选择语句是多分支选择语句,只能处理等值条件判断的情况。
在jdk1.7中,switch中的表达式可以是以下哪种类型()A)int B)char C)double D) float E)String F) short9、和下面while循环完成相同功能的选项是()A) for (i = 1; i <= 100; i++) {i++; sum = sum + i;}B) for (i = 0; i <= 100; i++) {i++; sum = sum + i;}C) for (i = 0; i <= 100; i+=2) {sum = sum+i;}D) for (i = 1; i <= 100; i+=2) {sum = sum+i;}10、编译运行以下程序后,输出结果是()public class TestMain {public static void main(String args[ ]){int x=4;System.out.println("value is "+ ((x>4) ? 9.9 :9));}}A) value is 9.9 B) value is 9 C) value is 9.011、在面向对象编程里,经常使用is-a来说明对象之间的继承关系。
下列对象中不具备继承关系的是?()A) 手机与小米手机B) 企业家与马云C) 编程语言与Java D) 中国与北京12、下列说法正确的是()A) Java程序可以一次编译,到处运行B) 类可以看成一类对象的模板,对象可以看成该类的一个具体实例C) 能被java.exe成功运行的java class文件必须有main( )方法D) Java致力于检查程序在编译和运行时的错误13、在Java中,关于数组描述正确是()A) 声明数组仅仅是给出了数组的名字和元素的数据类型,要想真正地使用数组还必须使用new关键字在堆内存中分配内存空间B) 存储在数组中的元素都属于同一数据类型C) 已知二维数组int [ ] [ ] array={{1,2,3},{4,5}},则array[1].length的值为3D) 创建数组后,系统会给每个数组元素一个默认值,如boolean型元素的默认值是true14、哪个修饰符能够使得某个成员变量可被它所在包访问到和它的子类访问到的是()A) public B) private C) protected D) 不加修饰符15、下面哪个可作为int add(int a, int b){return a+b;}的重载方法()A) int add(int c, int d){return c+d;}B) void add(int a, int b){System.out.println(a+b);}C) double add(double a, double b){return a+b;}D) int add(int a, int b, int c){return a+b+c;}16、System是jdk中常用的类之一。
以下说法正确的是()A) System类位于ng包中B) System类是用final修饰的,所以不能被继承C) System类中有多个重载的println方法D) in和out是System类中的两个公共静态成员变量E) System.currentTimeMillis( )返回一个long类型的值17、程序的运行结果是()A) null123 B) null C) 出现空指针异常D) 编译失败18、对于static关键字,说法正确的是()A) 可以使用static修饰内部类B) 被static关键字修饰的成员变量可以被该类所有的实例对象共享C) 静态代码块随着类的加载而加载,并且只执行一次D) 静态方法中只能通过对象调用非静态方法,而不能直接调用19、设三个整型变量 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是()A) 3B) 3.5 C) 4 D) 520、以下选项中可以使成员变量m 被函数fun( )直接访问的是()class Test {private int m;public static void fun() {System.out.println(m);}}A) 将private int m 改为protected int mB) 将private int m 改为public int mC) 将private int m 改为static int mD) 将private int m 改为int mE) 将public static void fun( ) 改为public void fun( )21、父类中有一个方法public void aa(int i) throws IOException {...},子类要重写该方法,正确的定义是()A) public void aa(int j ) {...}B) public void aa(Integer j) {...}C) public void aa(int i ) throws Exception {...}D) protected void aa( int i) {...}E) public void aa( int j) throw IOException {...}22、关于抽象类和接口,下列说法正确的是()A) 抽象类中可以没有抽象方法B) 抽象类中可以定义main方法和构造方法C) 抽象类实现接口时可以不用实现接口中的方法D) 一个类通过implement关键字实现接口23、以下关于this和super关键字的说法错误的是()A) this关键字指向当前对象自身,super关键字指向当前对象的直接父类B) this和super关键字都可以访问成员属性,成员方法和构造方法C) 在构造方法中可以使用this调用本类中其他构造方法,但必须位于首句D) 在main方法中可以存在this或super关键字,但不能同时存在E) 可以使用super访问父类所有属性和方法24、关于构造方法,下列说法不正确的是()A) 构造方法与类同名,且不能声明返回值类型B) 用构造方法创建对象时,需使用new关键字C) 构造方法中不能含有return语句D) 我们在定义一个类时,必须要声明至少一个构造方法25、阅读以下程序段int a = 7, b = 8; //1int temp = a; //2a = b; //3b = temp; //4下面哪个选项可以替换该程序段的2—4行,并实现与之相同的功能?()A) a = a^b; b = a^b; a = a^b;B) a = a+b; b = a-b; a = a-b;C) a = a&b; b = a&b; a = a&b;D) a = a*b; b = a/b; a = a/b;26、已知外部类Outer中有一个成员内部类Inner,则()A) Inner生成的class文件为Outer.Inner.classB) Inner生成的class文件为Outer$Inner.classC) 在内部类中可以直接访问外部类的成员属性和方法D) 在其他类中用语句Outer.Inner in = new Outer.Inner( );创建Inner对象27、instanceof运算符能够用来判断一个对象是否为()A) 一个类的实例B) 一个实现指定接口的类的实例C) 一个子类的实例28、已知实体类A继承了B类并实现了C、D两个接口,则以下哪条语句可以通过编译?()A) A a = new B( ); B) B b = new A( );C) C c = new C( ); D) D d = new A( );29、下面关于Java中包的说法正确的是()A) 在Java中使用import语句导入包B) package语句指明该源文件定义的类所在的包,必须作为Java源文件的第一条语句C) 不同的包中可以出现类名相同的类D) 包存放在Java项目的src目录下30、类Teacher和Student是类Person的子类Teacher t = new Teacher();Student s = new Student();if (t instanceof Person )s = (Student)t;最后一条语句的执行结果是: ()A) 将构造一个Student对象B) 将强制转换一个Student对象C) 编译失败D) 编译时正确,但运行时错误31、哪个不是Object类中的方法()A) toString B) equals C) hashCode D) compare32、如果Child extends Parent,那么正确的有()A) 如果Child是class,且只有一个有参数的构造方法,那么必然会调用Parent中相同参数的构造方法B) 如果Child是interface,那么Parent必然是interfaceC) 如果Child是interface,那么Child可以同时extends Parent1,Parent2等多个interfaceD) 如果Child是class,并且没有显示声明任何构造方法,那么此时仍然会调用Parent的构造方法33、下面哪些情况下需要使用抽象类?()A) 当一个类的一个或多个方法是抽象方法时B) 当类是一个抽象类的子类,并且不能为任何抽象方法提供任何实现细节或方法体时C) 当一个类实现多个接口时D) 当一个类实现一个接口,并且不能为任何抽象方法提供实现细节或方法体时34、以下代码中错误的语句是()public class Something {public static void main(String[] args) {final Other o = new Other();new Something().addOne(o); // 1}public void addOne(Other o){o.i++; // 2o = new Other(); // 3}}class Other{public int i;}A) 1 B) 2 C) 3 D) 没有错误35、String s1 = "java";String s2 = "java"; 则下列表达式值为true的是()A) s1.equals(s2)B) "Java".equalsIgnoreCase(s2)C) new String("java") = = s1D) s1= =s236、关于String字符串描述不正确的是()A) String本质是一个字符数组B) String对象存储字符串的效率比StringBuffer高C) String类提供了许多用来操作字符串的方法:连接、提取、查询等D) 基本数据类型和String相加结果一定是字符串型E) 可以使用构造方法String(char value[ ])创建一个字符串对象37、String s = "How are you"; 下列哪个操作不会产生错误或异常?()A) char c = s.charAt(s.length()); B) int i = s.indexOf("you");C) s = s.split("-")[0]; D) s = s.substring(1, s.length());38、以下选项中关于int和Integer的说法错误的是()A) int是基本数据类型,Integer是int的包装类,是引用数据类型B) int的默认值是0,Integer的默认值也是0C) Integer i = 5;该语句使用了自动拆箱功能D)使用Integer中的静态方法sqrt可以对一个整数进行开方运算39、关于try...catch..finally结构,描述正确的是哪项()A) 可以有多个catch B) catch块是必不可少的C) 可以有多个finally D)只能有一个catch40、对于异常处理,选择正确的选项()A) 如果finally中有return语句,则会将try或catch中的return语句“覆盖”,直接执行finally中的return语句B) 如果一个方法内部抛出了一个异常对象,那么必须要在方法上声明抛出C) 如果调用了一个声明抛出异常的方法,那么调用者必须要处理异常D) 如果try块中出现了异常的代码,那么其后面的代码是不会执行的41、能和try语句块一起使用的是()A) catch B) finally C) final D) finalize42、下面方法的返回值是()int method( ) {int i = 3;try{i /= 0;}catch(Exception e) {return i;}finally{i++;}return i+=2;}A) 4 B) 3 C) 6 D) 编译失败43、用冒泡排序对4,5,6,3,2,1进行从小到大排序,第三趟排序后的状态为()A) 4 5 3 2 1 6 B) 3 2 1 4 5 6C) 4 3 2 1 5 6 D) 2 1 3 4 5 644、如何随机地获取数组arr中的某一个元素?()A) arr[new Random( ).nextInt(arr.length)]B) arr[new Random( ).nextInt(arr.length+1)]C) arr[(int)Math.floor(Math.random( )*arr.length)]D) arr[(int)Math.ceil(Math.random( )*arr.length)]45、String str = "abccdefcdh";System.out.println(str.split("c").length);以上程序执行后打印的结果是几?()A) 2 B) 3 C) 4 D) 546、public class Example {public static void main(String[ ] args) {final String[ ] strs = { "Tom", "Jerry","Donald" };for (String s : strs) {s = "Tuffy";}System.out.println(strs[0] + "," + strs[1] +"," + strs[2]);}}请问运行main方法会打印出的是什么()A) Tom,Jerry,Donald B) Tuffy, Tuffy, TuffyC) 编译失败D) 发生异常,输出异常信息47、m个人去公园划船,每条船可以乘坐n个人,需要()条这样的船?A) m/n B) m/n+1C) m%n= =0?m/n:m/n+1 D) (int)(1.0*m/n)+148、关于Java中常用的类,下列说法正确的是()A) Calendar.MONTH用于表示月份,现在是8月份,得到的Calendar.MONTH 字段的值是9B)用SimpleDateFormat类的format方法可以格式化Date对象C) ArrayList集合底层是用数组实现的,存储的元素有序,可重复D) java.util.Random的nextInt( )方法会生成一个正整数类型的随机数49、单例模式正确的写法是(),其中(D)是饿汉式A) public class SingleInstance {private static SingleInstance instance = new SingleInstance( );private SingleInstance( ) { }public SingleInstance getInstance() {return instance;}}B) public class SingleInstance {private SingleInstance( ) { }public static SingleInstance getInstance( ) {return new SingleInstance() ;} }C) public class SingleInstance {private static SingleInstance instance ;private SingleInstance( ) { }public static SingleInstance getInstance( ) {if (instance == null) { instance = new SingleInstance( );}return instance;}}D) public class SingleInstance {private static SingleInstance instance = new SingleInstance( ) ;private SingleInstance( ) { }public static SingleInstance getInstance( ) {return instance;}}50、运行以下代码片段,输出结果是? ( )class X {{ System.out.print("1"); }static { System.out.print("2"); } X() { System.out.print("X"); }}public class Y extends X {{ System.out.print("3"); }static { System.out.print("4"); }Y() { System.out.print("Y"); }public static void main(String[] args) {new Y();}}A) 241X3Y B) 21X43Y C) 12X34Y D) 2413XY51、实现/继承了Collection接口的是()(包括直接和间接的实现/继承)A) Map B) List C) Vector D) Iterator E) Set52、下面属于线程安全的类是()A) java.util. ArrayList B) java.util.VectorC) ng.StringBuffer D) ng.StringBuilderE) java.util.HashMap F) java.util.Hashtable53、下列()选项中是LinkedList类有而ArrayList类没有的方法A) add(Object o) B) add(int index,Object o)C) getFirst( ) D) removeLast( )54、有这样一段程序:请问运行主要的程序会打印出的是什么()A) 2,2 B) 2,3 C) 3,2D) 3,355、根据以下代码,选择正确的选项()①Map map = new HashMap();②map.put(null,null);③map.put("a","A");④map.put("b","B");⑤map.put("b","BB");A) 第②行错误,因为HashMap不能将空值用作键B) 第②行错误,因为HashMap不能将空值用作值C) 第③行的put方法会返回nullD) 第⑤行的put方法会返回"B"56、关于集合,下列说法不正确的是()A) List是有序的。