]java培优分班考试试题
1.(单选题)下列各项中用来编译编译java文件的命令是:
A.javac
B.java
C.javap
D.javah
E.javadoc
正确答案:A
解析:
2.
(单选题)下列各项中是java中的关键字的是:
A.System
B.Int
C.String
D.main
E.const
正确答案:E
解析:
3.
(单选题)运算符优先级别由高向低排序正确的是:
A.()、!、算术运算符、关系运算符、逻辑运算符、赋值运算符;
B.()、关系运算符、算术运算符、赋值运算符、!、逻辑运算符;
C.()、算术运算符、逻辑运算符、关系运算符、!、赋值运算符;
D.()、!、关系运算符、赋值运算符、算术运算符、逻辑运算符;
E.()、!、关系运算符、赋值运算符、算术运算符、逻辑运算符;
正确答案:A
解析:
4.
(单选题)对于下列程序:
public class Test {
public static void main(String[] a){
int a = 3, b = 4, c = 5;
boolean d = a > b && c++ > 4;
System.out.println(c + “,” + d);
}
} 的运行结果是:
A.5,true
B.5,false
C.6,true
D.6,false
E.编译错误
正确答案:E
解析:
5.
(单选题)对于代码:
public class Test {
public static void main(String[] args){
int i = 5;
// 10 (i=6) + 3 * 7 +
int j = 2*i++ +3*++i;
System.out.println(j);
}
} 的运行结果是:
A.31
B.32
C.33
D.34
E.35
正确答案:A
解析:
6.
(单选题)对于代码:
public class Test {
public static void main(String[] args){
int i = 3;
if(i < 3);
System.out.println(“haha”);
System.out.println(“hehe”);
}
} 的输出结果是:
A.haha
B.hehe
C.haha hehe
D.hehe haha
E.编译时报错
正确答案:C
解析:
7.
(单选题)对于代码:
public class Super {
public static void ma(){
System.out.println(“Super ma”);
}
public void mb(){
System.out.println(“Super mb”);
}
public static void main(String[] args){
Super s = new Sub();
s.ma();
s.mb();
}
}
class Sub extends Super {
public static void ma(){
System.out.println(“Sub ma”);
}
public void mb(){
System.out.println(“Sub mb”);
}
} 的输出结果是:
A.Super ma Super mb
B.Super ma Sub mb
C.Sub ma Super mb
D.Sub ma Sub mb
E.编译出错
正确答案:B
解析:
8.
(单选题)对于代码:
public class Test {
public static void main(String [] args){
MyClass mc = new MyClass();
change(mc);
System.out.println(mc.i);
}
public static void change(MyClass mc){
mc.i = 5;
mc = new MyClass();
mc.i = 8;
}
}
class MyClass{
int i = 3;
} 的运行结果是:
A.0
B.3
C.5
D.8
E.编译错误
正确答案:C
解析:
9.
(单选题)对于代码:
public class Test {
public static void main(String[] args){
int i = 5;
final int j = 10;
add(i);
plus(j);
}
public static void add(final int i){
System.out.println(2 * i);
//i = i * 2 ;
//System.out.println(i);
}
public static void plus(int i){
i *= 2;
System.out.println(i);
}
} 的结果是:
A.10 10
B.10 20
C.5 10
D.5 20
E.编译错误
正确答案:B
解析:
10.
(单选题)对于下列代码:
public class Test {
public static void main(String [] args){
System.out.println(add(3,5));
}
static double add(int i,double j){
return i + j;
}
static double add(double i, int j){
return i + j;
}
static double add(double i ,double j){
return i + j;
}
static double add(float i ,int j){ return i + j;
}
} 的输出结果是:
A.8
B.8.0
C.‘8’
D.‘8.0’
E.编译错误
正确答案:E
解析:
11.
(单选题)下列关于匿名对象的说法正确的是:
A.匿名对象在栈内存中有该对象的引用
B.匿名对象可以当做参数来进行传递
C.匿名对象在声明之后可以重复调用
D.匿名对象在使用完之后会立即移除栈内存
E.匿名对象不能调用方法
正确答案:B
解析:
12.
(单选题)对于代码:
public class Test {
public static void main(String[] args){
String s1 = “ab”;
//
String s2 = new String(“ab”);
String s3 = “a” + “b”;
String s4 = “a”;
String s5 = “b”;
String s6 = s4 + s5;
System.out.println(s1 == s2);
System.out.println(s1 == s3);
System.out.println(s2 == s3);
}
} 的运行结果是:
A.true true true
B.true false true
C.false false false
D.false true false
E.false false true
正确答案:D
解析:
13.
(单选题)
Map<String, Integer> map = new HashMap<String, Integer>(); map.put(“G1”, 50);
map.put(“G2”, 100); map.put(“G3”, 300);
//insert code here
for(Map.Entry<String, Integer> per : set)
System.out.println(per.getKey() + “:” + per.getValue());
则在//insert code here处,添加下列哪行代码可以成功编译?
A.Set<Map.Entry<String,Integer>> set = map.entrySet();
B.Set<Map.Entry<String,Integer>> set = map.keySet();
C.Set<String> set = map.entrySet();
D.Set<String> set = map.keySet();
E.以上选项均不正确
正确答案:A
解析:
14.
(单选题)下列关于集合的说法正确的是:
A.集合的顶级接口是Collections
B.List中存储的元素的内存空间一定是连续的
C.Set中的元素是不可重复的
D.可以利用Collections.sort()和Comapable两个工具来对List排序
E.可以利用Iterable对集合进行迭代遍历
正确答案:C
解析:
15.
(单选题)对于代码:
public class Test {
public static void main(String[] args){
System.out.print(ma());
}
public static int ma() {
try {
return 100;
} finally {
try {
return 200;
} finally {
return 300;
}
//return 400;
}
}
} 运行结果是:
A.100
B.200
C.300
D.400
E.编译错误
正确答案:E
解析:
16.
(单选题)Java的核心包中,提供编程应用的基本类的是:
A.java.lang
B.java.util
C.java.io
D.java.awt
E.java.applet
正确答案:A
解析:
17.
(单选题)对于代码:
public class Test {
public static void main(String[] args){
System.out.println(m());
}
public static int m(){
int i = 5;
try {
return ++i; 1 --- 6
} catch(Exception e){
return ++i; 2
} finally {
return ++i; 3 ----7
}
}
} 的运行结果是:
A.5
B.6
C.7
D.8
E.编译错误
正确答案:C
解析:
18.
(单选题)对于代码:
public class ExceptionDemo5 {
public static void main(String[] args) { System.out.println(m());
}
public static Person m() {
Person p = new Person();
try {
p.setName("Amy");
p.setAge(15);
return p;
} catch (Exception e) {
p.setName("Sam");
p.setAge(12);
return p;
} finally {
p.setName("Tom");
p.setAge(13);
}
}
}
class Person {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
} public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return name + " " + age ;
}
} 的运行结果是:
A.Amy 15
B.Sam 12
C.Tom 13
D.编译错误
E.运行错误
正确答案:C
解析:
19.
(单选题)子类A继承了父类B,A a = new A();则①父类B静态代码块②父类B非静态代码块③父类B构造函数④子类A静态代码块⑤子类A非静态代码块⑥子类A的构造函数的执行顺序是:
A.①->②->③->④->⑤->⑥
B.①->④->②->③->⑤->⑥
C.①->②->④->⑤->③->⑥
D.④->⑤->①->②->③->⑥
E.④->⑤->⑥->①->②->③
正确答案:B
解析:
20.
(单选题)对于代码:
try {
String[] s = null;
s[0] = “test”;
System.out.println(s[0]);
} catch(Exception e){
System.out.println(“Exception”);
} catch(NullPointerException npe){
System.out.println(“NullPointerException ”);
} catch(ArrayIndexOutOfBoundsException aioobe){ System.out.println(“ArrayIndexOutOfBoundsException ”);
} 编译运行的结果为:
A.test
B.Exception
C.NullPointerException
D.ArrayIndexOutOfBoundsException
E.编译失败
正确答案:E
解析:
21.
(多选题)下列各项中可以作为标识符的是:
A.%T%
B.$T$
C.___
D.system
E.cn.tedu.bigdata
正确答案:BCD
解析:
22.
(多选题)下列说法中正确的是:
A.java中的注释格式一共有两种:单行注释、多行注释
B.单行注释之间可以嵌套
C.多行注释之间不能嵌套
D.文档注释可以嵌套多行注释
E.文档注释中的注释文字可以利用javadoc命令提取成文档
正确答案:BCE
解析:
23.
(多选题)下列各项可以正确赋值的是:
A.int i = ‘a’;
B.float f = -2;
C.byte b = 128;
D.double d = 100d;
E.char c = 97;
正确答案:ABDE
解析:
24.
(多选题)对于下列各项能够正确编译的是:
A.byte b = 5; b = b + 1;
B.byte a = 3,b = 5; byte c = a + b;
C.byte b = 127; b ++;
D.byte b = 127; b += 3;
E.byte b = 5; b += ‘a’;
正确答案:CDE
解析:
25.
(多选题)下列各项可能会出现空指针异常的是:
A.s != null & !s.equals(“”);
B.s != null && !s.equals(“”);
C.s != null | !s.equals(“”);
D.s != null || !s.equals(“”);
E.s == null || s.equals(“”);
正确答案:ACD
解析:
26.
(多选题)下列关于面向对象的特征说法正确的是:
A.封装提高了代码的复用性
B.继承提高了代码的复用性
C.封装提高了代码的安全性
D.继承提高了代码的安全性
E.多态提高了代码的灵活性
正确答案:ABCDE
解析:
27.
(多选题)下列关于static的说法正确的是:
A.static可以修饰方法中的变量
B.静态变量可以通过对象来调用
C.静态方法中可以定义静态变量
D.静态方法可以重写,也可以重载
E.父子类中可以存在同名的静态方法
正确答案:BE
解析:
28.
(多选题)对于代码:
public class Test {
public int m(int i, int j){
return i + j;
}
} 下列各项中是m()的重载的是:
A.public int m(int j, int i){ return i + j; }
B.public int m(int i, int j){ return i + j + 3; }
C.public void m(double i, double j){ return i + j; }
D.public double m(double i ,int j){ return i + j; }
E.public int m(int i){ return 2 * i; }
正确答案:DE
解析:
29.
(多选题)下列关于this的说法正确的是:
A.this代表当前对象的引用
B.可以通过this语句来实现构造函数的调用
C.可以通过this调用私有方法或者私有属性
D.可以在主函数中使用this来调用其他的方法
E.可以使用this关键字来调用静态属性
正确答案:ABCE
解析:
30.
(多选题)在下列代码的//insert code here 处,加上下列哪行代码运行时会抛出java.lang.ClassCastException?
interface foo{}
class Alpha implements foo{}
class Beta extends Alpha{}
pulic class Delta extends Beta{
public static void main(String[] args){
Beta x = new Beta();
//insert code here
}
}
A.Alpha a = x;
B.foo f = (Delta) x;
C.foo f = (Alpha) x ;
D.Beta b = (Beta)(Alpha)x;
E.Delta d = (Delta)(Alpha)x
正确答案:BE
解析:
31.
(多选题)对于正则表达式 “^[^abc](.)*”的字符串是:
A.ABC
B.string
C.hdfs
D.alabela
E.beta
正确答案:ABC
解析:
32.
(多选题)对于字符串String s = “2016-11-11 00:11:11”,下列能够将其正确转化为日期对象2016年11月11日0时11分11秒的选项是:
A.Date d = new Date(s);
B.Date date = new SimpleDateFormat(“yyyy/mm/dd hh:MM:ss”).parse();
C.Date date = new SimpleDateFormat(“yyyy-mm-dd hh:MM:ss”).parse();
D.Date date = new SimpleDateFormat(“YYYY-mm-dd hh:MM:ss”).parse();
E.Date date = new SimpleDateFormat(“yyyy-mm-dd HH:MM:ss”).parse();
正确答案:CE
解析:
33.
(多选题)下列方法声明正确的是:
A.final public void m()
B.protected static void m()
C.final abstract void m()
D.private abstract void m()
E.public static abstract void m()
正确答案:AB
解析:
34.
(多选题)下列各项中说法正确的是:
A.ArrayList是线程不安全的
B.LinkedList是线程不安全的
C.Vector是线程不安全的
D.对于语句Vector<int> v = new Vector();是正确的声明方法
E.对于语句List list = new ArrayList<String>();是正确的声明方法
正确答案:ABE
解析:
35.
(多选题)下列各项挣够正确编译运行的是:
A.Integer i = new Integer(“3”);
B.Float f = 3.5;
C.Integet i = new Integer(“0x45”);
D.Boolean b = new Boolean(null);
E.Boolean b = new Boolean(“aaa”);
正确答案:ADE
解析:
36.
(多选题) 下列关于Map的说法正确的是:
A.HashMap中允许键为null
B.Hashtable中允许值为null
C.可以通过entrySet方法获取Map中键值对组成的集合
D.一个Map对象是由多个Map.Entry对象组成
E.HashMap是线程安全的
正确答案:ACD
解析:
37.
(多选题)下列关于Java中文件输入输出的说法错误的是:
A.在Java中,可以通过流来实现文件的读写操作
B.要向文件中写入数据,可以用一个输入流对象
C.字符流在汉字的处理方面比字节流更加的高效
D.可以通过Reader reader = new Reader(“C:\\a.txt”);来创建一个流对象
E.字符流底层也是通过字节流来实现的,因此通过字符流来操作的一定可以通过字节流来操作
正确答案:BD
解析:
38.
(多选题)在下列代码的//insert code here 处,下列哪些选型能够使类Two成功编译? class One { void foo() { /*more code here*/ } } public class Two extends class One { //insert code here }
A.int foo() {}
B.void foo() {}
C.public void foo() {}
D.protected void foo() {}
E.private void foo() {}
正确答案:BCD
解析:
39.
(多选题)下列关于抽象类的说法中,正确的是:
A.抽象类可以被实例化
B.抽象类可以有构造方法
C.抽象类可以有非抽象方法
D.子类继承了抽象类必须实现其全部的抽象方法
E.抽象类可以继承非抽象的类
正确答案:BCDE
解析:
40.
(多选题)下列各项说法错误的是:
A.PrintWriter中的print(Object o)和ObjectOutputStream中的writeObject(Object o)的作用是一样的
B.static修饰的变量可以被序列化
C.反序列化的方法是用的parse()
D.需要用Serializable接口来标识一个类可以被序列化
E.版本号默认是private static final int类型的
正确答案:ABCE
解析:
|
|