admin 管理员组

文章数量: 887040


2024年2月18日发(作者:initrd)

A卷

姓名:_______________

一.选择题:(每题3分,共60分)

【1】1.下面中哪两个可以在A的子类中使用:( )

class A {

protected int method1 (int a, int b) {

return 0;

}

}

A. public int method 1 (int a, int b) { return 0; }

B. private int method1 (int a, int b) { return 0; }

C. public int method1 (int a, long b) { return 0; }

D. public short method1 (int a, int b) { return 0; }

解答:AC

主要考查子类重写父类的方法的原则

B,子类重写父类的方法,访问权限不能降低

C,属于重载

D,子类重写父类的方法 返回值类型要相同或是父类方法返回值类型的子类

【7】2.下面关于变量及其范围的陈述哪些是不正确的( ):

A.实例变量是类的成员变量

B.实例变量用关键字static声明

C.在方法中定义的局部变量在该方法被执行时创建

D.局部变量在使用前必须被初始化

解答:BC

由static修饰的变量称为类变量或是静态变量

方法加载的时候创建局部变量

【9】3.执行完以下代码int [ ] x = new int[25];后,以下哪项说明是正确的( ):

A、 x[24]为0

B、 x[24]未定义

C、 x[25]为0

D、 x[0]为空

解答:A

x属于引用类型,该引用类型的每一个成员是int类型,默认值为:0

【11】4.关于以下application的说明,正确的是( ):

1. class StaticStuff

2. {

3. static int x=10;

4. static { x+=5;}

5. public static void main(String args[ ])

6. {

7. n(“x=” + x);

8. }

9. static { x/=3;}

10. }

A、 4行与9行不能通过编译,因为缺少方法名和返回类型

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

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

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

解答:C

自由块是类加载的时候就会被执行到的,自由块的执行顺序是按照在类中出现的先后顺序执行。

【13】5.下列说法正确的有()

A. class中的constructor不可省略

B. constructor必须与class同名,但方法不能与class同名

C. constructor在一个对象被new时执行

D.一个class只能定义一个constructor

解答:C

构造方法的作用是在实例化对象的时候给数据成员进行初始化

A.类中如果没有显示的给出构造方法,系统会提供一个无参构造方法

B.构造方法与类同名,类中可以有和类名相同的方法

D.构造方法可以重载

【14】6.下列哪种说法是正确的()

A.实例方法可直接调用超类的实例方法

B.实例方法可直接调用超类的类方法

C.实例方法可直接调用其他类的实例方法

D.实例方法可直接调用本类的类方法

解答:D

A. 实例方法不可直接调用超类的私有实例方法

B. 实例方法不可直接调用超类的私有的类方法

C.要看访问权限

【15】7.下列哪一种叙述是正确的( )

A. abstract修饰符可修饰字段、方法和类

B. 抽象方法的body部分必须用一对大括号{ }包住

C. 声明抽象方法,大括号可有可无

D. 声明抽象方法不可写出大括号

解答:D

abstract可以修饰方法和类,不能修饰属性。抽象方法没有方法体,即没有大括号{}

【17】8.链表具有的特点是:(选择3项)

A、不必事先估计存储空间

B、可随机访问任一元素

C、插入删除不需要移动元素

D、所需空间与线性表长度成正比

解答:ACD

A.采用动态存储分配,不会造成内存浪费和溢出。

B. 不能随机访问,查找时要从头指针开始遍历

C. 插入、删除时,只要找到对应前驱结点,修改指针即可,无需移动元素

D. 需要用额外空间存储线性表的关系,存储密度小

【18】语言中,String类的IndexOf()方法返回的类型是?

6 B、Int32 C、int D、long

解答:C

indexOf方法的声明为:public int indexOf(int ch)

在此对象表示的字符序列中第一次出现该字符的索引;如果未出现该字符,则返回

-1。

【19】10.以下关于面向对象概念的描述中,不正确的一项是()。(选择1项)

A.在现实生活中,对象是指客观世界的实体

B.程序中的对象就是现实生活中的对象

C.在程序中,对象是通过一种抽象数据类型来描述的,这种抽象数据类型称为类(class)

D.在程序中,对象是一组变量和相关方法的集合

解答:B

【20】11.执行下列代码后,哪个结论是正确的 String[] s=new String[10];

A. s[9] 为 null;

B. s[10] 为 "";

C. s[0] 为 未定义

D. 为10

解答:AD

s是引用类型,s中的每一个成员都是引用类型,即String类型,String类型默认的值为null

s数组的长度为10。

【21】12.属性的可见性有。(选择3项)

A.公有的

B.私有的

C.私有保护的

D.保护的

解答:ABD

属性的可见性有四种:公有的(public) 保护的(protected) 默认的 私有的(private)

【22】13.在字符串前面加上_____符号,则字符串中的转义字符将不被处理。(选择1项)

A @

B

C #

D %

解答:B

【24】14.对记录序列{314,298,508,123,486,145}按从小到大的顺序进行插入排序,经过两趟排序后的结果为:(选择1项)

A {314,298,508,123,145,486}

B {298,314,508,123,486,145}

C {298,123,314,508,486,145}

D {123、298,314,508,486,145}

解答:B

插入排序算法:

public static void injectionSort(int[] number) {

// 第一个元素作为一部分,对后面的部分进行循环

for (int j = 1; j < ; j++) {

int tmp = number[j];

int i = j - 1;

while (tmp < number[i]) {

number[i + 1] = number[i];

i--;

if (i == -1)

break;

}

number[i + 1] = tmp;

}

}

【25】15.栈是一种。(选择1项)

A 存取受限的线性结构

B 存取不受限的线性结构

C 存取受限的非线性结构

D 存取不受限的非线性结构

解答:A

栈(stack)在计算机科学中是限定仅在表尾进行插入或删除操作的线性表。

【26】16.下列哪些语句关于内存回收的说明是正确的。(选择1项)

A.程序员必须创建一个线程来释放内存

B.内存回收程序负责释放无用内存

C.内存回收程序允许程序员直接释放内存

D.内存回收程序可以在指定的时间释放内存对象

解答:B

垃圾收集器在一个Java程序中的执行是自动的,不能强制执行,即使程序员能明确地判断出有一块内存已经无用了,是应该回收的,程序员也不能强制垃圾收集器回收该内存块。程序员唯一能做的就是通过调用System. gc 方法来"建议"执行垃圾收集器,但其是否可以执行,什么时候执行却都是不可知的。

【27】 method must be defined by a class implementing the

le interface?

A. void run()

B. public void run()

C. public void start()

D. void run(int priority)

E. public void run(int priority)

F. public void start(int priority)

解答:B

实现Runnable接口,接口中有一个抽象方法run,实现类中实现该方法。

【28】18. Given:

public static void main(String[] args) {

Object obj = new Object() {

public int hashCode() {

return 42;

}

};

n(de());

}

What is the result?

A. 42

B. An exception is thrown at runtime.

C. Compilation fails because of an error on line 12.

D. Compilation fails because of an error on line 16.

E. Compilation fails because of an error on line 17.

解答:A

匿名内部类覆盖hashCode方法。

【29】19. Which two are reserved words in the Java programming language? (Choose

two)

A. run

B. import

C. default

D. implements

解答:BD

import导入包的保留字,implements实现接口的保留字。

【30】20. Which two statements are true regarding the return values of property

written hashCodeand equals methods from two instances of the same class? (Choose

two)

A. If the hashCode values are different, the objects might be equal.

B. If the hashCode values are the same, the object must be equal.

C. If the hashCode values are the same, the objects might be equal.

D. If the hashCode values are different, the objects must be unequal.

解答:CD

先通过 hashcode来判断某个对象是否存放某个桶里,但这个桶里可能有很多对象,那么我们就需要再通过 equals 来在这个桶里找到我们要的对象。

二.简答题:(每题5分,共20分)

【4】1. 什么是Web容器?

解答:容器就是一种服务程序,在服务器一个端口就有一个提供相应服务的程序,而这个程序就是处理从客户端发出的请求,如JAVA中的Tomcat容器,ASP的IIS或PWS都是这样的容器。

【10】2. 请说明SQLServer中delete from tablea & truncate table tablea的区别

解答:两者都可以用来删除表中所有的记录。区别在于:truncate是DDL操作,它移动HWK,使HWK值为0,不需要 rollback segment .而Delete是DML操作需要rollback segment

且花费较长时间.

【12】3. 类有哪三个基本特性?各特性的优点?

解答:类具有封装性、继承性和多态性。

封装性:类的封装性为类的成员提供公有、缺省、保护和私有等多级访问权限,目的是隐藏类中的私有变量和类中方法的实现细节。

继承性:类的继承性提供从已存在的类创建新类的机制,继承(inheritance)使一个新类自动拥有被继承类(父类)的全部可继承的成员。

多态性:类的多态性提供类中方法执行的多样性,多态性有两种表现形式:重载和覆盖。

【16】4、Collection 和 Collections的区别?

解答:Collection是下的接口,它是各种集合的父接口,继承于它的接口主要有Set 和List;Collections是个下的类,是针对集合的帮助类,提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。

三.编程题:(每题10分,共20分)

【5】1.判断一个int数组中的元素是否存在重复,方法声明如下:

boolean isRepeat(int[] m){ }

解答:

public boolean isRepeat2(int[] m){

Set h =new HashSet();

for (int i = 0; i < ; i++) {

(new Integer(m[i]));

}

if (()== ){

return false;

}else {

return true;

}

}

【9】2. 采用了冒泡进行排序编写一个字符界面的Java Application 程序,接受用户输入的10个整数,并输出这10个整数的最大值和最小值。

解答:采用了冒泡进行排序

import r;

import r;

public class MaxAndMin {

public static void main(String[] args) {

Scanner scanner = new Scanner();

int[] arr = new int[10];

for (int i = 0; i < ; i++) {

int next = t();

arr[i] = next;

}

int[] after=(arr);

n("最小值:"+after[0]+",最大值:"+after[-1]);

}

}


本文标签: 方法 内存 程序 对象 执行