CoreJava测试题答案
- 格式:doc
- 大小:105.50 KB
- 文档页数:7
《CoreJava》理论试题题库答案版得分阅卷人一、单选题(20题,共38分)1、(2分)基本数据类型float的包装类是哪项,(C) A( Integer B( DoubleC( Float D( Character 2、(2分)使用下列哪个修饰符定义的类不能被继承( C ) A. static B. abstract C. final D. Native3、(1分)下列类的定义,错误的是( D ) A. public class test extends Object{……} 学院班级姓名 B. final class operators{……}密封线内不要答题 C. class Point{……}D. void class Point{……}4、(2分)静态内部类是指使用(B)来修饰的内部类 A(final B.staticC.publicD.protected5、(2分)匿名内部类的特点下面错误的是(b) A、匿名内部类没有构造方法B、匿名内部类是静态的C、它主要用于继承其他类或实现接口D、它是一个特殊的局部内部类6、(2分)下列哪个类不是java基本数据类型的封装类,( C )A. Integer;B. Byte;C. String;D. Character;7、(1分)基本数据类型char的包装类是哪项,( D )A intB charC StringD Character8、(2分)阅读以下程序代码,作出分析:public class Test { public static void main(String[]args) { boolean b = true; b=new Apple().equals(new Apple()); System.out.println(b); }}class1 / 49Apple{}该程序的输出结果是:(A)A(falseB(trueC. 不确定结果D. 编译错误9、(2分)List接口的特点是哪项,(C)A(不允许重复元素,元素无顺序B(不允许重复元素,元素无顺序c(允许重复元素,元素有顺序D(允许重复元素,元素无顺序10、(2分)关于HashMap和HashTable的说法错误的是( D ): A. HashMap和HashTable都是Map接口的实现类B. HashTable是线性安全的C. HashMap是线性不安全的D(HashTable要比HashMap的性能高一点11、(2分)当程序调用一个null对象的方法或属性时,这将引起(A )异常A NullPointerExceptionB NumberFormatExceptionC IndexOutOfBoundExceptionD 以上都可能12、(2分)局部内部类是定义在(B)A.外部类里面 B、外部类的某个方法里面 C、通过实现接口来实现 D、都可以13、(1分)创建一个数据库对象的关键字是( D )A、alterB、newC、addD、create 14、(2分):在数据库中,下列表示整型数据类型的是(B)。
Core Java试题汇总1.谈谈final, finally, finalize的区别。
答:final为Java语言中的关键字,有“这是无法改变的”或者“终态的”的含义;finally也为Java语言中的关键字,是异常处理机制中的一部分,在finally块中的代码在异常处理的最后阶段总会执行;finalize为Java语言中的一个函数,它在系统中主要用于垃圾收集。
2.Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?答:匿名内部类不能继承其它类,但是一个匿名内部类可以作为一个接口由另一个匿名内部类实现。
3.&和&&的区别。
答:&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与运算。
如果两个boolean 条件分别用&和&&相连接,如果第一个boolean条件结果为false,那么用&连接时,第二个boolean条件依然会被执行(在条件为表达式的情况下);而用&&连接时则不会被执行。
4.HashMap和Hashtable的区别。
答:区别主要有三点。
1,Hashtable是基于Dictionary类的,HashMap是Map接口的一个实现。
2,Hashtable的方法是线程安全的,而HashMap的方法不是。
3,HashMap的key或者value可以为空,而Hashtable不能。
5.Collection和Collections的区别。
答:Collection是集合类的上一级接口,继承于它的接口主要有Set和List.Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。
6.GC是什么? 为什么要有GC?答:GC是Garbage collection的缩写,意为垃圾回收,Java 程序员不用担心内存管理,因为垃圾收集器会自动进行管理。
Corejava试题Corejava试题姓名__________ 班级___________一、选择题(本题为多选题,全部正确才给分,每题2分,总分46分)1、编译java程序的命令是________;运行java程序的命令是________;产生java文挡的命令是_______;查询java类型是否是serializable类型的命令是_______;产生java安全策略文件的命令是________;产生类型归档文件.jar的命令是________。
A. javaB. javacC. serialverD.javadocE.policytoolF.jar2、在使用super 和this关键字时,以下描述正确的是()A 在子类构造方法中使用super()显示调用父类的构造方法,super ()必须写在子类构造方法的第一行,否则编译不通过B super()和this()不一定要放在构造方法内第一行C this()和super()可以同时出现在一个构造函数中D this()和super()可以在static环境中使用,包括static方法和static语句块3、下面叙述正确的有___________________。
A.在一个java原文件中只能定义一个classB在一个java原文件中只能定义一个interfaceC在一个java原文件中可以定义多个classD在一个java原文件中可以定义多个interfaceE在一个java原文件中可以定义多个class和interfaceF在一个java原文件中只能定义public classG java原文件的前缀一定是所包含类型的名字4、java程序中程序运行入口方法main的签名正确的有________。
A. public static void main(String args[])B. static public void main(String[] args)C. public void static main(String[] args)D. public void main(String args[])5、public class Test {void printValue(int m){do {System.out.println("The value is"+m);} while( --m > 10 );}public static void main(String args[]) {int i=10;Test t= new Test();t.printValue(i);}}输出将是什么? ()A. The value is 8B. The value is 9C. The value is 10D. The value is 116、以下能作为class, interface, method或variable有效标识符的有________________。
达内corejava第二次考试试题类型:单选题试题1已知变量a和obj的定义如下:Object[] a1 = { "a", "b", "c" };Object obj = a1;则下面语句运行时会抛出异常的是( )。
CA.Object[] a2 = (Object[])obj;B.String str1 = (String)((Object[])obj)[1]C.String[] a3 = (String[])objD.String str2 = (String)a1[2]试题2已知类Foo的定义如下:public class Foo {int value;Foo(int value) {this.value = value;}}运行下面程序段:Foo[] a1 = { new Foo(1), new Foo(2), new Foo(3) }; Foo[] a2 = new Foo[a1.length];System.arraycopy(a1, 0, a2, 0, a1.length);System.out.println((a1 == a2) + "," + (a1[1] == a2[1]));控制台输出的结果是( )。
AA.false,trueB.false,falseC.true,trueD.true,false试题3已知类Foo的定义如下:public class Foo {int value;Foo(int value) {this.value = value;}public boolean equals(Object obj) {if (obj instanceof Foo) {Foo foo = (Foo) obj;return value == foo.value;} else {return false;}}运行下面程序段:ArrayList list = new ArrayList();HashSet set = new HashSet();list.add(new Foo(1));set.add(new Foo(1));System.out.println(list.contains(new Foo(1)) + "," + set.contains(new Foo(1)));控制台输出的结果是( )。
选用的题目如下:01.数组有没有length()这个方法? String有没有length()这个方法?数组没有length方法数组提供的获得元素个数的方式是通过访问数组的length属性String也就是字符串类型有length()用于返回字符串的字符个数也就是俗话说的字数但是字符数和字节数是不同的int num = str.getBytes().length - str.length();可以得到一个字符串当中有多少个汉字02.Overload和Override的区别。
Overloaded的方法是否可以改变返回值的类型?为什么?Overload:方法重载指发生在同一类当中,方法名字相同,参数列表(类型、个数、顺序)不同的两个方法(体现静态多态)Override:方法覆盖发生在有继承关系的两个类之间子类类型当中访问控制权限修饰符不能更严格抛出的异常种类不能更广泛方法重载的时候可以改变返回值的类型return type maybe different因为方法名字和参数列表一旦确定在一个类当中就可以唯一确认一个方法所以即便方法返回类型不同也能判断出来调用的是哪个方法,因而不会出错03.== 与equals 有何区别?== 是Java当中的运算符用于比较两个引用当中存放的内存地址也就是内存指向是否相同或者说用于判断两个对象是否是同一个对象equals()是Java当中所有类型的父类既Object类当中的一个方法用于任何一个子类类型通过覆盖equals从而给这个类型提供另外一种比较规则(因为java当中没有运算符重载)很多人看到equals就认为是比较内容的方法其实不然在Object类当中equals方法当中也是采用==实现比较04.Error和Exception有什么区别?他们是Throwable的两个分支Error是指错误通常是程序员不可能通过代码来解决的问题底层环境或者硬件的问题Exception指异常或者理解为程序运行过程当中出现的意外情况05.abstract class和interface有什么区别?抽象类当中可以定义普通的属性可以定义普通的方法(有完整方法体的方法), 抽象类依然是Object的子类类型interface从某种意义上应当理解成为更为纯粹的抽象类当时其中只能定义抽象方法和常量接口当中定义的变量默认就是常量接口当中定义的方法默认就是抽象方法接口的概念没有父类换言之接口不是Object类型的子类类型06.接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?接口可以继承接口而且可以多重继承在继承多个接口的同时子接口等价于两个接口的方法汇总抽象类可以实现接口因为抽象类当中可以有方法的具体实现抽象类可以继承实体类但是如果实体类继承抽象类就必须实现当中所有的抽象方法否则自身也得变为抽象类07.作用域public,private,protected,以及不写时的区别。
corejava_new 试题以下是未添加到数据库中的考题:以下是已添加到数据库中的考题:窗体顶端1. 下面哪些是short型的取值范围[C]A. -27 -- 27-1B. 0 – 216-1C. 215 – 215-1D. 231 – 231-12. 下面哪些是合法的标识符[ABE]A. $personsB. TwoUsersC. *pointD. thisE. _endline3. 哪些是将一个十六进制值赋值给一个long型变量[D]A. long number = 345L;B. long number = 0345;C. long number = 0345L;D. long number = 0x345L4. 下面的哪些程序片断可能导致错误。
[BD]A. String s = "Gone with the wind";String t = " good ";String k = s + t;B. String s = "Gone with the wind";String t;t = s[3] + "one";C. String s = "Gone with the wind";String standard = s.toUpperCase();D. String s = "home directory";String t = s - "directory";5. 在// point x处的哪些声明是合法的[DE]class Person {private int a;public int change(int m){ return m; }}public class Teacher extends Person {public int b;public static void main(String arg[]){Person p = new Person();Teacher t = new Teacher();int i;// point x}}A. i = m;B. i = b;C. i = p.a;D. i = p.change(30);E. i = t.b;6. 当Frame的大小被改变时, Frame中的按钮的位置也可能被改变,请问此时使用的是什么布局管理器[B]A. BorderLayoutB. FlowLayoutC. CardLayoutD. GridLayout7. 给出下面的代码片断1) public void create() {2} Vector myVect;3} myVect = new Vector();4} }下面的哪些陈述是正确的? [ADE]A. 第二行的声明不会为变量myVect分配内存空间。
CoreJava测试题(二)17. 一个匿名的内置类有可能________。
A.继承其他的类B.实现了某一接口C.定义了构造方法D.可以使用成员变量18. 如果你想将一组对象按一定顺序存取,在不考虑并发访问的情况下会使用________, 反之则会使用________;如果你想存储一组无序但唯一的对象,你会使用________; 如果你想按关键字对对象进行存取,在不考虑并发访问的情况下会使用________, 反之则会使用________。
A.VectorB.HashSetC.ArrayListD.HashMapE.Hashtable 19. 程序代码:public class ExceptionTest{public double div(double a, double b){ try{return a/b; }catch(Exception e){System.out.println(“Excep tionthrown”); }finally{System.out.println(“Release resources.”);} }public static void main(String[]args){ ExceptionTest et = new ExceptionTest(); et.div(1, 2); et.div(3.4, 0); } }可能产生的结果是________:A. 编译不成功B.无法运行1C.程序运行输出为:Release resources.Exception thrown Release resources.20. ________又叫做unchecked exception。
Checked Exception通常继承________。
在方法签名上指定可能有异常产生用关键字________, 在程序中产生异常用关键字________。
获得异常的简单描述信息调用方法________, 获得详细的异常栈信息调用方法________。
CoreJava测试题班级:____ 姓名:____ 分数:____一、单选题1.J2SE作为一种应用和开发环境,提供了一整套实用工具,其中()是Java语言的编译工具。
(D)A.javaB.javadocC.javapD.javac2.Java中,以下循环语句的执行次数是(C)。
int x=37;int y=3;while(y<=x){y*=y;}A.0B. 1C. 2D. 33.下面Java程序的输出结果是(C)。
public static void main(String[] args){final int A=4;int a=2;switch(a*2){case A : System.out.print (a);default : System.out.println(a*2);}}A. 2B. 4C.24D.报错4.Java中,类Test定义如下:class Test{int m;public static void fun(){…}}如果希望fun()方法能够引用成员变量m,那么需要将第2行代码改为(C)。
A.p rotected int m;B.public int m;C.static int m;D.p rivate int m;5.任何一个Java程序都默认引入了一个包,这个包名是(A)。
ngB.java.objectD.java.io6.Java中默认的处理异常方法为(A)。
A.显示异常信息,停止程序运行B.显示异常信息,不停止程序运行C.不显示异常信息,但停止程序运行D.什么都不做7.Java中,欲构造ArrayList类的一个实例,此类继承了List接口,下列正确的方法是(B)。
A.ArrayList myList = new Object();B.List myList = new ArrayList();C.ArrayList myList = new List();D.List myList = new List();8.Java中,在任何方法返回前,绝对要执行的代码应放在(C)块中。
CoreJava考试题1、面向对象的特征有哪些方面? 【基础】答:面向对象的特征主要有以下几个方面:1)抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。
抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。
抽象包括两个方面,一是过程抽象,二是数据抽象。
2)继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。
对象的一个新类可以从现有的类中派生,这个过程称为类继承。
新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。
派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。
3)封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。
面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。
4)多态性:多态性是指允许不同类的对象对同一消息作出响应。
多态性包括参数化多态性和包含多态性。
多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。
2、作用域public,private,protected,以及不写时的区别?【基础】答:区别如下:作用域当前类同包子孙类其他public √√√√第2 页共59 页protected √√√×default √√××private √×××不写时默认为default。
3、String 是最基本的数据类型吗? 【基础】答:不是。
4、float 型float f=3.4是否正确? 【基础】答:不正确;精度不准确,应该用强制类型转换,如下所示:float f=(float)3.4 。
5、语句float f=1.3;编译能否通过?【基础】答:不能;应该用强制类型转换,如下所示:float f=(float)1.3;。
一、单选(50小题共100.0分)1.执行下列语句:int num=~3+2; 变量num的值为()。
-3A.3B.-2C.-1D.正确答案:C2.执行下列语句:int a = 0x9af700; //1001 1010 1111 0111 0000 0000 a <<= 2;变量a的值为:()。
0x26bdc00A.0xc6bdc00B.0x3fa0000C.0x7e02ffffD.正确答案:A3.下列数组声明语句中,错误的是:()。
int[] arr = new int[8];A.int[] arr = new int[8]{};B.int[] arr = {};C.int[] arr = new int[]{};D.正确答案:B4.下列代码的输出结果是()。
boolean b=true?false:true==true?false:true; System.out.println(b);trueA.falseB.nullC.空字符串D.正确答案:B5.下列代码的输出结果是()。
int j=0;for(int i=0;i<100;i++){j=j++;}System.out.println(j);A.99B.100C.101D.正确答案:A6.下列不属于Java运算符的是()。
!=A.<>B.>>C.<<D.正确答案:B7.下列属于不合法Java标识符的是()。
_avajA.5saveB.AvajC.$80D.正确答案:B8.下列语句创建对象的总个数是:()。
String s=”a”+”b”+”c”+”d”+”e”;1A.2B.3C.4D.正确答案:A9.运行下列程序:String str = "**oracle***oracle*****oracle***"; String str1 = "oracle";int index = 0;while ((index = str.indexOf(str1, index)) != -1) { System.out.print(index+””);index += str1.length();}控制台输出的结果是:()。
1.Java中包含哪些基本数据类型?String是最基本的数据类型吗?基本数据类型包括byte、int、char、long、float、double、boolean和short。
ng.String类是final类型的,因此不可以继承这个类、不能修改这个类。
2.int 和Integer 有什么区别?如何进行相互转化?Java 提供两种不同的类型:引用类型和原始类型(primitive type)。
int是java的原始数据类型,Integer是java为int提供的封装类。
Java为每个原始类型提供了封装类。
原始类型封装类boolean ng.Booleanchar ng.Characterbyte ng.Byteshort ng.Shortint ng.Integerlong ng.Longfloat ng.Floatdouble ng.Double引用类型和原始类型的行为完全不同,并且它们具有不同的语义。
引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题;数据的存储结构;当引用类型和原始类型用作某个类的实例数据时所指定的缺省值(对象引用实例变量的缺省值为null,而原始类型实例变量的缺省值与它们的类型有关)。
JDK5.0+版本中可以自动进行转化。
3.String 和StringBuffer(或StringBuilder)的区别JA V A平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。
这个String类提供了数值不可改变的字符串。
而这个StringBuffer类提供的字符串进行修改。
当你知道字符数据要改变的时候你就可以使用StringBuffer。
典型地,你可以使用StringBuffers来动态构造字符数据。
4.写出Java异常体系类图,并说明运行时异常(RuntimeException)与一般异常(Exception)有何异同?Error和Exception有什么区别?异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机(JVM)的通常操作中可能遇到的异常,是一种常见运行错误。
Corejava-数据类型运算符数组1、若JDK安装在d:\jdk1.6目录中写出JAVA环境变量JAVA_HOME CLASSPATH PATH的设置方法。
(3分)答:JAVA_HOME= d:\jdk1.6CLASSPATH=.PATH= d:\jdk1.6\bin2、 java中定义使用变量的要点有哪些?(3分)1.变量必须先声明再初始化再使用2.变量在同一作用域内不可重复定义3.变量只在对应的作用域内有效3、执行java 命令内存里面操作的三个步骤是什么?(6分)1,找到类的字节码文件1) 当前包下2)系统所带rt.jar包里找3) CLASSPATH所配置的路径去找2,加载类--从磁盘中去读取对应的类3,找主方法执行4、 Java代码注释有几种?怎么表示?(3分)答:单行注释、多行注释和文档注释;//、/* */、/** */5、JAVA变量的类型有基本类型和引用类型,其中基本类型有8个请分别列出,并写出byte、int类型的空间分配范围。
(4分)答:1、byte, 8位, -2^7~~2^7-12、short,16位,3、int, 32位,-2^31~~2^31-14、long, 64位,5、char, 16位无符号整数,6、float,32位7、double,64位8、boolean,布尔类型6、数据类型转换有哪几种?并举例说明(4分)答:1、隐式类型转换int i=1;long l=i;2、强制类型转换long l=1;int i=(int)l;7、请详细说明变量的命名规则。
(4分)(1) 由字母、数字、下划线、$组成,不能以数字开头;可以用中文;如: string 中文="abc";只能以字符、“_”或“$”开头;字符可以是汉字;(2) 大小写敏感;(3) 不得使用java中的关键字和保留字;(4) 无长度限制。
8、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?(4分)答:short s1 = 1; s1 = s1 + 1;s1+1运算结果是int型,需要强制转换类型;short s1 = 1; s1 += 1;可以正确编译,自动类型提升。
corejava简答题B1、写出public,private,protected, defaul作用域以及不写时的区别作用域当前类同包子孙类其他public √√√√protected √√√×default √√××private √×××不写时默认为default2、Anonymous Inner Class(匿名内部类)是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)答:匿名内部类是没有名字的类,他本身就是通过继承类或者接口来实现的。
但是不能再显式的extends 或者implements了。
3、Static Nested Class和Inner Class的不同答:Nested Class (一般是C++的说法),Inner Class (一般是JA V A的说法)。
Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。
注:静态内部类(Inner Class)意味着1创建一个static内部类的对象,不需要一个外部类对象,2不能从一个static 内部类的一个对象访问一个外部类对象4、&和&&的区别a.条件操作只能操作布尔型的,而逻辑操作不仅可以操作布尔型,而且可以操作数值型b.逻辑操作不会产生短路5、Collection和Collections的区别答:Collection是集合类的上级接口,继承与他的接口主要有Set 和List.Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作6、什么时候用assert答:assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。
在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。
CoreJava阶段测试题.1.以下说法那些是正确的:A.java 是一种编程语言 B java 是一套开发工具C java 是一个运行环境D java 最初追溯为sun 公司领导的一个”蓝色计划”项目.2.以下说法那些是正确的:A.java 开发出来的程序可以完全的实现跨平台 B java 是免费的C java 是开源的D java 支持多线程B.java 是安全的, 健壮的.3.在进行java 开发之前应该设置以下那些环境变量A.java_path B class_home C javahomeD pathE class_path4.以下说法那些是正确的:A.如果一个类使用public 进行修饰, 那么必须强制要求源文件的前缀与类名完全一致.B.如果一个类没有使用public 进行修饰, 也应该与源文件名字同名C.在同一个源文件中不允许同时存在多个类D.一个源文件中允许同时存在多个public 修饰的类E.即使一个类内部没有正确的main 函数, 也可以直接通过java命令运行5.关于package 与import 的描述那些是正确A.在类中定义package,import,class的时候顺序应该是import,packge,classB.在类中定义package,import,class的时候顺序应该是packge,class,importC.在类中定义package,import,class的时候顺序应该是package, 而import 与class位置无所谓D.在类中定义package,import,class的时候顺序应该是packge,import,classE.package 可以出现多次, import 只可以出现一次6.以下对标识符的定义那些是正确的:A.一定要使用英文字符作为开头.B.中间可以包含$ , _ . 但中间不能包含数字C.区分大小写, 最多不能超多30个字符D.不能使用java 中的关键字作为标识符7.以下那些是合法的标识符定义A. IndentifierB. UsernameC. user_nameD. _userNameE. $userNameF. classG. 98.3 H Hello World8.请列举至少10个以上java 的关键字.9.请列举所有的基本数据类型, 并进行分类.10.以下那些定义式正确的:A.char a = ‘a’;B.char b = 97;C.char c = “\u0061”;D.char d = ‘\u0061’;E.byte a = 10;byte b = 20;byte c = a + b;F.char a = 97;a+=1;G.char a = 97;a = a + 1;H. float a = 3.2;11.当在程序中进行表达式运算的过程中, 表达式结果类型将会发生提升, 请说明提升规范以及提升后出现等号两端数据类型不一致的情况下的解决途径..12.说明| || 与& && 之间的差别?13.编写伪代码完成以下的业务需求.Int totalSize = 100;Int pageSize = 8;使用两种不同的方式计算总页数totalPage14.以下哪些为比较运算符A.=B.==C Instanceof (I为小写)D Equals15.以下哪些说话时正确的:A . switch ()中里面可以放byte ,short,char ,int其中一种类型B. 应该保证在每个case业务代码的最后都加上break, 否则代码会往下执行, 直到碰到breakC. default 一定要出现在所有case 之后.D. default 可以出现在case 之前. 在判断是否匹配的时候是完全按照case default 定义的顺序进行判断的. 就算default 在case 前面, default 也会先判断..16.请说明中断循环流程的4种手段以及区别17.以下代码会输出什么信息for(int i=0;i<3;i++){for(int j=0;j<4;j++){System.out.print("*\t");if(j==2) break;}System.out.println();}18. 3种不同的方式实现1加到100 的结果输出..19.说明数组的特点, 以及什么是元素以及下标…20.下面的声明那些是正确的?A. int result[] = new int[3];B. String names[] = new String[3]{“a”,”b”,”c”};C. doule results[] = new double[]{3.2,1.5};D. long[] age = {3.2,1.7,2.3};21. 使用3种不同的数组声明定义使用方式完成以下的需求…学生成绩数据为: 77.5 82 68请建立数组合理保存..22. 说明数组深拷贝与浅拷贝的区别? 并书写出片段代码…23. 请看下面代码片段:public static void callRef(int[] a){a[0] = 10;}public static void callBasic(int b){b = 10;}public static void main(String args[]){int a[] = new int[]{100,20,30};int b = 100;callRef(a);callBasic(b);System.out.println(“a: ”+a);System.out.println(“b: ”+b);}最后a与b的结果为多少?24. 说明面向对象语言的3大特征以及各自理解..25. 说明4种不同访问权限的可见度.26. 说明javabean的相关规范要求..27. 以下关于构造器的说明那些是正确的?A. 当类首次进行加载的时候将会调用构造器, 仅此调用一次.B. 构造器与类名同名, 没有返回类型指定.C. 类中一定要存在一个无参的构造器.D. 如果主动定义了无参构造器, 系统仍然会为类分配无参构造器.28. 说明this 的作用.29. 何谓重载和重写. 以及各自要求..30. 请看下面代码:public class ObjectInit{private int id = idInit();private String name = nameInit();public ObjectInit(){System.out.println("无参构造器: "+this);}public ObjectInit(int id){this();this.id = id;System.out.println("int构造器: "+this);}public ObjectInit(int id,String name){this(id); = name;System.out.println("int,String构造器: "+this);}public int idInit(){System.out.println("成员变量id初始化");return 0;}public String nameInit(){System.out.println("成员变量name初始化");return null;}public static void main(String args[]){ObjectInit oi = new ObjectInit(1,"tom");}}请确定最后输出语句顺序..31. 说明super 的作用.32. 说明static 关键字可以修饰的资源以及作用.33. 说明final 关键字可以修饰的资源以及作用.34. 说明抽象类与接口的区别?35. 说明成员内部类与静态内部类的以下区别?1) 声明位置形式2) 自身可以声明什么资源3) 可以访问当前外部类什么资源4) 第3方创建内部类对象的创建形式.应该如何确定应该选择成员内部类还是静态内部类?36. 请看以下代码:Integer a = new Integer(10);Integer b = new Integer(10);Integer c = 10;Integer d = 10;System.out.println("a==b: "+(a==b));System.out.println("c==d: "+(c==d));请确定比较后的结果?37. 请详细绘画集合结构图.38. HashSet 低层如何确定数据的保存位置, 请以图文形式说明调用add方法时候的底层流程..39. 说明反射的作用. 以及在程序中可以采用哪些形式得到一个Class 对象..40. 请采用图文形式绘画异常结构图..41. 说明final, finalize, finally 的区别42. 说明throw 与throws 的区别43.各列举3个已检查异常以及未检查异常..44. 说明File 与IO 的相互关系45. 说明学习IO 的3大区分规则..46. 说明AWT 与Swing 的区别?47. 说明开发GUI 的基本步骤.48. 说明事件处理3要素的含义..49. 说明程序, 进程, 线程的区别.50. 说明开发线程的2种方式. 以及区别..51. 说明线程的4种不同数据共享方式.52. 说明sleep, yield 与join 的区别..53. 实现线程间通讯可以采用哪些方法?54. 说明TCP 与UDP 的区别.55. 说明采用TCP 开发网络客户端以及服务端时的开发流程..。
COREJAVA第二阶段笔试题1、说出ArrayList, Vector,LinkedList的存储性能和特性.ArrayList和Vector,LinkedList都赶List抜U的劣现炎或者说都赶存放中.值而fl有序不唯•的集合炎型他们的区别主要有两点1.冋步特性:ArrayLislJJnkedLisl是线程不安全的,多个线程可以冋时对其进行访问的可能出现并发错误Collections屮有synchronizedList方法能够将线程不安全的List集合转变力线程安令的Vector是线程安全的2.扩容机制:ArrayList,Vector底层采川数组结构,杳找快,修改慢ArrayList矿容遵从*3/2+1的机制,Vector扩容遵从*2的机制如果在构造方法第二个参数中提供了扩容增莆那么每次扩容都增加相冋的增莆LinkedList底展采川双向循环键表,??找慢,修改快1、谈谈 final, finally, finalize 的区别。
final修饰变量,一旦赋值不能被更改;修饰类,不能被继承;修饰方法,方法不能被子类重写finally 用于异常处理中,无论发生不发生异常,finally中的方法都会被执行,一般用于对外部资源的释放finalize是gc在对对象执行垃圾回收前,执行的对象上的最后一个方法2、HashMap 和 Hash table 的区别。
1.HashMap是线程安全的;Hashtabel是线程不安全的2.HashMap的键和值都可以为null,不过key只能出现一个null值,Hashtable键和值都不允许为null3.HashMap 的上层接口是 Map; Hashtable 的上层类是 Dictionary4.两荞底层采用链表数组,HashMap默认分组为16,而Hashtable默认分组是113、sleep0和wait()有什么区别?锁资源释放:sleep使线程阻塞前,不会释放锁资源,wait会释放锁资源谁的方法:sleep是线程类的方法,wait是临界资源上的方法唤醒方式:使用sleep受到阻塞的线程,等到休眠时间一到会回到就绪状态,使用wait阻塞的线程除丫指定时间到丫之后自动脱离阻塞状态之外,还可以通过其它线程调用临界资源的notify或notifyAllO方法方可从临界资源的等待队列中回到对象的锁池状态,获取锁后进入就绪状态代码书写:wait只能在synchronized代码块内:而sleep方法的调用无此约來,可以出现在方法体中的任意位置5、Overload和Override的区别。
选择填空题:选择题全部为多选题,只有全部正确才能得分。
1. 编译java程序的命令是B;运行java程序的命令是A;产生java文挡的命令是D;查询java类型是否是serializable类型的命令是C ;产生java安全策略文件的命令是E ;产生类型归档文件.jar的命令是F。
A. javaB. javacC. serialverD. javadocE. policytoolF. jar//压缩jar cvf test.jar test//解压jar xvf test.jar2. 在一个java原文件中,import, class, package语句的顺序是F。
A. import class packageB. class import packageC. package class importD. import package classE. class package importF. package import class3. 下面叙述正确的有CDE 。
A. 在一个java原文件中只能定义一个classB. 在一个java原文件中只能定义一个interfaceC. 在一个java原文件中可以定义多个classD. 在一个java原文件中可以定义多个interfaceE. 在一个java原文件中可以定义多个class和interfaceF. 在一个java原文件中只能定义public classG. java原文件的前缀一定是所包含类型的名字4. java程序中程序运行入口方法main的签名正确的有AB。
A. public static void main(String args[])B. static public void main(String[] args)C. public void static main(String[] args)D. public void main(String args[])5. java程序中程序入口方法main的参数代表命令行输入参数,命令行参数从A开始。
A. 0B. 1C. -16. 以下属于正确的java注释有ACD。
A. //This is commentB. /*This is commentC. /**This is comment*/D. /*This is comment*/7. 以下能作为class, interface, method或variable有效标识符的有ADF。
A. ForB. boolean //关键字C. 23ageD. _idE. my name //有空格F. $this_is_a_long_variable_name8. 以下不是java关键字的有CD 。
//NULL不属于关键字,null是关键字A. superB. thisC. NULLD. true9. 以下能作为char类型的字面值的有BD。
A. "e"B. 'f'C. '\u12'D. '\u0012'10. byte变量的取值范围是B。
A. 0 - 65535B. -128 – 127C. -256 – 255D. 0 - 3276711. 以下正确的有AC。
A. int i = 32;B. float f = 45.32;C. double d=3.2;12. 以下返回true的表达式有AC。
//equals比较的是两个对象的内容;“==”比较的是两个对象的地址A. "george" == "george"B. "george" = "george"C. "george".equals(new String("george"))D. "george" == new String("george")13. 根据以下程序选择正确答案C:public class Test{static int total = 10;public static void main(String args []) {new Test();}public Test (){System.out.println("In test");System.out.println(this);int temp = this.total;if (temp > 5) {System.out.println(temp);}}}A. 编译出错B. 运行时有异常C. 编译运行都正确14. 下面集合定义正确的有BD。
A. String strs[] = { 'a' 'b' 'c'};B. String[] strs = {"a", "b", "c"};C. String[] strs = new String{"a" "b" "c"};D. String strs[] = new String[]{"a", "b", "c"};E. String[] strs = new String[3]{"a", "b", "c"};15. 分别使用for, while, do/while循环实现从1到100的累加。
1): forpublic class Test{public static void main(String[] arg){int result = 0;for(int i=0;i<=100;i++){result += i;}System.out.println("result==> "+result); }} 2): whilepublic class Test{public static void main(String[] arg){int result = 0;int i = 0;while(i<=100){result += i;i++;}System.out.println("result==> "+result); }}3): do-whilepublic class Test{public static void main(String[] arg){int result = 0;int i = 1;do{result += i;i++;}while(i<=100);System.out.println("result==> "+result);}}16. 以下switch表达语句正确的有AC。
//switch():括号内为表达式或四种简单类型(byte, short, int, char)A. public void switchTest (char c){switch(c){…}}B. public void switchTest(long c){swit ch(c){…}}C. public void switchTest(byte c){switch(c){…}}D. public void switchTest(double c){switch(c){…}}17. 在面向对象编程中,一个类型由CDF 组成。
面向对象的特性包括GIJ。
在java中访问权限的限制由严格到宽松依次是EHBA。
A. publicB. protectedC. identifierD. dataE. privateF. operationsG. inheritanceH. default(no modifier)I. encapsulationJ. polymorphism18. 以下方法声明正确的有AD。
A. public static synchronized void writeLog(String msg)B. synchronized public static writeLog(String msg) //没有返回类型C. public final abstract void writeLog(String msg) //final和abstract不能连用D. final public void writeLog(String msg)E. abstract synchronized void writeLog(String msg) //抽象方法只能被public或protected修饰19. Java方法的参数传递对于基本数据类型如int, byte等,参数传递是C;对自定义数据类型,参数传递是A。
A. by reference //引用B. by pointerC. by valueD. by address20. 如下程序:public class ArugmentTest {static class IntA {private int a;public IntA(int a) {this.a = a;}public int getA() {return a;}public void setA(int a) {this.a = a;}}static public void change(int a) {a = 3;}static public void change(IntA a) {a.setA(3);}static public void changeRef(IntA a) {a = new IntA(9);}public static void main(String[] args) {int a = 2;change(a);System.out.print(a);IntA ia = new IntA(5);change(ia); //ia的属性a的值设为3System.out.print(ia.getA());changeRef(ia); //对象类型传引用,还是原来的对象System.out.println(ia.getA());}}在控制台上输出的是A。
//数值传递规则:简单类型参数传递的是值;对象类型参数传递的是地址(引用)A. 233 B. 333 C. 259 D. 33921. 下面程序出错的有 8/10 行。