javaSE试题(⼀)
⼀、填空题(共20个题⽬,总计20分)
1.安装JDK后,为了告诉计算机和等执⾏⽂件的位置,需要配置的环境变量是___path__________。
2.Java提供了三种注释类型,分别是单⾏注释,多⾏注释和______⽂档注释_______。
3.char 类型⽤来表⽰在Unicode编码表中的字符,长度是____2_个字节。
4.&&是短路与运算符,如果左侧表达式的计算结果是false,右侧表达式将不再进⾏计算。
判定。
6.基本数据类型的类型转换中,要将double类型的常量3.14159赋给为整数类型变量n的语句是_______int n=(int)3.14159。
7.执⾏Person p = new Person();语句后,将在____堆内存_______中给Person对象分配空间,并在栈内存中给引⽤变量p分配空
间,存放Person对象的引⽤。
8.使⽤static修饰的变量称为静态变量,静态变量可以有两种访问⽅式,分别是类名.静态变量名和________对象名.静态变量名
_______________。
9.在⼀个类⽂件中的关键字package,import,class出现的可能顺序是_______package,import,class_______________________。
10.异常是由Java应⽤程序抛出和处理的⾮严重错误,⽐如所需⽂件没有到、零作除数,数组下标越界等,可分为两类:Checked
异常和____运⾏异常______________。
11.数组在内存中分配连续的空间,数组的长度固定,⼀经分配⽆法改变,可以使⽤_______length_____属性获取数组的长度。
12.DateFormat类可以实现字符串和⽇期类型之间的格式转换,其中将⽇期类型转换为指定的字符串格式的⽅法名是___format()_。
13.JDK1.5后提供了______enum______关键字,⽤以定义枚举类。枚举类是⼀种特殊的类,可以有⾃⼰的属性、⽅法和构造⽅法。
14.如果希望将⾃定义类Student的多个对象放⼊集合TreeSet,实现所有元素按照某个属性的⾃然顺序排列,则需要Student类实现
_______Comparable___________接⼝。
15.迭代器Iterator为集合⽽⽣,专门实现集合遍历,该接⼝有三个⽅法,分别是hasNext() 、___next()、remove()。
16.Java IO体系中,______DataInputStream_____________是字节输⼊流,提供了可以存取所有Java基础类型数据(如:
int,double 等)和String的⽅法,但没有提供存取对象的⽅法。
17._____对象序列化_______是指将Java对象转换成字节序列,从⽽可以保存到磁盘上,也可以在⽹络上传输,使得不同的计算机可
以共享对象。
18.Java反射技术中,每个Method对象对应⼀个⽅法,获得Method对象后,可以调⽤其_______invoke___来调⽤对应⽅法。
19.处于运⾏状态的线程在某些情况下,如执⾏了sleep(睡眠)⽅法,或等待I/O设备等资源,将让出CPU并暂时停⽌⾃⼰的运⾏,
进⼊_____阻塞____状态。
统⼀资源定位符URL是指向互联⽹“资源”的指针,由4部分组成:协议、存放资
⼆、选择题(共25个题⽬,总计25分)
1. 以下选项中是对⼀个Java源⽂件进⾏正确编译的语句是( A )(选择⼀项)
A. javac Test.java
B. javac Test
C. java Test
D. java Test.class
2. 以下选项中属于合法的Java标识符的是( CD )。(选择两项)
A. public
B. 3num
C. name
D. _age
3. 以下代码的执⾏结果是( B )。(选择⼀项)
boolean m = true;
if(m = false){
System.out.println(“false”);
}else{
System.out.println(“true”);
}
A. false
B. true
C. 编译错误
D. ⽆结果
4. 以下do-while循环代码的执⾏结果是(A )。(选择⼀项)
int a=0;
int c=0;
do{
–c;
a=a-1;
}while(a>0);
System.out.println(a+" "+c);
A. -1 -1
B. 死循环
C. -1 -2
D. -1 0
5. while循环和do-while循环的区别是( D )。(选择⼀项)
A. 没有区别,这两个结构在任何情况下效果⼀样
B. while循环⽐do-while循环执⾏效率⾼
C. while循环是先循环后判断,所以循环体⾄少被执⾏⼀次
D. do-while循环是先循环后判断,所以循环体⾄少被执⾏⼀次
6. 分析下⾯的Java多重循环代码⽚段,编译运⾏后的输出结果是( D )。(选择⼀项)
for (int i = 0; i < 6; i++) {
int k = ++i;
while (k < 5) {
System.out.print(i);
break;
}
}
A. 024
B. 02
C. 123
D. 13
7. 以下关于⽅法调⽤的代码的执⾏结果是( b )。(选择⼀项)
public class Test {
public static void main(String args[]) {
int i = 99;
mb_operate(i);
System.out.print(i + 100);
}
static void mb_operate(int i) {
i += 100;
}
}
A. 99
B. 199
C. 299
D. 99100
8. 以下关于继承条件下构造⽅法执⾏过程的代码的执⾏结果是( a )。(选择⼀项)
class Person {
public Person() {
System.out.println(“execute Person()”);
}
}
}
class Student extends Person {
public Student() {
System.out.println("execute Student() ");
}
}
class PostGraduate extends Student {
public PostGraduate() {
System.out.println(“execute PostGraduate()”);
}
}
public class TestInherit {
public static void main(String[] args) {
new PostGraduate();
}
}
A. execute Person()
execute Student()
execute PostGraduate()
B. execute PostGraduate()
C. execute PostGraduate()
execute Student()
execute Person()
D. 没有结果输出
9. 以下语句中关于Java构造⽅法的说法错误的是( b )。(选择⼀项)
A. 构造⽅法的作⽤是为创建对象进⾏初始化⼯作,⽐如给成员变量赋值
B. ⼀个Java类可以没有构造⽅法,也可以提供1个或多个构造⽅法
C. 构造⽅法与类同名,不能书写返回值类型
D. 构造⽅法的第⼀条语句如果是super(),则可以省略,该语句作⽤是调⽤⽗类⽆参数的构造⽅法
10. 以下关于this和super关键字的说法错误的是(bd )。(选择⼆项)
A. this关键字指向当前对象⾃⾝,super关键字指向当前对象的直接⽗类
B. 在main⽅法中可以存在this或super关键字,但不能同时存在。
C. this和super关键字都可以访问成员属性,成员⽅法和构造⽅法
D. 在⼀个类的构造⽅法中可以同时使⽤this和super来调⽤其他构造⽅法
11. 以下选项中可以使成员变量m 被函数fun()直接访问的是(c )。(选择⼀项)
class Test {
private int m;
public static void fun() {
System.out.println(m);
}
}
A. 将private int m 改为protected int m
B. 将private int m 改为 public int m
C. 将private int m 改为 static int m
D. 将private int m 改为 int m
12. Person类和Test类的代码如下所⽰,则代码中的错误语句是( C )。(选择⼀项)
public class Person {
public String name;
public Person(String name) {
= name;
= name;
}
java环境变量自动配置}
public class Test {
public static void main(String[] args) {
final Person person = new Person(“欧欧”);
= “美美”;
person = new Person(“亚亚”);
}
}
A.
final Person person = new Person(“欧欧”);
B. = “美美”;
C. person = new Person(“亚亚”);
D. 没有错误
13) 以下关于异常的代码的执⾏结果是( C )。(选择⼀项)public class Test {
public static void main(String args[]) {
try {
System.out.println(“try”);
return;
} catch(Exception e){
System.out.println(“catch”);
}finally {
System.out.println(“finally”);
}
}
}
A. try
catch
finally
B. catch
finally
C. try
finally
D. try
14. 以下关于String类的代码的执⾏结果是( B )。(选择⼀项)
public class Test2 {
public static void main(String args[]) {
String s1 = new String(“bjsxt”);
String s2 = new String(“bjsxt”);
if (s1 == s2)
System.out.println(“s1 == s2”);
if (s1.equals(s2))
System.out.println(“s1.equals(s2)”);
}
}
A. s1 == s2
B. s1.equals(s2)
C. s1 == s2
s1.equals(s2)
D. 以上都不对
15. 以下关于StringBuffer类的代码的执⾏结果是(D )。(选择⼀项)
public class TestStringBuffer {
public static void main(String args[]) {
StringBuffer a = new StringBuffer(“A”);
StringBuffer b = new StringBuffer(“B”);
mb_operate(a, b);
System.out.println(a + “.” + b);
}
static void mb_operate(StringBuffer x, StringBuffer y) {
x.append(y);
y = x;
}
}
A. A.B
B. A.A
C. AB.AB
D. AB.B
16. 以下选项中能够正确创建⼀个数组的是( AD)。(选择⼆项)
A. float []f[] = new float[6][6];
B. float f[][] = new float[][];
C. float [6][]f = new float[6][6];
D. float [][]f = new float[6][];
17. 以下选项中关于int和Integer的说法错误的是( BD)。(选择⼆项)
A. int是基本数据类型,Integer是int的包装类,是引⽤数据类型
B. int的默认值是0,Integer的默认值也是0
C. Integer可以封装了属性和⽅法提供更多的功能
D. Integer i=5;该语句在JDK1.5之后可以正确执⾏,使⽤了⾃动拆箱功能
18. 以下选项中关于Java集合的说法错误的是( AC )。(选择⼆项)
A. List接⼝和Set接⼝是Collections接⼝有两个⼦接⼝
B. List接⼝中存放的元素具有有序,不唯⼀的特点
C. Set接⼝中存放的元素具有⽆序,不唯⼀的特点
D. Map接⼝存放的是映射信息,每个元素都是⼀个键值对
19. 以下代码的执⾏结果是( B )。(选择⼀项)
Set s=new HashSet();
s.add(“abc”);
s.add(“abc”);
s.add(“abc”);
s.add(“abcd”);
System.out.println(s.size());
A. 1
B. 2
C. 3
D. 4
20. 下⾯集合类中属于⾮线程安全,且结构采⽤了哈希表的是(C )。(选择⼀项)
A. Vector
B. ArrayList
C. HashMap
D. Hashtable
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论