文档库

最新最全的文档下载
当前位置:文档库 > java月考

java月考

java月考

中软国际JAVASE月考题-笔试

姓名____ ____ 学校____________ 专业____________________ 联系电话_____________________

电子邮件__________________________________________

注意事项:笔试时间120分钟,笔试题满分80分,机试题20分。

请使用钢笔或者圆珠笔填写试题答案。

请在规定处填写您的答案,选择题在试卷前部答题卡中填写答案,程序题答案请写在答题纸上。

请不要在试卷上涂写与试题无关的的标记。

选择题部分答题卡:

java月考

(一)单项选择题(每题2分,共30分)

1)请问"abcd" instanceof Object返回的值是?

A.abcd

B.null

C.true

D.String

2)一个Java程序运行从上到下的环境次序是( )

A.操作系统、Java程序、JRE/JVM、硬件

B.JRE/JVM、Java程序、硬件、操作系统

C.Java程序、JRE/JVM、操作系统、硬件

D. Java程序、操作系统、JRE/JVM、硬件

3)表达式(short)10/10.2*2运算后结果是什么类型?

A.short

B. int

C. double

D. float

4)给出以下代码,假设arr数组中只包含正整数值,请问下列代码段实现了什么功能?

public int guessWhat(int arr[]) {

int x = 0;

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

x = x < arr[i] ? arr[i] : x;

}

return x;

}

A获取数组的最大索引值 B 判断数组中是否存在重复元素

C 获取数组中元素个数

D 获取数组中的最大元素

5)下面选项中哪个关键字可以用来修饰接口中的变量、方法?

A static

B private

C synchronized

D protected

6)给出以下代码,请问以下哪个描述是正确的?Public XXXX extends something1,something2

A 如果XXXX是一个接口,something1和something2取消掉,则代码段合法

B 如果XXXX是一个类,something1和something2均是接口,则代码段合法

C 如果XXXX、something1和something2均是接口,则代码段合法

D 因为Java语言不支持多继承机制,所以代码段不合法

7)设有程序如下

public class Delta

{

java月考

static boolean foo(char c)

{

System.out.print(c);

return true;

}

public static void main(String[] argv)

{

int i = 0;

for (foo('A'); foo('B') && (i < 2); foo('C'))

{

i++;

foo('D');

}

}

}

则程序运行结果是?

A. ABDCBDCB

B.ABCDABCD

C.程序编译时出错

D. 程序运行时产生运行时异常

8)指出下列程序运行的结果

public class Example{

String str=new String("good");

char[]ch={'a','b','c'};

public static void main(String args[]){

Example ex=new Example();

ex.change(ex.str,ex.ch);

System.out.print(ex.str+" and ");

for(int i=0;i

System.out.print(ex.ch[i]);

}

}

public void change(String str,char ch[]){

str="test ok";

ch[0]='g';

}

}

A.good and abc B. good and gbc

C. test ok and abc

D.test ok and gbc

9)关于类继承的说法,正确的是()

A. Java 类允许多继承

B. Java接口允许多继承

C. 接口和类都允许多继承

D. 接口和类都不允许多继承

10)以下代码的执行结果是:

class Example {

static int x = 10;

static {

java月考

x += 5;

}

public static void main(String args[]) {

System.out.println("x=" + x);

}

static {

x /= 3;

}

}

A.不能通过编译,因为缺少方法名和返回类型

B.不能通过编译,因为只能有一个静态初始化器

C.编译通过,执行结果为:x=5

D.编译通过,执行结果为:x=3

11)ArrayList实现了List接口,下列哪个方法是正确的

A、ArrayList myList=new Object()

B、List myList=new ArrayList()

C、ArrayList myList=new List()

D、List myList=new List()

12)以下选项中循环结构合法的是?( )

A、while (int i<7)

{ i++;

System.out.println(“i is “+i);

}

B、int j=3;

while(j)

{

System.out.println(“ j is “+j);

}

C、int j=0;

for(int k=0; j + k !=10; j++,k++)

{

System.out.println(“ j is “+ j + “k is”+ k);

}

D、int j=0;

do{

System.out.println( “j is “+j++);

if (j = = 3) {continue loop;}

}while (j<10);

13)有以下方法的定义,请选择该方法的返回类型( )

ReturnType method(byte x, double y) {

return (short)x/y*2;

}

A、 byte

B、int

C、short

D、double

14)编译并运行以下程序,以下描述哪个选项是正确的( )

1. class A{

2. protected boolean equals(){

3. return super.equals();

4.}

java月考

5. }

A、编译通过运行无异常

B、编译通过但运行时出错

C、行2出错,不能成功编译

D、不能成功编译,行3出错

15)下列代码的执行结果是?

public class Example{

public static void main(String args[]) {

String s;

System.out.println("s=" + s);

}

}

A、代码得到编译,并输出“s=”

B、代码得到编译,并输出“s=null”

C、由于String s没有初始化,代码不能编译通过

D、代码得到编译,但捕获到NullPointException异常

(二)多项选择题(每题3分,共15分)

1)不能用来修饰interface的有

A private

B public

C protected

D static

2)以下代码错误在何处?

public class Example {

public static void main(String[] args) {

for(int i=0;j=0,i<10;++i,j+=i){

j+=i*i+j*j;

}

}

}

A在语句块中应超过一条以上语句

B在i=0和j=0之间应使用逗号

C使用了两个循环变量

D在j=0和i<10之间应使用分号

3)现有一下代码:protected void method(int x){...},以下哪些有关覆盖该方法的描述是正确的?

A 覆盖的方法必须采用int型作为唯一个一个参数

B 覆盖的方法必须返回类型为void

C 覆盖的方法可以被private修饰符修饰

D 覆盖的方法可以返回任何类型的值

4)给出下面的代码段:

public class Base{

int w, x, y ,z;

public Base(int a,int b)

{

x=a; y=b;

}

public Base(int a, int b, int c, int d)

java月考

// assignment x=a, y=b

w=d;

z=c;

}

}

在代码说明// assignment x=a, y=b处写入如下哪几个代码是正确的?()

A、 Base(a,b);

B、x=a, y=b;

C、x=a; y=b;

D、this(a,b);

5)以下哪些关于构造器的描述是正确的?()

A、子类可以继承父类的构造器

B、如果没有编写构造器,编译器会自动为类提供一个无参的默认构造器

C、构造器都没有返回值

D、构造器可以抛出异常

(三)程序结果题(每题2分,共10分)

1)有如下代码:

public static int fun() {

int result = 5;

try {

result = result / 0;

return result;

} catch (Exception e) {

System.out.println("Exception");

result = -1;

return result;

} finally {

result = 10;

System.out.println("i am in finally");

}

}

public static void main(String[] args) {

int x=fun();

System.out.println(x);

}

请写出打印结果:

2)public class Test{

public static void main(String s[]){

String str=”123”;

String str_=new String(“123”);

String _str=”123”;

System.out.println(str==_str);

System.out.println(str==str_);

}

java月考

3)

下列给出代码的运行结果是?

public class Example {

public static void main(String args[]) {

int src = 17;

int result = 0;

for (int i = 1; (src -= i) >= 0; result++, i += 2)

;

System.out.println(result);

}

}

4)

下列代码的执行结果是什么?

public class Example {

public static void main(String[] args) {

int x = 0;

boolean b1, b2, b3, b4;

b1 = b2 = b3 = b4 = true;

x = (b1 | b2 & b3 ^ b4) ? x++ : -x;

System.out.println(x);

}

}

5)

下列代码执行后的输出是?

public class Example {

public static int num = 0;

String name;

static {

System.out.println(num + ":code A");

}

{

System.out.println(num + ":code B");

num++;

}

public Example(String name) {

System.out.println(num + ":构造器:" + name);

http://www.wendangku.net/doc/0a9a5ddb6edb6f1afe001f74.html = name;

java月考

num++;

}

public static void main(String[] args) {

Example people = new Example("Tom");

Example people2 = new Example("Jim");

}

}

(四)判断说明题,判断命题是否正确,并说明原因(每题2分,共16分)

1)在一个原文件中,如果存在一个顶层的public类定义,则该源文件名必须与顶层的public类名一致,如果

源文件中没有一个顶层的public类,则该源文件名可以随意命名,不需要与原文件中定义的任何类名一致,只要符合Java语言标示符规范即可()

2)Java中的方法参数,基本数据类型和字符串是值传递,其他对象是引用传递()

3)如果p是父类Parent的引用,而c是子类Child的对象,则语句c=p是正确的。()

4)Java中接口不能被private或Protected修饰符修饰()

5)Java中Object类提供的equals方法则用于判定两个对象是否为同一对象。()

6)try…catch…finally结构中,必须有try语句块,catch语句块和finally语句块不是必须的,但至少要两者

取其一()

7)尽管现行的Java语言版本不允许类的多继承,但是我们仍然可以在extends关键字后面放置一个列表()

8)List允许重复元素,而Set不允许()

(五)填空题(每题1分,共5分)

1)构造一个____________实例,将InputStream对象作为构造器的参数传入,可以从InputStream对象中如

何创建一个Reader对象

2)Java中,用_______修饰的类则表示该类不能被继承。

3)在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch中的参数类型有

父类子类关系,此时应该将_____放在后面,_____放在前面。。

4)希望类的实例对象能够被序列化,该类需要实现___________ 接口

5)对象的__________________方法在对象被垃圾回收器回收之前获得调用

(六)问答题

1)String、StringBuffer、StringBuilder有什么区别?(4分)

java月考