文档库 最新最全的文档下载
当前位置:文档库 › java期末复习题(解答)

java期末复习题(解答)

java期末复习题(解答)
java期末复习题(解答)

一、选择题

1、下列叙述中,正确的是(C)

A)线程与进程在概念上是不相关的

B)一个线程可包含多个进程

C)一个进程可包含多个线程

D)Java中的线程没有优先级

2、下列Java源程序结构中前三种语句的次序,正确的是(D )

A)import,package,public class

B)import必为首,其他不限

C)public class,package,import

D)package,import,public class

3、如果使用Thread t=new Test()语句创建一个线程,则下列叙述正确的

是(B )

A)Test类一定要实现Runnable接口

B)Test类一定是Thread类的子类

C)Test类一定是Runnable的子类

D)Test类一定是继承Thread类并且实现Runnable接口

4、下列关键字中可以表示类不能被继承的是( A )

A)final B)default

C)private D)transient

5、阅读下面程序

public class Test implements Runnable {

public static void main(String[] args) {

_______________________

t.start();

}

public void run() {

System.out.println(“Hello”);

}

在程序下划线出填入正确选项是( C )

A)Test t=new Test();

B)Thread t=new Thread();

C)Thread t=new Thread(new Test());

D)Test t=new Thread();

6、下列方法中可用于定义线程体的是( C )

A)start()B)init()

C)run()D)main()

7、Java语言能做到“编写一次,随处可用”,是指Java语言具有( B )

A.很高的通用性 B. 可移植性

C. 解释特性

D. 很高的安全性

8、下列标识符合法的是 ( A )

A. _bill_1

B. @email

C. 486_CPU

D. !_not

9、在创建数组时,下列创建的方法中合法的是( B )

A.int a[ ] [ ] = new a[10][5] B. int a[ ] = new int[10 ]

C. int [ ]a = new a[10 ]

D. int a[ ] = new a[10 ]

10、在一个类中定义的成员变量和成员方法时,不允许( D )

A. 成员方法中的参数与成员变量名相同

B. 两个成员方法名相同

C. 成员变量与成员方法名相同

D. 两个成员变量名相同

11、下列语句中,可以作为无限循环语句的是( A )

A)for(;;) {} B)for(int i=0; i<10000;i++) {} C)while(false) {} D)do {} while(false)

12、下列表达式中,类型可以作为int型的是( C )

A)“abc”+”efg” B)“abc”+’efg’

C)‘a’+’b’ D)3+”4”

13、在多线程并发程序设计中,能够给对象x加锁的语句是( D )

A)x.wait( ) B)synchronized(x)

C)x.notify( ) D)x.synchronized( )

14、接口中,除了抽象方法之外,还可以含有( B )

A)变量B)常量

C)成员方法D)构造方法

15、StringBuffer类字符串对象的长度是( C )

A)固定B)必须小于16个字符

C)可变D)必须大于16个字符

16、子类继承了父类的方法和状态,在子类中可以进行的操作是( D )

A)更换父类方法B)减少父类方法

C)减少父类变量D)添加方法

17、继承是面向对象编程的一个重要特征,它可降低程序的复杂性并使代码

( B )A)可读性好B)可重用

C)可跨包访问D)运行更安全

18、使用DriverManager类的( A )方法连接数据库

A)getConnection()B)forName

C)join()D)creatConnection()

19、在Java网络编程中,要获取本机的地址可以使用InetAddress类的

( B )方法。

A)getHostName()B)getLocalHost()

C)getByName()D)getHostAddress()

20、用来向数据库DBMS发送SQL的JDBC类是( A )

A)Statement B)Connection

C)DriverManager D)ResultSet

21、自定义异常类的父类可以是( C )

A)Error B)VirtuaMachineError

C)Exception D)Thread

22、下列语句用来实现数据库操作的正确顺序为( B )。

(1)Connection con=DriverManager.getConnection(url,””,””);

(2)ResultSet rs=stmt.executeQuery(“select * from users”);

(3)Statement stmt=con.creatStatement();

(4)Class.forNmae(“sun.jdbc.odbc.jdbcOdbcDriver”);

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

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

23、在基于Socket的C/S通信中,服务器端监听客户端请求可以使用

ServerSocket类的( C )方法

A)getPort()B)getInputStream()

C)accept()D)close()

24、使新创建的线程参与运行调度的方法是( B )

A)run()B)start()

C)init()D)resume()

25、一个子类继承父类,子类不可以继承父类中访问权限设定为( A )的变量和方法。

A. private

B. 未修饰

C. public

D. protected

26、在异常处理中,如释放资源、关闭文件、关闭数据库等由( C )来

完成。

A.try子句B.catch子句

C.finally子句D.throw子句

27、下列哪些语句关于JAVA中内存回收的说明是正确的? ( B )

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

B.垃圾回收器负责释放无用内存

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

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

28、下列运算符合法的是____。(A )

A.&&

B.<>

C.if

D.:=

29、下列哪一种叙述是正确的____。( D )

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

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

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

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

30、当某一线程正处于休眠状态,而另一个线程用Thread 类中的interrupt() 方法中断它时,抛出的异常类型是______。( C )

A.IOException

B.RuntimeException

C.InterruptedException

D.ClassNotFoundException

31、下列语句序列执行后,num的值是____。( A )

Random rd1=new Random();

int num=Math.abs(rd.nextInt())%4+1;

A.1~4之间的随机值

B.0~3之间的随机值

C.0

D. 4

32、_________关键字可以对对象加互斥锁。( B )

A.transient

B.synchronized

C.serialize

D.static

二、填空题

1、Java中的线程体是由线程类的 run() 方法进行定义的,线程运行也是从该方法开始执行。

2、类的实例变量在___创建对象_____________时候会被分配内存空间。

3、在Java中若定义抽象类则需要加关键字 abstract 来修饰。

4、按照Java中的命名约定,方法名的起始字母一般都是小写,但是_构造__ 方法例外。

5、java接口内的方法都是公共的、抽象的,实现接口就要实现接

口内的所有方法。

6、类是java程序的基本单元。

7、一个线程执行完run方法后,进入___死亡________状态。

8、接口中能定义抽象方法和___常量_________。

9、在Java中,所有的类都是通过直接或间接地继承 _Object__父类得到的。

10、创建一个名为 MyPackage 的包的语句是_package MyPackage________,

该语句应该放在程序的位置为程序第一句。

11、Java中布尔类型的变量值有 ____true_____ 和false 。

12、父类的final方法____不可以_________被子类重写。

13、下列程序输出结果是_____工作顺利__________。

class Cry {

public void cry() {

System.out.println(“大家好“);

}

}

public E {

public static void main(String args[]) {

Cry hello=new Cry() {

public void cry () {

System.out.println(“工作顺利”);

}

};

hello.cry();

}

}

14、下列程序输出结果是__你好fine thanks _____________。

public class E {

public static void main(String [] args) {

try {

methodA()’

}

catch(IOException) {

System.out.print(“你好”);

Return;

}

finally {

System.ou.println(“fine thanks”);

}

}

public static void methodA() throws IOException {

throw new IOException();

}

}

15、下列程序输出结果是: _____15.0__________

______8.0_________

class A {

double f(double x,double y) {

return x+y;

}

}

class B extends A {

double f(int x, int y) {

return x*y;

}

}

public E {

public static void main(String[] args) {

B b=new B();

System.out.println(b.f(3,5));

System.out.println(b.f(3.0,5.0));

}

}

16、如果在定义类时,出于安全等方面的考虑,限定该类不能被其它类继承,

则在定义该类时加关键字 final 来修饰。

17、Java中的线程体是由线程类的 run() 方法进行定义的,线程运行也是从该方法开始执行。

18、若x = 5,y = 10,则x > y和x <= y的逻辑值分别为false和__true______

19、用JDK编译Java源程序,使用的命令是___javac________,编译源文件得到字节码文件。

20、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、___编译

________和解释运行字节码。

21、在Java程序中定义的类有两种成员:_成员变量_____和成员方法

22、子类继承父类时所要使用的关键字是 __extends_______。

23、使用关键字___char___来定义字符变量。

三、判断题:

1、一个进程就是一个执行中的程序,所以进程共享系统的内存空间和资源。

(T )

2、内部类的外嵌类的成员变量在内部类中仍然有效。(T)

3、在接口定义中可以声明变量。(F)

4、类中的实例方法可以操作类变量,而类方法也可以操作实例变量。

( F )

5、内部类的类体中可以声明类变量和类方法。( F)

6、一个线程进入死亡状态后,调用isAlive()方法返回值是false。

(T)

7、如果采用JDBC-ODBC方式连接数据库,程序代码中必须使用数据库的名

字才能与数据库建立连接。(F)

8、在定义类时,抽象类中的方法可以有代码。( T )

9、在Java语言中,允许一个类继承一个父类的内容,也允许继承多个父类

的内容。( F )

11、在Java语言中,类的构造方法可以重载。( T )

12、abstract类中只可以有abstract方法。( F)

13、在Java语言中即支持一维数组,也支持多维数组。( T )

14、在Java中不可以同时用final和abstract修饰一个方法。( T )

15、Date类中的Date(long time)构造方法,time的单位是毫秒。( T)

16、Java语言是编译型语言。( T )

17、Java中,File类提供了描述文件和目录的方法。( T )

18、Java可以通过接口机制支持多重继承。( T )

四、简答题:

1、什么叫接口的回调?

2、在多线程中,线程同步机制是什么?

3、什么叫方法的重载?构造方法可以重载吗?

4、在JDBC中事务处理步骤是怎样的?

5、java中异常(Exception)和错误(Error)有什么不同?

6、简述实例变量和类变量的区别。

五、程序题:

1、阅读下面程序

class Cry {

public void cry() {

System.out.println(“大家好“);

}

}

public E {

public static void main(String args[]) {

Cry hello=new Cry() {

public void cry () {

System.out.println(“工作顺利”);

}

};

hello.cry();

}

}

程序运行的输出结果是:

2、阅读下面程序

public class E {

public static void main(String [] args) {

try {

methodA()’

}

catch(IOException) {

System.out.print(“你好”);

Return;

}

finally {

System.ou.println(“fine thanks”);

}

}

public static void methodA() throws IOException {

throw new IOException();

}

}

程序运行的输出结果是:

3、阅读下面程序:

class A {

double f(double x,double y) {

return x+y;

}

}

class B extends A {

double f(int x, int y) {

return x*y;

}

}

public E {

public static void main(String[] args) {

B b=new B();

System.out.println(b.f(3,5));

System.out.println(b.f(3.0,5.0));

}

}

程序运行的输出结果是:

____________________

4、编写程序,创建一个Student类,在构造方法里面计算学生的平均成绩,由于无法确定是两门课还是三门课的平均成绩,所以提供两种不同版本的构造方法来创建Student类的对象。

1、阅读下面程序

public class E{

public static void main(String args[]){

String str=new String(“苹果“);

modify(str);

System.out.println(str);

}

public static void modify(String s) {

s=s+”好吃”;

}

}

程序运行的输出结果是:

5、阅读下面程序

public class A {

double f(double x,double y) {

return x+y;

}

static int g(int n) {

Return n*n;

}

}

public class B extends A {

double f(double x,double y) {

double m=super.f(x,y);

return m+x*y;

}

static int g(int n) {

int m=A.g(n);

return m+n;

}

}

public class E{

public static void main(String args[]){

B b=new B();

System.out.println(b.f(10.0,8.0));

System.out.println(b.g(3));

}

}

程序运行的输出结果是:

____________________

6、阅读下面程序

public class B {

int x=100,y=200;

public void setX(int x) {

x=x;

}

public void setY(int y) {

this.y=y;

}

public int getSum() {

return x+y;

}

}

public class A{

public static void main(String args[]){

B b=new B();

b.setX(-100);

b.sety(-200);

System.out.println(”Sum=”+b.getSum());

}

}

程序运行的输出结果是:

7、编写程序,该程序连接到数据源myData,查询goods表中price字段值大于300000的全部记录。程序运行效果如下图10.8(goods表中的字段为:number:文本,name:文本,madetime:日期/时间,price:数字;另外编程时可能用到的Java方法如下:Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

catch(ClassNotFoundException e) {;

DriverManager.getConnection("jdbc:odbc:myData","","");

createStatement(); executeQuery("SELECT ……");

getString(); getDate(); getDouble(); catch(SQLException e) ......

8、下面程序段的运行结果是_____________________________

_____________________________

_____________________________

public class UseArray {

public static void main(String args[]) {

double[] x={1.2,45.9,-7.8,-18.2,12.8};

for(int i=0;i

System.out.print(" x["+i+"]="+x[i]);

System.out.println();

double min=x[0],max=x[0],sum=0.0;

for(int i=0;i

sum+=x[i];

if(x[i]>max)

max=x[i];

if(x[i]

min=x[i];

}

System.out.println("和:\t"+sum);

System.out.println("最小值:\t"+min);

System.out.println("最大值:\t" +max);

}

}

9、下面程序段执行后,在命令行的输出结果是:___________________________

public class TestBirthday {

public static void main(String args[]) {

Birthday obj1=new Birthday();

obj1.show();

Birthday obj2=new Birthday(1990,11,12);

obj2.show();

}

}

class Birthday {

int year, month, day;//分别表示年月日

Birthday( ) {

}

Birthday(int year, int month, int day) {

this.year=year;

this.month=month;

this.day=day;

}

void show(){

System.out.println("出生年月:"+year+"年"+month+"月"+day+"日");

}

}

10、下面的程序功能是Random类的使用,实现了命令行界面的猜数小游戏,

请填空。

import java.util. Random;

import java.io.*;

public class UseRandom {

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

Random rd1=new _________; //创建随机数类对象

int num=rd1.nextInt(100); //生成0~100以内的随机数

System.out.println("猜测一个100以内的正整数");

System.out.print("请输入您猜的数:");

BufferedReader br=new BufferedReader(

new InputStreamReader(___________));//接收键盘输入String s=br.readLine();//读取从键盘输入的一行字符串

int guess=________________;//转化为整数:第1次用户猜数

int i=1;//存放猜数的次数

while(guess!=num){//没有猜中则继续循环

System.out.println("第"+(i++)+"次猜数"+

guess+(guess>num?"大了!":"小了!"));

System.out.print("请输入您猜的数:");

s=______________;//读取从键盘输入的一行字符串 guess=Integer.parseInt(s);//转化为整数:第i次用户猜数

}

System.out.println("第"+i+"次猜数"+ __________+",恭喜你猜中!");

}

}

11、P267页练习(8)阅读理解该程序,为什么输出是BA?

JAVA期末考试试卷

天津城市建设学院2007~2008学年第二学期 《 java 语言程序设计A 》 试题A 卷 课程号:073101-0 试卷说明:闭卷考试,时间120分钟。 一、 填空(本题共15空,每空2分,共30分) 1.如果一个java 源程序文件中定义有4个类,使用sun 公司的JDK 编译器javac 编译该源程序文件将产生_____4___个文件名与类名相同扩展名为___.Class_____的字节码文件。 2.Java 中所有类都是类 __Object__的子类。 3.请填出在java .lang 包中与下列基本数据类型相对应的封装类: float :java .lang .Float , char : _ java .Lang.char_______, boolean : ___ java .Lang.boolean_____。 4.被关键字____final______修饰的方法是不能被当前类的子类重新定义的方法 5.线程的四种状态是__新建_____ 、_运行_ 、_中断 、__死亡___。 6.java 语言中__https://www.wendangku.net/doc/729895609.html,ng.Objet ___是所有类的根。 7.Swing 的事件处理机制包括__事件的监听者__、事件和事件处理者。 8.URL_____Uniform Resourse Locator_____是的缩写。 9.java 有两类应用程序java Application 和____java 10.转义字符以___\__开头。 二、选择(本题共20小题,每题2分,共40分) 1.欲构造ArrayList 类的一个实例,此类继承了List 接口,下列哪个方法是正确的 ? ( B ) A 、 ArrayList myList=new Object (); B 、 List myList=new ArrayList (); C 、 ArrayList myList=new List (); D 、 List myList=new List (); 2.paint()方法使用哪种类型的参数? ( A ) A 、 Graphics B 、 Graphics2D C 、 String D 、 Color 3.指出正确的表达式 ( C ) A 、 byte=128; B 、 Boolean=null; C 、 long l=0xfffL; D 、 double=0.9239d; 4.指出下列程序运行的结果 ( B ) 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 "); Sytem .out .print(ex .ch); } public void change(String str,char ch[]){ str="test ok"; ch[0]='g'; } } B 、 good and abc B 、 good and gbc C 、test ok and abc D 、 test ok and gbc 5.运行下列程序, 会产生什么结果 ( A )

java期末考试试题及答案

1.谈谈final, finally, finalize的区别。 final关键字: a) 如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract的,又被声明为final的。 b) 将变量或方法声明为final,可以保证它们在使用中不被改变。 c) 被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。 d) 被声明为final的方法也同样只能使用,不能重载。 finally关键字:在异常处理时提供finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的catch 子句就会执行,然后控制就会进入finally 块。 finalize:方法名,不是关键字。Java技术允许使用finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在Object 类中定义的,因此所有的类都继承了它。子类覆盖finalize() 方法以整理系统资源或者执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。 2.GC是什么? 为什么要有GC? GC是垃圾收集器。Java 程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一: System.gc() Runtime.getRuntime().gc() 3.Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 写程序Math.round(11.5) = 12 Math.round(-11.5) = -11 4.给我一个你最常见到的runtime exception ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException, ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException

JAVA期末考试复习试题

JAVA期末考试复习试题 JAVA期末考试复习试题 1.使用Java语言编写的源程序保存时的文件扩展名是()。(A).class (B).java (C).cpp (D).txt 2.设int a=-2,则表达式a>>>3的值为()。(A)0 (B)3 (C)8 (D)-1 3.设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是()。(A)a[0]; (B)a[a.length-1]; (C)a[3]; (D)int i=1; a[i]; 4.在类的定义中可以有两个同名函数,这种现象称为函数()。(A)封装(B)继承(C)覆盖(D)重载5.在类的定义中构造函数的作用是()。(A)保护成员变量(B)读取类的成员变量(C)描述类的 特征(D)初始化成员变量6.下面关键字中,哪一个不 是用于异常处理语句()。(A)try (B)break (C)catch (D)finally 7.类与对象的关系是()。 (A)类是对象的`抽象(B)对象是类的抽象(C)对象 是类的子类(D)类是对象的具体实例8.下面哪一个是Java中不合法的标识符()。(A)$persons (B)twoNum (C)_myVar (D)*point 9.为AB类的一个无形

式参数无返回值的方法method书写方法头,使得使用类名AB 作为前缀就可以调用它,该方法头的形式为( )。(A)static void method( ) (B)public void method( ) (C)final void method( ) (D)abstract void method( ) 10.欲构造ArrayList类的一个实例,此类继承了List接 口,下列哪个方法是正确的()。(A)ArrayList myList=new Object( ) (B)List myList=new ArrayList( ) (C)ArrayList myList=new List( ) (D)List myList=new List( ) 11.Java源文件和编译后的文件扩展名分别为 ()(A) .class和 .java (B).java和 .class (C).class和 .class (D) .java和 .java 12.在Java Applet程序用户自定义的Applet子类中,一般需要重载父类 的( )方法来完成一些画图操作。(A) start( ) (B) stop( ) (C) init( ) (D) paint( ) 13.对于一个Java源文件,import, class定义以及package正确的顺序是: (A) package,import,class (B) class,import,package (C) import,package,class (D) package,class,import 14.下面哪个是非法的:(A) int I = 32; (B) float f = 45.0; (C) double d = 45.0; (D) char c = ‘u’; //符号错15.Java语言使用的字符码集是(A) ASCII (B) BCD (C) DCB (D) Unicode 16. 如果一个类的成员变量只能在

大学java期末考试试题和标准答案

《Java程序设计基础》期终考试试卷(模拟) (闭卷) 一、简单编程题(共50分) 在考试文件夹中新建一个应用程序proj1(应用程序地文件夹名称为proj1),按照以下要求编写程序代码. 1. 在程序中定义Person类,为该类编写如下字段、构造器、访问器、修改器和相应地其他方法.(20分) (1)在Person类中定义两个字段: 私有访问权限,类型为String地name字段; 私有访问权限,类型为int地age字段. (2)在Person类中定义构造器 构造器有两个参数,第一个参数地类型是String,名字为name.第二个地类型是int,名字是age.第一个参数地值赋给字段name,第二个参数地值赋给字段age. (3)为Person类地两个字段分别编写访问器方法,方法名称分别为getName和getAge.getName方法返回类型为String地name字段地值;getAge方法返回类型为int地age字段地值. (4)为Person类地两个字段分别编写修改器方法,方法名称分别为setName和setAge.setName方法有一个String类型地参数,方法中用该参数来设置字段name地值;setAge方法有一个int类型地参数,方法中用该参数来设置字段age地值,并且保证age 字段地值不能为负数,如果要将age设置为负数则给出错误提示. (5)为Person类写一个叫做toString地方法,该方法不需要参数,有返回值.它返回一个字符串,字符串中包含name字段和age字段地值,如果name字段地值是“Helen”,age字段地值是20,则返回字符串:“Name:Helen. Age:20”. 2. 在程序中定义Student类,Student类继承Person类.(10分) (1)在Student类中除了继承其超类Person地name字段和age字段外,它还有自己地字段String类型地school,该字段地访问权限为私有. (2)Student类地构造器有三个参数,第一个参数为name,String类型;第二个参数为age,int类型;第三个参数为school,String类型,这三个参数地值分别赋给三个字段name、age和school. (3)在Student类中重写其超类Person地toString方法,要求该方法返回地字符串不仅包含超类Person中地name字段和age字段地值,而且包含子类Student中地school 字段地值.如果name字段地值是“Helen”,age字段地值是20,school字段地值是“山西大学商务学院”,则返回地字符串为“School:山西大学商务学院Name:Helen. Age:20”. 3. 在程序中定义Test类,在Test类中定义一个main方法,在main方法中实现如下操作:(10分) (1)创建一个Person类地对象,它地name为“John”,age为18,对象名为person1; (2)创建一个Student类地对象,它地name为“Helen”,age为18,school为“MIT”,对象名为stuent1; (3)分别输出这两个对象地相关信息(调用它们地toString方法). 4. 分别为Person类和Student类编写文档注释,并生成应用程序地类文档.要求如下:(10分) (1)类地文档注释,包括类名、类地作者及版本号,作者地名字用考生地姓名标注,版本号使用考试地日期; (2)构造器和各个方法地文档注释,包括方法地名称、构造器和方法地功能说明,要求标注构造器和方法中地参数及返回值,并说明参数地类型、名称和返回值地类型. (3)文档注释完成后要使用BlueJ地JavaDOC工具生成应用程序地类文档. 二、代码改错(共20分)

JAVA期末试题及答案

Java 程序设计》课程试卷 1.使用 Java 语言编写的源程序保存时的文件扩展名是( )。 (A ) .class ( B ) .java C ) .cpp ( D ) .txt 2.设 int a=-2 ,则表达式 a>>>3 的值为( )。 (A ) 0 (B )3 (C ) 8 (D )-1 3.设有数组的定义 int[] a = new int[3] ,则下面对数组元素的引用错误的是( ) ( A )a[0]; ( B ) a[a.length-1]; (C )a[3]; (D )int i=1 ; a[i]; 4.在类的定义中可以有两个同名函数,这种现象称为函数( )。 (A )封装 (B )继承 (C )覆盖 (D )重载 5.在类的定义中构造函数的作用是( )。 (A )保护成员变量 (B )读取类的成员变量 (C )描述类的特征 (D )初始化成员变量 6.下面关键字中,哪一个不是用于异常处理语句( )。 ( A ) try ( B ) break ( C ) catch ( D ) finally 7.类与对象的关系是( )。 (A )类是对象的抽象 (B )对象是类的抽象 15. Java 语言使用的字符码集是 (A) ASCII (B) BCD (C) DCB 16. 如果一个类的成员变量 (A) public (B) (C 对象是类的子类 (D )类是对象的具体实例 )。 8.下面哪一个是 Java 中不合法的标识符( ( A )$persons ( B ) twoNum ( C )_myVar ( D )*point 9.为 AB 类的一个无形式参数无返回值的方法 ( ) 。 ( A ) static void method( ) ( B ) public void method( ) ( C ) final void method( ) ( D ) abstract void method( ) 10.欲构造 ArrayList 类的一个实例,此类继承了 ( A ) ArrayList myList=new Object( ) ( B ) List myList=new ArrayList( ) ( C ) ArrayList myList=new List( ) ( D ) List myList=new List( ) 11. Java 源文件和编译后的文件扩展名分别为( (A) .class 和 .java (C).class 和 .class 12. 在 Java Applet 程序用户自定义的 (A) start( ) (B) stop( ) (C) init( ) 13. 对于一个 Java 源文件, (A) package,import,class (C) import,package,class 14. 下面哪个是非法的: (A) int I = 32; (C) double d = 45.0; method 书写方法头,使得使用类名 List 接口,下列哪个方法是正确的( ) ( B).java 和 .class (D) .java 和 .java Applet 子类中,一般需要重载父类的 (D) paint( ) import, class (B) class,import,package (D) package,class,import ( ) 定义以及 package 正确的顺序是: (B) float f = 45.0; (D) char c = // 符号错 AB 作为前缀就可以调用它,该方法头的形式为 方法来完成一些画图操作。 (D) Unicode 只能 在所在类中使用 则该成员变量必须使用的修饰是

JAVA期末考试复习题

《J A V A程序设计》练习题 一、单选择题 1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。 A.java B. .class C.html D. .exe 2、设 x = 1 , y = 2 ,z = 3,则表达式 y+=z--/++x的值是( A )。 A. 3 B. 3.5 C. 4 D. 5 3、不允许作为类及类成员的访问控制符的是( C )。

A. public B. private C. static D. protected 4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(A )。 A. static void method( ) B. public void method() C. final void method( ) D. abstract void method( ) 5、关于选择结构下列哪个说法正确?( B ) A.if语句和 else语句必须成对出现 B.if语句可以没有else语句对应

C.switch结构中每个case语句中必须用break语句D.switch结构中必须有default语句 6、while循环和do…while循环的区别是:(D ) A.没有区别,这两个结构任何情况下效果一样 B.while循环比do…while循环执行效率高 C.while循环是先循环后判断,所以循环体至少被执行一次D.do…while循环是先循环后判断,所以循环体至少被执行一次 7、关于 for循环和 while循环的说法哪个正确? ( B ) A.while循环先判断后执行,for循环先执行后判断。B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果 C.两种循环任何时候都不可以替换

Java web期末考试题

第1页(共7页) 天津师范大学期末考核 2015—2016 学年第2学期 期末考核试卷 科目:Java Web 应用开发 学院:计信学院 专业:计算机科学 一、 单选题:(每小题2分,共10分) 1. 下列语句属于声明语句的是( A )。 A .<%! Int a = 4;%> B.<% int a=4;%> C .<%--int a=4-- %> D. <%@ int a=4%> 得分 2. 一个servlet 的生命周期不包括( B )方法? A .init( )方法 B. invalidate( )方法 C .service( )方法 D .destroy( )方法 得分 3. Application 对象的作用域是( B )。 A . 一次会话 B. 整个应用程序 C . 一次请求 D . 整个页面 得分 4. 下面对servlet 中重定向说法描述错误的是( D )。 A .使用的是HttpServletResponse 接口的sendRedirect()方法 B. 源组件的响应结果不会发送给客户端 C .sendRedirect()方法后的代码仍会执行 D .源组件和目标组件共享ServletRequest 对象

第2页(第7页) 得分 5. 有一个JavaBean 组件,类名为Student ,此JavaBean 组件的获得访问方法是getTotalScore,其功能是获得某个学生几门功课的总分,返回值保留一位小数,则以下关于getTotalScore 的声明正确的是( B )。 A .public int getTotalScore() B. public float getTotalScore() C .protected int getTotalScore() D .protected float getTotalScore() 得分 2. 3. Sevlet 过滤器核心对象放置在javax.servlet 包中,其名称为 4.

Java期末考试题

2010年——2011年Java期末考试题 一、判断题。 1.Java语言是平台无关的语言。T 2.类的静态方法中可以访问该类的非静态数据成员.F 3.Java中方法调用时参数传递都是按值传递的,因此从方法中退出时,参数的值是不 会变的。T 4.覆盖方法所抛出的异常不能比原方法更多。T 5.Final 方法不能被覆盖。T 6.抽象类中一定包含抽象方法。F 7.接口中的方法必须是抽象方法。T 8.在方法定义中,所以可能发生的异常都必须用try{} catch(){}捕捉。F 9.Java支持多重继承。F 10.Final修饰的类不能派生子类。T 11.覆盖的同名方法中,子类方法不能比父类方法的访问权限更严格。T 12.不能在静态方法中使用this.T 13.抽象类中不能创建对象。T 14.一个类可以实现多接口。T 15.接口中可以包含非静态成员。F 16.不论是否捕捉到异常try{}catch(){} final{}语句中finally块中的代码总要被执行。T 17.一个类实现一个接口,则该类必须实现接口中的所有方法。F 18.线程使用sleep方法去休眠后可以使用notify方法唤醒。F 19.线程使用sleep方法休眠是会释放该线程同步锁定的对象。F 20.Final类中的属性和方法都必须是final的。F 二、选择题 1、Java中复合数据类型不包括(D) A.类类型 B.数组 C.接口类型 D.指针 2、请从四个选项中选择答案,下列代码的执行结果是:(C) Public class Test{ Public static void main(String args[]){ Float t=9.0f; Int q=6; System.out.println((t++)*(--q)); } } A.40 B.40.0 C.45.0 D.36.0 3、下列关于修饰符混用的说法,错误的是(D) A.abstract 不能与final 并列修饰同一个类 B.abstract类中可以有非abstract的方法 C.普通类(非abstract类)中不能有abstract方法 D.static方法中能处理非static的属性 4、关于被保护访问控制符protected修饰的成员变量,以下说法正确的是(A) A.可以被该类自身、与它在同一个包中的其它类、在其它包中的该类的子类所访问B.只能被该类本身和该类的所有的子类访问 C.只能被该类自身所访问 D.只能被同一个包中的类访问 5、x=2,y=3,z=4,则表达式z*=y++*--x的值是(A) A.12 B.24 C.16 D.3 6、以下赋值语句正确的是(D) A.char c1=”a” B.float f1=3.22 C.byte b1=266 D.long L1=0xAC8L 7、Java不支持多重继承,但我们可以通过(B)实现 A.多态 B.接口 C.覆盖 D.抽象类 8.已知类person是类student的父类,以下数组定义和赋值哪些是正确的(A) A. person p[]=new person[3]; p[1]=new student(); B .student s[]=new person[3]; s[1]=new person(); C .person p[]= new student[3];p[1]= new person(); D .student s[]=new student[3];s[1]=new person; 9 编译MyClass.java之后,得到了三个字节码文件:MyClass.class , MyClasslittle$.class MyClass$1.class.这表明(C) A.MyClass类中的两个方法:little和1 B. MyClass.Java中有三个类:MyClass、little和1 C. MyClass类中有两个内部类:一个是命名的little,另一个是匿名的1 D. MyClass、little和1,这三者没什么关系 10、main 方法是java Application 程序执行的入口点,关于main方法的方法头以下(B)是合法的。 A.public static void main() B.public static void main(String arg[]) C.public static int main(String[] arg) D. B.public void main(String arg[]) 11、当编译和运行下面的代码会出现什么情况?(A)

Java期末考试试卷1

信息学院2006—2007学年第二学期期末考试试题A 课程名称:Java 语言程序设计主讲:年级: 班级姓名学号 题号一二三四五合计 分数 一、选择(每题1分,共20分) 1.有一个名为MyClass的public类,想成功编译需满足以下哪个条件?() A. MyClass类中必须定义一个正确的main()方法。 B. MyClass必须定义在MyClass.java源文件中。 C. MyClass类必须定义在MyClass包中。 D. MyClass类必须被导入。 2.以下哪些修饰符不能用于顶层类?( ) A. public B. private C. abstract D. final 3.以下哪个是java中合法的关键字?( ) A. array B. Boolean C. protect D. super 4.以下哪些是合法的标识符?( ) A.%abcd B. 2abcd C. package D. _a_long_name 5.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同。这种面向对象程序的特性称为. () A、隐藏 B、覆盖 C、重载 D、Java不支持此特性 6.有以下代码,请问该程序的运行结果是什么?( ) class Example { public static void main(String args[]){ boolean b=true; System.out.println(b); } } A. 打印输出true B. 打印输出1 C.编译错误 D. 无内容输出 7.以下哪些是基本数据类型?( ) A.int B. String C. Integer D. Float 8. 给出以下代码,请选择正确的选项?( ) class Example{ public static void main(String[] args){ char a=”\u1234”; } } A. 代码编译成功 B. 代码编译成功,但有警告 C. 代码编译失败 9.以下哪个语句用于声明一个二维数组?( ) A. int[5][5] a=new int[][]; B. int a=new int[5,5] C. int[][] a=new int[5][5]; D. int[][] a=new [5]int[5]; 10.给出以下代码,请问该程序的运行结果是什么?()

java期末考试复习题及答案(1)

《Java程序设计》课程试卷 1.使用Java语言编写的源程序保存时的文件扩展名是( B )。 (A).class (B).java (C).cpp (D).txt 2.设int a=-2,则表达式a>>>3的值为( C )。 (A)0 (B)3 (C)8 (D)-1 3.设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是( C )。 (A)a[0]; (B)a[]; (C)a[3]; (D)int i=1; a[i]; 4.在类的定义中可以有两个同名函数,这种现象称为函数( D )。 (A)封装(B)继承(C)覆盖(D)重载 5.在类的定义中构造函数的作用是( D )。 (A)保护成员变量(B)读取类的成员变量(C)描述类的特征(D)初始化成员变量 6.下面关键字中,哪一个不是用于异常处理语句( B )。 (A)try (B)break (C)catch (D)finally 7.类与对象的关系是( A )。 (A)类是对象的抽象(B)对象是类的抽象(C)对象是类的子类(D)类是对象的具体实例 8.下面哪一个是Java中不合法的标识符( D )。 (A)$persons (B)twoNum (C)_myVar (D)*point 9.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。 (A)static void method( ) (B)public void method( ) (C)final void method( ) (D)abstract void method( ) 10.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的( C )。 (A)ArrayList myList=new Object( ) (B)List myList=new ArrayList( ) (C)ArrayList myList=new List( ) (D)List myList=new List( ) 源文件和编译后的文件扩展名分别为( B ) (A) .class和 .java (B).java和 .class (C).class和 .class (D) .java和 .java 12.在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( D )方法来完成一些画图操作。 (A) start( ) (B) stop( ) (C) init( ) (D) paint( ) 13.对于一个Java源文件,import, class定义以及package正确的顺序是: ( A ) (A) package,import,class (B) class,import,package (C) import,package,class (D) package,class,import 14.下面哪个是非法的:( D ) (A) int I = 32; (B) float f = ; (C) double d = ; (D) char c = ‘u’;如果一个类的成员变量只能在所在类中使用,则该成员变量必须使用的修饰是( C ) (A) public (B) protected (C) private (D) static 17.下面关于main方法说明正确的是( B ) (A) public main(String args[ ]) (B) public static void main(String args[ ]) (C) private static void main(String args[ ]) (D) void main() 18.哪个关键字可以对对象加互斥锁( B ) (A) transient (B) synchronized (C) serialize (D) static 19.关于抽象方法的说法正确的是( D ) (A)可以有方法体 (B) 可以出现在非抽象类中 (C) 是没有方法体的方法(D) 抽象类中的方法都是抽象方法 包的File类是( B ) (A)字符流类(B) 字节流类 (C) 对象流类 (D) 非流类 21.Java application中的主类需包含main方法,以下哪项是main方法的正确形参( B ) A、 String args B、String args[] C、Char arg D、StringBuffer args[] 22.以下代码段执行后的输出结果为( A ) i nt x=-3; int y=-10; 、-1B、2 C、1 D、3 23.以下关于继承的叙述正确的是()。

JAVA语言程序设计期末考试试题及答案

J A V A语言程序设计期末考试试题及答案 TTA standardization office【TTA 5AB- TTAK 08- TTA 2C】

J A V A语言程序设计考试试题及部分答案 一、单选题:(每题1分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项的标记写在题干后的括号内。 1.下列语句序列执行后,k 的值是( B )。 int m=3, n=6, k=0; while( (m++) < ( -- n) ) ++k; A) 0 B) 1 C) 2 D) 3 2.设 i、j 为int型变量名,a 为int型数组名,以下选项中,正确的赋值语句是( B )。 A) i = i + 2 B) a[0] = 7; C) i++ - --j; D) a(0) = 66; 3.Java语言的类间的继承关系是( B )。 A) 多重的 B) 单重的 C) 线程的 D) 不能继承 4.设有定义 int i = 6 ;,则执行以下语句后,i 的值为( C )。 i += i - 1; A) 10 B) 121 C) 11 D) 100 5.下列选项中,用于在定义子类时声明父类名的关键字是( C )。 A)interface B) package C) extends D) class 6.若已定义 byte[ ] x= {11,22,33,-66} ; 其中0≤k≤3,则对x数组元素错误的引用是( C )。 A) x[5-3] B) x[k] C) x[k+5] D) x[0]

7.下列语句序列执行后,ch1 的值是( B )。 char ch1='A',ch2='W'; if(ch1 + 2 < ch2 ) ++ch1; A) 'A' B) 'B' C) 'C' D) B 8.下列语句序列执行后,i 的值是( D )。 int i=8, j=16; if( i-1 > j ) i--; else j--; A) 15 B) 16 C) 7 D) 8 9.下列语句序列执行后,k 的值是( C )。 int i=10, j=18, k=30; switch( j - i ) { case 8 : k++; case 9 : k+=2; case 10: k+=3; default : k/=j; } A) 31 B) 32 C) 2 D) 33 10.下面语句执行后,i 的值是( B )。 for( int i=0, j=1; j < 5; j+=3 ) i=i+j; A) 4 B) 5 C) 6 D) 7 11.设有定义 float x=, y=, z=;则以下的表达式中,值为true的是( B )。 A) x > y || x > z B) x != y

《JAVA语言程序设计》期末考试试题及答案

《JA V A语言程序设计》期末考试试题及答案 (应考必备题库) 一、单选择题 1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。 A. java B. .class C. html D. .exe 2、设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是( )。 A. 3 B. 3. 5 C. 4 D. 5 3、不允许作为类及类成员的访问控制符的是( )。 A. public B. private C. static D. protected 4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。 A. static void method( ) B. public void method( ) C. final void method( ) D. abstract void method( ) 二、填空题 1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、 编译生成字节码和解释运行字节码。 2、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占 用2字节内存空间,这样,无论是中文字符还是英文字符,都是占 用2字节内存空间。 3、设x = 2 ,则表达式( x + + )/3 的值是0 。 4、若x = 5,y = 10,则x < y和x >= y的逻辑值分别为true和false。 5、抽象(abstract) 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。最终(final)方法是不能被当前类的子类重新定义的方法。 6、创建一个名为MyPackage 的包的语句是package MyPackage ; , 该语句应该放在程序的位置为:应该在程序第一句。 7、设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以下几个语句后的输出结果是120。

java_期末考试试题(含答案)

1、如下哪个是Java中有效的关键字。( C、false ) 2、下面的代码段执行之后count的值是什么。( D、16 ) int count=1; for(int i=1;i<=5;i++){ count+=i; } System.out.println(count); 3、下列哪一个import命令可以使我们在程序中创建输入/输出流对象。( C、import java.io.*; ) 4、下列选项中,不属于Java语言特点的一项是。( C、编译执行 ) 5、阅读下列代码段,选出该代码段的正确的文件名。( D ) class A{ void methodl(){ System.out.println(”methodl in class A”):} } public class B{ void method2(){ System.out.println(”method2 in class B”):} public static void main(String args[]){ System.out.println(”main()in class B”): } } A、A .java B、A.class C、B.class D、B.java 6、下面哪条语句把方法声明为抽象的公共方法。( C.public abstract void method(){} 7、编译下面源程序会得到哪些文件。( D ) class A1{ }class A2{ } public class B{ public static void main(String args[ ]){ } } A、只有B.class文件 B、只有A1.Class和A2.class文件 C、有A1.class、A2.Class和B.class文件 D、编译不成功 8、定义类头时能使用的修饰符是(C、protected )。 A、private B、static C、protected D、abstract 9、为了区分重载多态中同名的不同方法,要求( A、形式参数个数或者类型不同 A、形式参数个数或者类型不同 B、返回值类型不同 C、调用时用类名或对象名做前缀 D、形式参数名称不同 10、float类型数据和double类型数据做加法,得到结果的类型是(C、double类型 )。 11、如果在编译Java程序时,编译结果报告说找不到要编译的代码,通常的错误不是如下的哪一项?(B、文件名拼写错误) 12、int类型被包装在如下的哪一个类中?( B、java.1ang.Integer ) 13、关于对下列代码段的描述,正确的一项是( C )。 catch(Exception e){ System.Err. println(“An exception was thrown”); throw e; } A、程序终止 B、编译出错 C、该异常不会被处理 D、该异常会继续被上层处理 14、下列说法中,错误的一项是( C )。 A、内部类是被定义于另一个类中的类 B、使用内部类实现监听器,在编程时比较容易实现 C、内部类对象可以访问外部类的成员方法和变量,包括私有成员

java期末考试试题(含答案)

模拟B卷 考试说明: 1.使用Eclipse编写程序。项目名称为:班级_姓名_学号_卷号。注意:卷号为A或B 2.在项目文件夹下新建一个文本文件,文件名为:答案.txt 3.将编程题外的所有题目写在文本文件中,答案要标明题号。 注意:考试期间遇到死机等问题,需要请示老师,切勿自行解决。否则后果自负。 一、单项选择题:共20题,每小题1分,满分20分 1、下列选项中,不属于Java语言特点的一项是。( D ) A、安全性 B、分布式 C、面向对象 D、编译执行 2、Java语言和c++语言相比,哪一项是Java有的,而c++没有?( C ) A、面向对象 B、有类库 C、跨平台 D、动态链接 3、如下哪个不是Java中有效的变量名。( A ) A、 if B、hello C、name D、good 4、下列不属于Java保留字的一个是( B )。 A、else B、Unicode C、if D、static 5、现有2个char,类型的变量al=’a’、a2=2,当执行al=(char)(al+a2);语句之后,al的值应 该是( C )。 A、’a’ B、12 C、’c’ D、语句在编译时出错 6、下列关于int类型和long类型的说法中,正确的一个是( A )。 A、int类型可以自动转换为long类型 B、long类型可以自动转换为int类型 C、long类型占的存储空间比int类型的小 D、long类型和int类型数据能表示整数的范围一样 7、下列类的定义中,错误的是( B )。 A、class y{ .... } B、public x extends y{ .... } C、public class x extends y{ .... } D、class x extends y implements y1{ .... } 8、执行语句int i = 1, j = ++i; 后i与j的值分别为( D )。 A、1与1 B、2与1 C、1与2 D、2与2 9、为了区分重载多态中同名的不同方法,要求( C )。 A、调用时用类名或对象名做前缀 B、返回值类型不同 C、形式参数个数或者类型不同 D、形式参数名称不同 10、定义类头时能使用的修饰符是( C )。 A、private B、static C、protected D、abstract 11、如果在编译Java程序时,编译结果报告说找不到要编译的代码,错误是( D )

相关文档
相关文档 最新文档