中兴2013年Java开发笔试题及答案

匿名网友 匿名网友 发布于: 2015-08-30 00:00:00
阅读 162 收藏 0 点赞 0 评论 0

1.请看以下代码,关于这段代码描述正确的是:( )

public class Account{

private String cardId;

public String getCardId() {

return cardId;

}

public void setCardId (String cardId) {

this. cardId = cardId;

}

}
A.Account类符合JavaBean的规则

B.Account类不符合JavaBean的规则,因为没有无参数构造方法

C.Account类不符合JavaBean的规则,因为没有实现序列化接口

D.Account类不符合JavaBean的规则,因为方法名getCardId应改为getcardId

正确答案:C
2.运行下面程序:
public class Foo {

public static void main(String[] args) {

StringBuffer a=new StringBuffer(“A”);

StringBuffer b=new StringBuffer(“B”);

operator(a,b);

System.out.println(a+”,”+b);

}

public static void operator(StringBuffer x,StringBuffer y){

x.append(y);

y=x;

}

}
输出的结果是:()。
A.A,B

B.A,A

C.B,B

D.AB,B

正确答案:D
3.下面的程序可以输出1~100内前10个3的倍数:

for (int i = 1, count = 0; i < 100; i++) {
if (i % 3 == 0) {
System.out.println(i);
(空白处)
}

}
下列选项中,空白处可以填入的代码是()。
A. if (count++ >= 10) {
break;
}
B. if (++count >= 10) {
break;
}
C. if (count++ >= 10) {
continue;
}
D. if (++count >= 10) {
continue;
}
正确答案:B
4.运行下面程序:
String[] strArr = { “aaa”, “b”, “cc” };

Arrays.sort(strArr, new Comparator<String>() {

public int compare(String o1, String o2) {

return o2.compareTo(o1);

}

});

System.out.println(Arrays.toString(strArr));
输出的结果是:()。
A.[aaa, b, cc]

B.[cc, b, aaa]

C.[b, cc, aaa]

D.[aaa, cc, b]

正确答案:B
5. 对数组int[] arr = { 52, 93, 16, 67, 36, 92, 26, 12, 25, 92 }用插入排序法由小到大进行排序,经过3轮排序后,数组arr的值为:()。
A. {12,16,25,52,93,26,67,36,92,92}
B. {12,16,25,67,36,92,26,52,93,92}
C. {16,52,67,93,36,92,26,12,25,92}
D. {16,36,52,67,93,92,26,12,25,92}
正确答案:C
6.下列代码的输出结果是:()。
public class StaticFoo {

int num;

static int x;

public static void main(String[] args) {

StaticFoo foo1 = new StaticFoo ();

foo1.num++;

foo1.x++;

StaticFoo foo2 = new StaticFoo ();

foo2.num++;

foo2.x++;

StaticFoo foo3 = new StaticFoo ();

foo3.num++;

foo3.x++;

StaticFoo.x++;

System.out.print(foo3.num+”,”);

System.out.println(foo3.x);

}
}
A.3,3

B.1,3

C.3,4

D.1,4

正确答案:D
7.下列代码编译和运行的结果是()
public class Foo {

public static void main(String[] args) {

java.util.List<A> list = new java.util.ArrayList<A>();

list.add(new B());

list.add(new C());

for (A a : list) {

a.x();

a.y();

}

}

}

interface A {

void x();

}

class B implements A {

public void x() {}

public void y() {}

}

class C extends B {

public void x() {}

}

A.代码运行没有输出
B.运行时抛出异常
C.代码a.y();行,编译错误
D.代码java.util.List<A> list = new java.util.ArrayList<A>();行,编译错误
正确答案:C
8.请看下列代码:

class ClassA {}

class ClassB extends ClassA {}

class ClassC extends ClassA {}

public class Test{

public static void main(String[] args) {

ClassA p0 = new ClassA();

ClassB p1 = new ClassB();

ClassC p2 = new ClassC();

ClassA p3 = new ClassB();

ClassA p4 = new ClassC();

<插入代码>

}

}
可以在<插入代码>处,填入的代码正确的是()
A.p0 = p1;
B.p1 =p2;
C.p2 = p4;
D.p2 = (ClassC)p1;
正确答案:A
9. 运行下面的语句:
System.out.println(Math.round(3.5) + ” ” + Math.floor(3.5) + ” ”
+ Math.ceil(3.5) + ” ” + Math.round(-3.5) + ” ”
+ Math.floor(-3.5) + ” ” + Math.ceil(-3.5));
输出的结果是:()。
A. 4 3.0 4.0 -3 -3.0 -4.0
B. 4 3.0 4.0 -4 -3.0 -4.0
C. 4 4.0 3.0 -4 -4.0 -3.0
D. 4 3.0 4.0 -3 -4.0 -3.0
正确答案:D
10. 下列赋值语句中,正确的是()。
A. byte b1 = 10, b2 = 20;

byte b=b1+b2;

B. byte b1 = 10, b2 = 20;

byte b=~b1;

C. byte b1 = 10, b2 = 20;

byte b=b1>>1;

D. byte b1 = 10;
byte b=++b1;
正确答案:D
11.类Super及Sub定义如下:
public class Super {
private void f() {
System.out.println(“Super.f()”);
}
public void g() {
f();
}
public void k() {
f();
}

}

public class Sub extends Super {
private void f() {
System.out.println(“Sub.f()”);
}
public void k() {
f();
}

}
运行下列语句:
Super obj = new Sub();
obj.g();

obj.k();
输出的结果是:()。
A. Sub.f()

Sub.f()

B. Sub.f()

Super.f()

C. Super.f()

Sub.f()

D. Super.f()
Super.f()
正确答案:C
12.下列代码的输出结果是()

public static void main(String[] args) {

String test = “a1b2c3”;

String[] tokens = test.split(“\d”);

for (String s : tokens)

System.out.print(s + ” “);

}
A.a b c
B.1 2 3
C.a1b2c3
D.a1 b2 c3
正确答案:A

13.运行下列程序:

String str = “**java***java*****java*”;
String str1 = “java”;
int index = 0;
while ((index = str.indexOf(str1, index)) != -1) {
System.out.print(index+””);
index += str1.length();
}
控制台输出的结果是:()。
A. 1 8 17
B. 2 9 18
C. 5 12 21
D. 6 13 22
正确答案:B

14.运行下面程序:
public class Foo{

public static void main(String[] args) {

try {

test();

System.out.println(“condition 1”);

} catch (ArrayIndexOutOfBoundsException e) {

System.out.println(“condition 2”);

} catch (Exception e) {

System.out.println(“condition 3”);

} finally {

System.out.println(“finally”);

}

}

public static void test() {

String str = “cc”;

str.compareTo(“abc”);

}

}
输出的结果是:()。
A.condition 1

finally

B.condition 2

finally

C.condition 1

condition 3

finally

D.condition 1

condition 2

finally

正确答案:A
15.下列代码的作用说法不正确的是:()。

class Card implements java.io.Serializable{}
A.开启序列化功能,使得Card类的对象可以存储到文件中
B.开启序列化功能,使得Card类的对象可以在网络上传输
C.使得Card类的子类的对象可以被序列化
D.导致Card的子类的对象不可以被反序列化

正确答案:D
16. try{}里有一个return语句,那么紧跟在这个try后的finally{}里的代码执行的情况是:()。
A.会执行,在return前执行

B.会执行,在return后执行

C.不会执行

D.会抛出异常

正确答案:A
17. 关于Java 异常,下列说法错误的是()。
A.异常是定义了程序中遇到的非致命的错误,而不是编译时的语法错误
B.try……catch语句中对try 内语句监测,如果发生异常,则把异常信息放入Exception类的对象中
C.throws 用来表示一个方法有可能抛出异常给上一层,则在调用该方法时必须捕捉异常,否则无法编译通过
D.Main方法不可以使用 throws 抛出异常
正确答案:D

18. 下列关于IDE开发环境Eclipse,说法错误的是:()。
A. Eclipse可以通过插件(plugin)的方式扩展其功能。
B. Eclipse联盟是由IBM公司捐资组建的。
C. Eclipse使用了SWT图形界面技术。
D. Eclipse的运行不需要有JRE的支持。
正确答案:D

19. 运行下列代码:

int[] oneArr = { 2, 11, 26, 27, 37, 44, 48, 60 };
int[] twoArr = { 19, 35, 49, 55, 58, 75, 83, 84, 91, 93 };
int[] threeArr = new int[oneArr.length + twoArr.length];
int p = 0, q = 0;
while (p < oneArr.length && q < twoArr.length) {
threeArr[p + q] =
oneArr[p] < twoArr[q] ? oneArr[p++] : twoArr[q++];

}

if (p < oneArr.length) {

System.arraycopy(oneArr, p, threeArr, p + q, oneArr.length – p);

}

else if (q < twoArr.length) {

System.arraycopy(twoArr, q, threeArr, p + q, twoArr.length – q);

}
System.out.println(Arrays.toString(threeArr));
输出的结果是:()。
A. [2,11,26,27,37,44,48,60,19,35,49,55,58,75,83,84,91,93];
B. [2,11,19,26,27,35,37,44,48,49,55,58,60,75,83,84,91,93];
C. [19,35,49,55,58,75,83,84,91,93,2,11,26,27,37,44,48,60];
D. [2,19,11,35,26,49,27,55,37,58,44,75,48,83,60,84,91,93];
正确答案:B

20.运行下面的程序:
int a = 100;
int b = 200;
a = a + b;
b = a – b;
a = a – b;

System.out.println(“a=” + a + “, b=” + b);
输出的结果是:()。
A. a=100, b=300
B. a=100, b=200
C. a=200, b=100
D. a=300, b=200
正确答案:C

21. 关于Java线程说法错误的是()。
A.创建线程的有2种方式,方式1是继承Thread类,方式2是实现 Runnable 接口
B.解决线程安全使用问题 synchronized关键字,使得同一时间只有一个线程执行该关键字限定的代码段
C.线程间通信所使用的方法有,wait,notify,notifyAll,它们都是 Thread 的方法
D.Java线程包括5个状态,线程的创建,可运行,运行,阻塞和消亡
正确答案:C

22. 如下方法声明中,错误的是()。
A.public void say(){ System.out.print(“Hi”); }
B.public void say() { System.out.print(“Hi”); return; }
C.public int say(){ System.out.print(“Hi”); return; }
D.public int say(){ System.out.print(“Hi”); return 0; }
正确答案:C

23.下列代码的输出结果是()。
boolean b=true?false:true==true?false:true;

System.out.println(b);
A.true

B.false

C.null

D.空字符串

正确答案:B
24.执行下列语句:int num=~3+2; 变量num的值为()。
A.-3
B.3
C.-2
D.-1
正确答案:C
25. 关于String 和 StringBuffer 下面说法正确的是()。
A.String操作字符串不改变原有字符串的内容
B.StringBuffer连接字符串速度没有String 快
C.String 可以使用append方法连接字符串
D.StringBuffer 在java.util包中
正确答案:A

26.运行下面的语句:
String s=””;
if(s==s+0){
System.out.println(“Hello World”);
}
编译,运行的结果是:()。
A.Hello World
B.无输出
C.编译错误
D.抛出运行时异常

正确答案:B

27. 在Java语言中,下列说法正确的是:()。
A. Java访问修饰符按照访问范围由低到高的排列顺序是public,default,protected,private
B. private可以用于外部类的声明
C. 一个Java源文件中声明为public的外部类只能有一个
D. protected声明的方法不可以被子类重写

正确答案:C
28. IO 包中,唯一代表磁盘本身的对象类是()。
A.FileInputStream
B.File
C.InputStream
D.BufferedReader
正确答案:B

29. 下面关于final说法错误的是:()
A. final修饰类时,该类不能被继承。
B. final修饰方法时,该方法不能被重写。
C. 当引用到使用static final 修饰的常量时,将采用编译期绑定的方式。
D. 当使用final和abstract共同修饰一个类时,final应至于abstract之前。
正确答案:D

30. 下列选项中的类,能正确实现java.lang.Runnable接口和java.lang.Clonable接口的是()。
A.public class Session implements Runnable, Clonable {

public void run();

public Object clone();

}
B.public class Session implements Runnable, implements Clonable {

public void run() { / do something */ }

public Object clone() { / make a copy */ }

}
C.public class Session implements Runnable, Clonable {

public void run() { / do something */ }

public Object clone() { /* make a copy */ }

}
D.public class Session extends Runnable, Clonable {

public void run() ;

public Object clone();

}

正确答案:C
31. 下列属于不合法Java标识符的是()。
A._avaj
B.5save
C.Avaj
D.$80
正确答案:B

32.分析如下代码,输出结果为()。

public static void main(String[] args) {

int i = 0;

boolean re = false;

re = ((++i) + i == 2) ? true : false;

System.out.println(“i=” + i + “,re=”+re);

}

A.i=1,re=true
B.i=0,re=true
C.i=1,re=false
D.i=0,re=false
正确答案:A
33. 下面关于interface,叙述错误的是:()
A.一个interface可以继承多个interface
B.接口中的方法可以由private修饰
C.interface中可以定义static final 常量
D.interface中可以无任何方法定义

正确答案:B

34.请看下列代码:
public static void main(String[] args) {
<插入代码>
System.out.println(s);

}

如果程序输出的结果是4247,那么在<插入代码>处应该填入代码是()。
A.String s = “123456789”;
s = (s-“123″).replace(1,3,”24”) – “89”;

B.StringBuffer s = new StringBuffer(“123456789”);
s.delete(0,3).replace( 1,3, “24”).delete(4,6);

C.StringBuffer s = new StringBuffer(“123456789”);
s.substring(3,6).delete( 1 ,3).insert( 1, “24”);

D.StringBuilder s = new StringBuilder(“123456789”);
s.substring(3,6).delete( 1 ,2).insert( 1, “24”);
正确答案:B

35. 下面关于数组的声明语句中,有编译错误的是:()。
A. int[] arr = new int[]{1,2,3};
B. int[] arr = null;arr = {1,2,3,4,5};
C. int[][] arr = new int[][]{{1,2,3},{4,5},{6}}
D. int[][] arr = new int[2][];
正确答案:B

36. 下列赋值语句中,会有编译错误的是()。
A. int a = 8888888888;
B. char b = 1000+300;
C. byte c = 100+30;
D. int d = ‘a’+’b’+’c’;

正确答案:AC

37. 下面的方法属于StringBuffer的是:()。
A. size
B. insert
C. delete
D. length
正确答案:BCD

38.查看如下代码:
class A {

protected int method (int a, int b) {

return 0;

}

下列选项中,可以在 A 的子类中使用的是()。
A. public int method (int a, int b) { return 0; }
B. private int method(int a, int b) { return 0; }
C. private int method(int a, long b) { return 0; }
D. public short method(int a, int b) { return 0; }
正确答案:AC

39.查看如下代码:

public class Foo {

public void method(String str,int age){}

}

下列选项中,和 Foo 类中 method 方法重载的方法是()。
A.public int method(String str,int age){}
B. public void method(int year,String s){}
C. public int method(int year,String s){}
D. public int method(String str){}
正确答案:BCD
40. 下列异常类是RuntimeException的子类的是:()。
A. ArrayIndexOutOfBoundsException
B. NullPointerException
C. NumberFormatException
D. ClassNotFoundException
正确答案:ABC
41.IO类实现了打开并读取一个文本文件,每次读取一行内容。 将每行作为一个String字符串放入String数组里面返回。阅读代码并完成以下5题:

public class IO {

public String[] read(InputStream in) throws IOException {

String[] arr = new String[1];

String[] temp = null;

空白处1

String line =””;

while (( 空白处2 ) != null) {

arr[arr.length – 1] = line;

空白处3

for (int i = 0; i < arr.length; i++) {

temp[i] = arr[i];

}

空白处4

for (int i = 0; i < arr.length; i++) {

arr[i] = temp[i];

}

}

arr = new String[temp.length – 1];

 

for (int i = 0; i < arr.length; i++) {

arr[i] = temp[i];

}

br.close();

return arr;

}

public static void main(String[] args) throws IOException {

String[] arr = new IO().read(new FileInputStream(“data.txt”));

System.out.println(arr);

空白处5

System.out.println(str);

}

}

}
(1). 下列选项中,能填入空白处1的代码是( )
A.BufferedReader br = new BufferedReader(new InputStreamReader(in));
B.BufferedReader br = new BufferedReader(new FileReader(in));
C.FileReader br=new FileReader(in);
D.InputStreamReader br=new InputStreamReader(in);
正确答案:A
(2). 下列选项中,能填入空白处2的代码是( )
A.line = br.read();
B.line = br.readLine();
C.line = br.readString();
D.line = br.readUTF();
正确答案:B

(3). 下列选项中,能填入空白3的代码是( )
A.temp = new String[arr.length + 1];
B.temp = new String[arr.length];
C.temp = new String[arr.length-1];
D.temp = new String[arr.length/2];
正确答案:A
(4). 下列选项中,能填入空白处4的代码是( )
A.arr = new String[temp.length/2];
B.arr = new String[temp.length-1];
C.arr = new String[temp.length+1];
D.arr = new String[temp.length];
正确答案:D
(5). 下列选项中,能填入空白处5的代码是( )
A.for (arr: String str) {
B.for (arr[]:String str){
C.for (String str : arr) {
D.for (String str : arr[]) {
正确答案:C
42.阅读理解
public class A {

public A() {

System.out.print(“A “);

}

public A(String s) {

System.out.print(s);

}

public void fun() {

System.out.println(“A.fun()”);

}

}

public class B extends A {

public B() {

System.out.print(“B “);

}

public B(String s) {

super(s);

}

public void fun() {

System.out.println(“B.fun()”);

}

public void sun(){

System.out.println(“B.sun()”);

}

public static void Main() {

A a = new B();

a.fun();

}

}
(1).下列关于上述代码中构造方法的描述,错误的是()。
A.实例化对象 a 时,将默认调用父类的无参构造方法
B.类 B中使用 super 关键字,是为了调用父类的含有一个参数的构造方法
C.实例化对象 a 时,父类A和子类B的构造方法都会被调用到
D.实例化父类对象时,调用父类 A 的构造方法;实例化子类对象时,则只调用子类B的构造方法
正确答案:D

(2).该代码运行后,输出为:()。
A.A B A.fun()
B.A B B.fun()
C.B A A.fun()
D.B A B.fun()
正确答案:B

(3).如果 main 方法中如此调用:
public static void main(String[] args)

{

A a = new B(“Hello,”);

a.fun();

}
其他代码不变,该代码运行后,输出为:()。
A.A A.fun()
B.B A.fun()
C.Hello,A.fun()
D.Hello,B.fun()
正确答案:D

(4).如果 main 方法中如此调用:
public static void main(String[] args)
{

A a = new A();

a.sun();

}
其它代码不变,下列说法正确的是:()。
A.运行输出结果为:A B.sun()
B.运行输出结果为:A B B.sun()
C.运行输出结果为:B A B.sun()
D.编译错误
正确答案:D

(5).下列关于上述代码的描述,正确的是()。
A.如果将A类定义成public abstract class A,那么方法fun必须定义成抽象方法
B.如果将A类定义成public abstract class A,那么A类中必须有一个抽象方法
C.如果将A类中的方法fun定义成public abstract void fun(),那么A类必须是抽象类
D.如果将A类定义成public abstract class A,那么A类应然可以实例化对象

正确答案:C

评论列表
文章目录