《JAVA程序设计》期末考试试题(java程序设计题库及答案)

createh52个月前 (02-01)技术教程15

《JAVA程序设计》期末考试试题

一、选择题(4分/题,共10个,共40分)

在Java语言中,下列哪个变量名是不正确的 ( )

(A) large (B) 2much

(C) $money (D) _postCode

关于抽象类下列哪个描述正确? ( )

抽象类不能包含抽象方法。

接口和抽象类是一回事。

抽象类不能实例化,即不能生成对象。

抽象类可以实例化对象。

3. 以下对封装的描述正确的是( )

(A) 只能对一个类中的方法进行封装,不能对属性性进行封装
(B) 如果子类继承了父类,对于父类中进行封装的方法,子类仍然可以直接调用
(C) 封装的意义不大,因此在编码时尽量不要使用
(D) 封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性

4. 下面关于Applet的说法正确的是: ( )

Applet也需要main方法

Applet必须继承java.awt.Applet

Applet能访问本地文件

Applet程序不需要编译

5.以下对继承的描述错误的是( )

(A) Java中子类只能继承单个父类。
(B) Java中子接口只能继承单个接口。
(C) Java中子类可以实现多个接口。
(D) 当实例化子类时会先实例化父类。

6.在使用super 和this关键字时,以下描述正确的是( )
(A) 在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过
(B) super()和this()不一定要放在构造方法内第一行
(C) this()和super()可以同时出现在一个构造函数中
(D) this()和super()可以在static环境中使用,包括static方法和static语句块

7. 如果有一个对象myListener, 为了使myListener对象能够接受并处理来自于smallButton按钮对象的点击动作事件,myListener对象应该实现哪个接口? ( )

(A)ActionListener

(B)ItemListener

(C)MouseListener

(D)WindowListener

8. 下列情况中,不会使线程返回所持有的对象锁的是( )

(A) 当synchronized()语句块执行完毕

(B) 当调用了线程的suspend()方法
(C) 当在synchronized()语句块中出现异常(exception)

(D) 当持有锁的线程调用该对象的wait()方法

9.下列代码执行结果是什么? ( )

String s1 = "ccc";

s1.concat("fff");

System.out.println(s1);

The string "ccc".

The string "cccfff".

The string "fff".

The string "fffccc"

10. 当变量x是哪些值的时候输出包括"Message 2",选出最完整的答案? ( )

switch(x)

{ case 1 :

System.out.println("Message 1");

case 2 :

case 3 :

System.out.println("Message 2");

case 4 :

System.out.println("End");

}

(A) 3 (B) 1 或 2 或 3 或 4

(C) 1 或 2 或 3 (D) 4

填空题(5分/空,共2个,共10分)

1.请简述String和StringBuffer的联系和区别。

2.请简述抽象类和接口的区别。

三、读程题 ( 5分/题,共6个,共30分)

1. 请写出以下程序的输出结果。

public class Demo{

public static void main(String[] args) {

Integer a = new Integer(1);

Integer b = new Integer(2);

if(a==b)

System.out.println(“true”);

else

System.out.println(“false”);

}

}

2. 下面的代码执行结果是什么?

public class TestThis{

private int i=0;

TestThis increment(){

i++;

return this;

}

void print(){

System.out.println(i);

}

public static void main(String[] args){

TestThis x = new TestThis();

x.increment().increment().increment().print();

}

}

3.下列程序输出什么?

class J {

static void swap(String s0, String s1) {

String s = s0;

s0 = s1;

s1 = s;

}

public static void main(String args[]) {

String[] s = { "1", "2" };

swap(s[0], s[1]);

System.out.println(s[0] + s[1]);

}

}

4. 读程序,写出正确的运行结果。

public class test {

static int m = 9;

public static void main(String[] args) {

test fd1 = new test();

fd1.m++;

test fd2 = new test();

System.out.println(fd1.m + “,” + fd2.m);

}

}

5. 阅读下列代码,写出运行结果。

public class Demo {

public static void main(String[] args) {

int i = 12;

System.out.println(i += i -= i *= i);

}

}

6. 阅读以下程序,写出运行结果。
class Q1{
public static void main(String args[ ]){
double d=1.23;
Dec dec=new Dec( );
dec.decrement(d);
System.out.println(d);
}
classs Dec{
public void decrement(double decMe){
decMe = decMe - 0.1;
}
}

四. 阅读程序,回答问题。(20分)

如果有这样一个Java源文件如下,阅读程序,回答下面几个问题:

public class Shelf{

public static void main(String[] arguments) {

System.out.println("Shelf!");

Book b = new Book();

b.get();

}

}

class Book {

public void get() {

System.out.println(" book!");

}

}

class Student {

public void read() {

System.out.println ("read a book!");

}

}

(1) 请写出这个文件的完整名称(3分)

(2) 请写出在命令行上如何编译这个文件(3分)

(3) 请写出这个文件编译后产生几个类文件(2分),它们的完整名称分别是什么?(6分)

(4) 请写出在命令行上如何运行这个程序?(2分)

(5) 这个程序的运行结果是什么?(4分)

相关文章

C/C++|头文件、源文件分开写的源起及作用

1 C/C++ 编译模式通常,在一个 C++ 程序中,只包含两类文件—— .cpp 文件和 .h 文件。其中,.cpp 文件被称作 C++ 源文件,里面放的都是 C++ 的源代码;而 .h 文件则被称...

为什么编译原理被称为龙书?(龙书 编译原理)

碎碎念为什么这本书叫做 龙书(Dragon book)?这本书很有意思,它的书名是 《Compilers: Principles, Techniques, and Tools》,也就是编译器的原则、技...

什么是原文件?(什么是原文件目录名称)

在开发软件的过程中,我们需要将编写好的代码(Code)保存到一个文件中,这样代码才不会丢失,才能够被编译器找到,才能最终变成可执行文件。这种用来保存代码的文件就叫做源文件(Source File)。我...

Java编译器插桩神器,让程序帮你写代码

作者:京东零售 刘世杰导读本文结合京东监控埋点场景,对解决样板代码的技术选型方案进行分析,给出最终解决方案后,结合理论和实践进一步展开。通过关注文中的技术分析过程和技术场景,读者可收获一种样板代码思想...

在Java面试中,这几个常出现的问题,你知道几个?

在Java开发岗位的面试中,我们会遇见一些比较常见的问题,看看下面常见的一些问题中,你知道几个?一、String、StringBuffer、StringBuilder的区别String是不可变的字符序...

Java 命令行工具使用(java编写命令行工具)

为什么要使用命令行工具, 默认 Java 的开发是没有 IDE (IDE 是 Integrated Development Environment) 的。 所以我们就需要使用命令行进行使用, 命令行应...