《JAVA语言程序设计》期末考试试题题库2014(整理版)-

发布时间 : 星期五 文章《JAVA语言程序设计》期末考试试题题库2014(整理版)- 更新完毕开始阅读

一、单项选择题

1、如下哪个是Java中的标识符()

A、public B、super C、3number D、width 2、如下哪个是Java中的标识符( )

A、fieldname B、super C、3number D、#number 3、已知如下定义:String s = \下面哪个语句不是合法的( )

A、s += \ C、int len = s.length;

B、s = s + 100; D、String t = s + “abc”;

11、this和super( ):

A、都可以用在main()方法中B、都是指一个内存地址 C、意义相同 D、不能用在main()方法中 12、关于接口哪个正确?( ) A、接口和抽象类是同一回事 B.一个类只能实现一个接口 C.接口间不能有继承关系

D.实现一个接口必须实现接口的所有方法 13、关于静态成员下面说法错误的是( ) A、静态成员是最终成员变量 4、如下哪个是Java中有效的关键字()

A、name

B、hello

C、false

D、good

5、定义一个类,必须使用的关键字是( )

A、public

B、class C、interface D、static

6、定义一个接口必须使用的关键字是( )

A、public

B、class C、interface D、static

7、下列哪一个import命令可以使我们在程序中创建输入/输出流对象()

A、import java.sql.*; B、import java.util.*; C、import java.io.*;

D、import java.net.*;

8、关于对象成员占用内存的说法哪个正确?( ) A.同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间

B、同一个类的对象共用同一段内存 C.对象的方法不占用内存 D.以上都不对

9、下面关于子类和父类构造函数描述正确的是( ) A、子类必须通过super关键字调用父类无参的构造函数

B、子类必须通过this关键字调用父类无参的构造函数

C、调用父类的构造函数语句必须出现在子类构造函数的第一行

D、如果子类调用了自己有参的构造函数,就不能调用父类的构造函数 10、抽象方法( )

A、可以有方法体 B、是没有方法体的方法 C、可以出现在非抽象类中 D、抽象类中的方法都是抽象方法

B、静态成员属于类成员

C、定义静态成员使用的关键字是static D、静态成员必须创建对象时才能使用 14、以下关于继承的叙述正确的是( )。 A、在Java中一个类只能实现一个接口 B、在Java中类只允许单一继承

C、在Java中一个类不能同时继承一个类和实现一个接口

D、在Java中接口只允许单一继承

15、要使某个类能被同一个包中的其他类访问,但不能被这个包以外的类访问,则( )

A.让该类不使用任何关键字 B.使用private关键字 C.使用final关键字

D.使用protected关键字

16、下列哪个代码替换程序中的【代码】不会导致编译错误? BCD

(A)protected int getNumber(){return 100;} (B)int getNumber(){return 100;}

(C)public int getNumber(){return 100;} (D)int getNumber(){return ’a’+’b’;}

interface c1ass AAA{

abstract int getNumber(); }

class BBB implements AAA {

【代码】 }

17、void的含义:( )

A.没有意义 B. 方法体为空

C.方法没有返回值

D. 定义方法时必须使用

18、覆盖与重载的关系是 ( )

A、覆盖方法可以不同名,而重载方法必须同名 B.覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中

C.final修饰的方法可以被覆盖,但不能被重载 }

public class A{

public static void main(String args[]){

Tom tom=new Tom(); tom.x=22; //【代码l】 tom.y=33; //【代码2】 D.覆盖与重载是同一回事

19、下列类声明错误的有?

(A)final abstract class A (B)final class A (C)protected class A (D)public class A

20、下列E类的类体中哪个【代码】是错误的?

class E{

float x; //【代码1】

long y=(int)x; //【代码2】 public void f(int n){

double m; //【代码3】 double t=n; //【代码4】 } }

21、下列A类的类体中哪些【代码】是错误的?

class A{

int x=100; //【代码1】 static long y;//【代码2】 y=200; //【代码3】 public void f(){ y=300;//【代码4】 }

public static void g(){

x=-23; //【代码5】 } }

22、下列A类的类体中哪些【代码】是错误的?

class Tom {

private int x=120; protected int y=20; int z=11;

private void f(){

x=200;

System.out.println(x); }

void g(){

x=200;

System.out.println(x); }

tom.z=55; //【代码3】 tom.f(); //【代码4】 tom.g(); //【代码5】 }

}

23、下列叙述哪些是正确的? (A)final类不可以有子类。

(B)abstract类中只可以有abstract方法。

(C)abstract类中可以有非abstract方法,但该方法不可以用final修饰。

(D)不可以同时用final和abstract修饰一个方法。 24、下列哪个代码替换程序中的【代码】会导致编译错误?

(A)protected int getNumber(){return 100;} (B)int getNumber(){return 100;}

(C)public int getNumber(){return 100;} (D)public int getNumber(){return 'a'+'b';}

abstract class AAA{

abstract protected int getNumber (); }

class BBB extends AAA{

【代码】 }

25、下列哪个代码替换程序中的【代码】不会导致编译错误?

(A)protected long getNumber(){return 20L;} (B)public byte getNurnber(){return 10;} (C)public int getNumber(){return(byte)lO;} (D)public char getNumber(){return 'A’;}

abstract class AAA{

abstract protected int getNumber(); }

class BBB extends AAA {

【代码】

}

二、填空题

1、如果将类MyClass声明为public,它的文件名称必须是(MyClass.java)才能正常编译。 2、Java程序中的单行注释符是( // ),多行注释符是( /* */ )。 3、Java中布尔类型的常量有两种,它们是(true)和(false)。

4、Java中用于定义小数的关键字有两个:(float) 和 (double),后者精度高于前者。

5、Java中用于两个数相等比较的运算符是:(==),用于不相等比较的运算符是(<>)。 6、在Java中定义一个字符串类型的变量str的语句是:(String str;) ,定义一个具有10个元素的整型数组a的语句是:(int [] arr = new int[10];) 。

7、导入mypackage包中的所类的命令是( import mypackage.*; )。 8、当声明一个数组int arr[] = new int[5]; 时,这代表这个数组所保存的变量类型是(int),数组名是 (arr),数组的大小为(5),数组元素下标的使用范围是(0到4)。

9、假设x=13,y=4,则表达式x%y != 0的值是(true),其数据类型是(boolean)。 10、异常处理是由(try)、(catch)和finally块三个关键所组成的程序块。

11、导入mypackage包中的类myclass的命令是( import mypackage.myclass; )。 12、使用命令行敲入javac命令,其含义是( 编译java文件,得到字节码文件)。 13.定义类的保留字是( class),定义接口的保留字是( interface )。 14.构造方法是一种特殊的成员方法,构造方法名与( 类名) 相同。 15.Java语言只允许单继承,指每个类只能有一个 ( 父类 )。

16.Java源程序的扩展名是( .java),经过编译后的程序的扩展名是(.class)。

17、如果将类MyClass声明为public,它的文件名称必须是(Myclass.java)才能正常编译。

三、程序阅读题

1、以下程序的输出结果为_ Peter is 17 years old!___。 public class Person { String name; int age;

public Person(String name, int age) { this.name = name; this.age = age; }

public static void main(String[] args) {

Person c = new Person(\, 17); System.out.println(c.name + \is \ + c.age + \); } }

2、以下程序的输出结果为__课程号:101 课程名:ASP 学分:3___。

public class Course {

private String cNumber; private String cName; private int cUnit;

public Course(String number, String name, int unit) {

cNumber = number; cName = name; cUnit = unit; }

public void printCourseInfo() { System.out.println(\课程号:\ + cNumber + \课程名:\ + cName + \学分:\ + cUnit); } }

class CourseTest { public static void main(String[] args) {

Course c;

c = new Course(\, \, 3); c.printCourseInfo(); } }

3、以下程序的输出结果为__汤姆猫体重:20.0斤___。 public class Tom {

private float weight;

private static String name;

public void setWeight(float weight) { this.weight = weight; }

private void out() {

System.out.println(name + \体重:\ + weight + \斤\); }

public static void main(String[] args) { Tom.name = \汤姆猫\; Tom cat = new Tom(); cat.setWeight(20); cat.out();

}

}

4、以下程序的输出结果_姓名:Tom 年龄:15 家庭住址:金水区 电话:66123456 学校:九中_。 public class Father {

String name, address, tel; int age;

public Father(String name, int age) { this.name = name; this.age = age; }

void out() { System.out.print(\姓名:\ + name); System.out.print(\年龄:\ + age); }

void outOther() { System.out.print(\家庭住址:\ + address);

System.out.print(\电话:\ + tel); } }

class Son extends Father { String school;

联系合同范文客服:xxxxx#qq.com(#替换为@)