java模拟试题

更新时间:2023-11-07 16:51:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、 填空题(1分/空,20分) 1. 在使用Eclipse开发Java程序之前,必须安装 。 2. 在Java面向对象程序设计中,一个类可以继承 个父类。 3. Eclipse开发平台提供了一种机制,可以扩展其功能,这种机制是 。 4. Java的I/O流可以分为字节流和 。 5. 通常启动一个线程的方法是 。 6. 在使用Socket构建网络通信程序时,从Socket对象获得 可以发送和接收数据。 7. 在Eclipse中,通过 可以统一修改被多次引用的类或者变量等的名字。 8. 用Java开发Web程序的主要技术包括Servlet和 。 9. JSP程序在执行时,需要首先被编译成 。 10.能够嵌入到浏览器中执行的Java程序是JavaFX和 。 11.JSP程序提供了几个隐含的对象,要实现多个用户之间的数据共享,一般用 对象。 12.JDK提供了一个工具可以把Java源程序中的文档注释提取出来,这个工具是 。 13.在使用JDBC编写访问数据库的程序时,需要首先装载 。 14.Java技术平台一般划分为三个系列:Java SE,Java ME和 。 15.在Java的串行化机制中,如果有些变量不需要被串行化,应该使用关键字 。 16.如果要在Swing组件JPanel表面画图,那么最好重写它的 方法。 17.已知学生甲在寝室用Eclipse开发了一个Java程序,其Eclipse项目的名字是MyApp,该生到实验室后,想在Eclipse中继续开发该项目,最好用Eclipse提供的 功能,把该项目装入工作区。 18.在子类中调用父类的无参构造方法是 。 19.Java集合框架提供的LinkedList,ArrayList,TreeSet集合中, 会对加入的元素进行排序。 20.Java第一次正式公开发布的日期是 。 二、 单项选择题(1分/每小题,共20分) 1. 给定类Hello中的main方法,

public static void main(String a[]){ System.out.println(a[0]); }

命令行调用语句是:java Hello one two three 输出结果是:( )

A、Hello B、one

C、two D、所有的都不对

2. 对于构造函数,下列叙述正确的是( )。

A、 构造函数不允许重载。 B、构造函数没有返回类型。

C、子类不允许调用父类的构造函数。

D、在同一个类中定义的重载构造函数不可以相互调用。

3. 下面关于继承的哪个叙述是正确的( )。

A、在java中只允许单一继承;

B、在java中一个类只能实现一个接口;

C、在java中一个类不能同时继承类和实现接口; D、在java中允许多继承;

4. 请问Java中的异常或者错误类皆继承哪一个类?( )

A. java.io.Exception B. java.lang.Throwable C. java.lang.Exception D. java.lang.Error

5. 下面哪一行语句在编译的时候没有警告和错误( )

A、float f=1.3; B、int i=10;

C、boolean b=null; D、char c=“a”;

6. 下面哪个不是Java关键字或者保留字( )

A、if B、then C、 default D、case

7. 下面程序的执行结果是( ) Boolean b1 = true; Boolean b2 = true; Boolean b3=new Boolean(true); if (b1 == b2) if (b1==b3) System.out.println(\

else

System.out.println(\ else

if (b1.equals(b2))

System.out.println(\ else

System.out.println(\

A、a B、b C、c D、d

8. 下面哪个不属于Java集合框架中的接口:( )

A、 Set; B、 List ; C、Iterator ; D、Collections

9. 已知一个事件ActionEvent,下面哪个方法得到事件源组件?

A、getTarget();

B、getEventSource(); C、getSource();

D、getActionCommand( )

10.已知一个字符串s=“ABCDEFGHI”,求子字符串s.substring(4)结果为( )。

A、“DEF” B、“DEFG” C、“EFGHI” D、“DEFGHI”

11.Java EE 5不包含的技术是( )

A、Applet B、Servlet C、EJB D、JSF

12.语句System.out.println(-1>>>1);的的输出结果是( )

A、-1 B、0 C、2147483647 D、-2147483648

13.编译和运行下面的代码时将会发生什么情况:( )

class Test {

static int myArg = 1;

public static void main(String[] args) { int myArg;

System.out.println(myArg); } }

A、输出结果为0; B、输出结果为1;

C、不能编译成功,因为局部变量的名字和静态变量的名字相同 D、不能编译成功,因为局部变量在使用前必须初始化。

14.已知一个Java Web程序MyWebApp,部署于Tomcat服务器的webapps文件夹,新创建一个servlet类,名字叫MyNewServlet.class,这个类应该部署在哪个文件夹中才能正常使用。( )

A、D:\\tomcat\\webapps\\MyWebApp

B、D:\\tomcat\\webapps\\MyWebApp\\classes

C、D:\\tomcat\\webapps\\MyWebApp\\WEB-INF\\classes D、D:\\tomcat\\webapps\\MyWebApp\\WEB-INF\\lib

15.支持EJB技术的服务器是( )

A、Tomcat B、Resin C、Jetty D、WebSphere CE

16.开发并部署一个Java Web程序到Tomcat服务器,不需要修改的文件是:( )

A、web.xml B、context.xml C、server.xml D、config.xml

17.当多个web请求需要同一个Servlet处理时,下面哪个说法是正确的( )

A、Web服务器重新装载一次Servlet;

B、为每个Web请求创建一个Servlet对象;

C、不为每个请求创建单独的Request对象和Response对象; D、同一个Servlet对象处理所有的请求。

18. 要实现同一个用户的不同请求之间的数据共享,最好把这些数据放在哪个JSP隐含对象中。( ) A、session B、request C、application D、pageContext

19. 在编写一个JSP文件时,需要使用JDK提供的java.util包中的类,应该使用

JSP的什么指令。( ) A、<%@include file=“java.util.*”%>

B、<%@ page import= “java.util.*”%> C、 D、<%@ page import= “java.*”%>

20. 已知Java Web程序myapp的配置文件Web.xml的片段如下:

HelloWorld HelloWorld servlet.HelloWorld

HelloWorld *.do

当把myapp部署到本地的Tomcat服务器,并启动后,下面哪些请求不能够被该Servlet处理。( )

A、http://localhost:8080/myapp/all/2/.do B、http://localhost:8080/myapp/all/all.do C、http://localhost:8080/myapp/helloword、

三、 判断题(1分/每小题,共

10分,√为正确, ×为错误)

1. 静态方法可以被重载。( ) 2. 抽象类必须包含抽象方法。( )

3. 内部类的方法不能够访问外部类定义的成员变量。( ) 4. 类InputStreamReader是FileReader的父类。( )

5. 当执行System.gc()时,立即回收Java虚拟机中无用内存()。

6. 一个Java源程序文件中,可以同时定义一个public类和一个public接口。( ) 7. Java把数组当作对象。( )

8. 子类可以继承父类的私有方法。( ) 9. 可以根据返回类型区分重载方法。( )

10. java.sql.RowSet是java.sql.ResultSet的子类( )。

四、 程序分析题(4分/每小题,5题,共20分)

1. 读程序写输出结果。

class SuperClass {

SuperClass() {

System.out.println(super.getClass().getName());

}

void show() {

System.out.println(super.getClass().getName());

}

}

public class SubClass extends SuperClass {

void show() {

super.show();

System.out.println(super.getClass().getName());

}

public static void main(String args[]) {

SuperClass s = new SubClass(); s.show();

}

}

2. 已知类Test在文件\中,读程序写输出结果,

import java.util.Scanner; public class Test {

public static void main(String[] args) {

Scanner scan = new Scanner(

\

while (scan.hasNext()) {

System.out.println(scan.next());

}

}

}

3. 读程序写结果。在Eclipse中创建一个Java项目test,创建一个类Test如下。 package test; import java.io.*; public class Test {

public static void main(String argv[]) {

Test p = new Test();

System.out.println(p.show());

}

public int show() {

try {

FileInputStream din =

new FileInputStream(\

din.read();

} catch (IOException ioe) {

System.out.println(\ return 99;

} finally {

System.out.println(\ return -1;

}

}

}

4. 读程序写结果。

public class Test {

public static void main(String argv[]) {

int i = 3; switch (i) { default:

System.out.println(\ for (; i > 0; i--)

if (i > 1) {

continue;

} else {

{

System.out.println(i); break;

}

}

case 0:

System.out.println(\ break;

case 1:

System.out.println(\

case 2:

System.out.println(\

}

}

}

5. 读程序写结果。

class Mammal {

Mammal() {

System.out.println(\

}

Mammal(String ears) {

super();

}

public void ears() {

System.out.println(\

}

}

class Dog extends Mammal {

Dog(String ears) {

super(ears);

} Dog() {

this(\ super.ears();

System.out.println(\

}

}

public class HotDog extends Dog {

public static void main(String argv[]) {

System.out.println(\ HotDog h = new HotDog();

}

}

五、 简答题(4分/每小题,6题,共24分) 1. 简单回答Java的基本特点。 2. 简单回答JDK,JRE,JVM的区别。

3. 请简述抽象类与接口的区别和相同点。

4. 简述创建线程的方法。

5. 简述使用JDBC访问数据库的基本过程。 6. 简单回答JSP的基本生命周期。

六、 思考题(3分/每小题,2题,共6分) 1. 简单描述一下你对Java的认识和想法。

2. 如何获得一个Java Web程序中所有的JSP和Servlet的名字。

一、 填空题(1分/空,20分) 1.JDK(或者JRE)

5.start() 9.Servlet 13.驱动程序 17. 导入(或者import)

2. 一 6.输入/输出流 10. Applet 14. Java EE 18. super()

3. 插件

7.重构(或者重命名) 11. Application 15. transient 19. TreeSet

4.字符流 8.JSP 12.Javadoc 16. paintComponent 20. 1995年5月(年

就可以)

二、 单项选择题(1分/每小题,共20分) 序号 答案 序号 答案 1 B 11 A 2 B 12 C 3 A 13 D 4 B 14 C 5 B 15 D 6 B 16 D 7 B 17 D 8 D 18 A 9 C 19 B 10 C 20 C 三、 判断题(1分/每小题,共10分,√为正确, ×为错误) 序号 答案 1 √ 2 × 3 × 4 √ 5 × 6 × 7 √ 8 × 9 × 10 × 四、 程序分析题(4分/每小题,5题,共20分,答对一部分,根据答对的多少,酌情给分) 1. SubClass

SubClass SubClass

2. D:/program

files/my app/src/Test.java

3. Exception occur

successfully

-1

4. default

1 zero

5. four

two three

五、 简答题(4分/每小题,6题,共24分)

1. 简单,面向对象,分布式,健壮性,安全,体系结构中立与可移植,解释执行,高性

能,多线程,动态

2. (参考这个思路)JDK包含JRE和开发工具,JRE又包含JVM和运行时API。 3. (比下面回答更充分的也对)1)抽象类不能直接创建对象,接口也不能创建对象,但

是可以声明他们的变量;2)接口中定义的变量都是常量,接口中定义的方法都是抽象的,没有实现,而抽象类可以实现自己的方法,抽象类中定义的变量和一般类定义的变量是类似的。

4. (参考这两种方法)1)继承Thread类,然后创建该子类的对象;2)实现Runnable

接口,然后把该类的对象传递个Thread对象。

5. 1)装载驱动程序;2)创建数据库连接;3)构建访问数据库的SQL语句,4)使用Statement

对象执行SQL语句;5)检索结果

6. (参考下面的思路)1)服务器接收到访问JSP的请求;2)如果是第一次使用该JSP,

则服务器把找到JSP后,把它编译成Servlet。3)服务器装载新生产的Servlet,创建对象,并执行初始化方法,4)服务器创建一个新线程来处理客户请求,执行service方法,5)把结果返回客户;6)当服务器不再需要Servlet时(比如当Server要关闭时),Server调用Servlet的destroy方法。

六、 思考题(3分/每小题,2题,共6分)

1. 从两方面考虑,1)是否有综合性的认识;2)是否有独特的认识。 2. (基本思路)1)通过解析web.xml文件;2)通过服务器提供的管理API 参考答案(部分

Java模拟试题(第4套)

一、判断题(每题1分,共16分)

1.如果p是父类Parent的对象,而c是子类Child的对象,则语句c = p是正确的。

2.当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定终止运行。 3.用\可以实现字符串的拼接,用- 可以从一个字符串中去除一个字符子串。 4.使用方法length( )可以获得字符串或数组的长度。 5.一个容器中可以混合使用多种布局策略。

6.Java中,并非每个事件类都只对应一个事件。

7.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。 8.Java Applet是由独立的解释器程序来运行的。 9.Java Applet只能在图形界面下工作。 10.Java的字符类型采用的是ASCII编码。

11.Java的各种数据类型占用固定长度,与具体的软硬件平台环境无关 12.Applet是一种特殊的Panel,它是Java Applet程序的最外层容器。 13.System类不能实例化,即不能创建System类的对象。

14.用户自定义的图形界面元素也可以响应用户的动作,具有交互功能

15.Java中数组的元素可以是简单数据类型的量,也可以是某一类的对象。 16.Java中的String类的对象既可以是字符串常量,也可以是字符串变量。

二、选择题 (每题3分,共24分)

1、编译运行以下程序后,关于输出结果的说明正确的是 ( ) public class Conditional{

public static void main(String args[ ]){ int x=4;

System.out.println(\ } }

A、输出结果为:value is 99.99 B、输出结果为:value is 9 C、输出结果为:value is 9.0 D、编译错误

2、以下声明合法的是( )

A、default String s; B、public final static native int w( )

C、abstract double d; D、abstract final double hyperbolicCosine( )

3、关于以下application的说明,正确的是( ) 1. class StaticStuff 2. {

3. static int x=10; 4. static { x+=5;}

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

7. System.out.println(\8. }

9. static { x/=3;} 10. }

A、4行与9行不能通过编译,因为缺少方法名和返回类型 B、9行不能通过编译,因为只能有一个静态初始化器 C、编译通过,执行结果为:x=5 D、编译通过,执行结果为:x=3

4、关于以下程序代码的说明正确的是( ) 1.class HasStatic{

2. private static int x=100;

3. public static void main(String args[ ]){ 4. HasStatic hs1=new HasStatic( ); 5. hs1.x++;

6. HasStatic hs2=new HasStatic( );

7. hs2.x++;

8. hs1=new HasStatic( ); 9. hs1.x++;

10. HasStatic.x- -;

11. System.out.println(\12. }

13. }

A、5行不能通过编译,因为引用了私有静态变量 B、10行不能通过编译,因为x是私有静态变量 C、程序通过编译,输出结果为:x=103 D、程序通过编译,输出结果为:x=102

5、以下选项中循环结构合法的是( ) A、while (int i<7) { i++;

System.out.println(\ }

B、 int j=3; while(j)

{ System.out.println(\}

C、int j=0;

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

{ System.out.println(\}

D、 int j=0; do{

System.out.println( \ if (j = = 3) {continue loop;} }while (j<10);

6、类Test1定义如下: 1.public class Test1{

2. public float aMethod(float a,float b){ } 3. 4.}

将以下哪种方法插入行3是不合法的。( )

A、public float aMethod(float a, float b,float c){ } B、public float aMethod(float c,float d){ } C、public int aMethod(int a, int b){ }

D、private float aMethod(int a,int b,int c){ }

7、类Test1、Test2定义如下: 1.public class Test1

2.{ public float aMethod(float a,float b) throws 3. IOException { } 4. }

5. public class Test2 extends Test1{ 6. 7.}

将以下哪种方法插入行4是不合法的。( )

A、float aMethod(float a,float b){ }

B、public int aMethod(int a,int b)throws Exception{ } C、public float aMethod(float p,float q){ }

D、public int aMethod(int a,int b)throws IOException{ }

8、关于以下程序段,正确的说法是( ) 1. String s1=\

2. String s2=new String(s1); 3. if(s1= =s2)

4. System.out.println(\5. if (s1.equals(s2))

6. System.out.println(\A、行4与行6都将执行 B、行4执行,行6不执行 C、行6执行,行4不执行 D、行4、行6都不执行

三、改错题(共20分)

判断下面的程序片断是否正确。若有错,指出错在哪里并改正;若正确,打\√\。 1、class parent {

private int mine; int getMine( ) {

return mine; } }

class child extends parent {

int mine;

int getMine( )

{ return super.getMine; } }

2、 class AmIWrong {

int data1,data2; AmIWrong()

{ data1=-1; } AmIWrong(int d) { data2=d; this(); } }

3、interface MyInterface {

void method1(); }

abstract class Parent implements MyInterface { }

class Child extends Parent {

void method1()

{

System.out.println(\ } }

4、public static void main(String args[ ]) {

try{

char ch=(char)System.in.read(); . . .//其他语句 }

catch(Exception e) {

return; }

catch(IOException e) {

System.out.println(e.toString()); } }

5、public class AmIWrong implements Runnable {

Thread mt=Thread(this); mt.start(); void run() {

System.out.println(\ } }

四、程序阅读 (每题5分,共20分) 1、 阅读以下程序段: class Parent {

void printMe() {

System.out.println(\ } }

class Child extends Parent {

void printMe() {

System.out.println(\ }

void printAll() {

super.printMe(); this.printMe(); printMe(); } }

public class Test_this

{

public static void main(String args[ ]) {

Child myC=new Child(); myC.printAll(); } }

输出结果为:_________。

2、以下程序段的输出结果为_________。 public class EqualsMethod {

public static void main(String[] args) { Integer n1 = new Integer(47); Integer n2 = new Integer(47); System.out.print(n1= =n2); System.out.print(\

System.out.println(n1! =n2); } }

3、已有Bird类的定义如下: package abcde;

public class Bird {

protected static int referenceCount=0; public Bird(){referenceCount++;} protected void fly(){ }

static int getReCount(){return referenceCount;} }

有类Nightingale的定义如下,请写出它的输出结果______。 package singers;

class Nightingale extends abcde.Bird { Nightingale( ) { referenceCount++;}

public static void main( String args[ ]){ System.out.print(\ Nightingale florence=new Nightingale( );

System.out.println(\ florence.fly( ); } }

4、以下程序段的输出结果为______。 class Cruncher{

void crunch( int i ){

System.out.println(\ }

void crunch(String s){

System.out.println(\ }

}

System.out.println(\ } }

2、参考程序如下:

import java.applet.* ; import java.awt.* ;

public class abc extends Applet {

Complex a,b,c ;

public void init( ) {

a = new Complex(1,2); b = new Complex(3,4); c = new Complex(); }

public void paint(Graphics g) { c=a.complexAdd(b);

g.drawString(\第一个复数:\ g.drawString(\第二个复数:\ g.drawString(\两复数之和:\ } }

class Complex {

int RealPart ; // 复数的实部 int ImaginPart ; // 复数的虚部

Complex() { RealPart = 0 ; ImaginPart = 0 ; } Complex(int r , int i)

{ RealPart = r ; ImaginPart = i ; } Complex complexAdd(Complex a) {

Complex temp = new Complex( ); // 临时复数对象 temp.RealPart=RealPart+a.RealPart;

temp.ImaginPart=ImaginPart+a.ImaginPart; return temp; }

public String toString( )

{ return ( RealPart+\} }

四、 编程题(1、2题10分;3题11分,共31分)

1. 构造一个类来描述屏幕上的一个点,该类的构成包括点的x和y两个坐标,以及一些对点进行的操作,包括:取得点的坐标值,对点的坐标进行赋值,编写应用程序生成该类的对象并对其进行操作。

2. 编写一个应用程序,完成文件的拷贝功能,文件名从命令行得到。

3. 利用所学的Java语言知识,完成一个实现秒表功能的Applet程序。它的GUI界面如下所示: 利用所学的Java语言知识,完成一个实现秒表功能的Applet程序。它的GUI界面如下所示:

要求该程序能够完成以下功能:

(1) 在界面上方的文本框中,按照\小时:分钟:秒\的顺序实时显示系统时间; (2) 当按下界面中间的\按钮时,当前系统时间能够在界面下方的文本框中显示出来。

提示:可以通过调用java.util.Data类的方法,获得系统时间。Data类的接口如下所示, public class Date {

// 返回当前系统时间的小时值 public String getHours( ) { …} // 返回当前系统时间的分钟值 public String getMintues( ) { … } // 返回当前系统时间的秒钟值 public String getSeconds( ) { …} … }

Java模拟试题(第2套)

一、 填空题(1分/每小题,共20分)

1、在运行Java程序之前,必须安装 ;

2、Java的类体系结构中,根类是________________;

3、在Java程序中,类的定义只能实现单继承,但通过接口的定义可以实现_____重继承关系;

4、在Java源程序文件中有三种形式的注释,分别是:单行注释、多行注释及___________; 5、for(int e:a)就是___________的意思;

6、类的成员变量和成员方法的访问权限有public、_______________和default

7、如果子类重写了父类的某个方法后,用父类型变量引用子类对象时,调用这个方法时一定是调用_____________;

8、用于进行字符串分割的类是 ;

9、使用________可以清除不安全的类型转化,在编译时可以进行类型检查; 10、a = b / c可能产生_____________异常;

11、Java的输入输出流可分为字节流和__________。

12、线程的线程体方法为run(),要启动这个线程的方法为__________; 13、_________是Panel,Applet的缺省布局管理器;

14、在java.sql.*包中处理处理具有毫秒级的时间的类是____________;

15、__________是平台独立的软件组件模型,使软件开发者可以设计可重用的软件组件。 16、在sokect通信中服务器的任务就是等候建立一个连接,产生的Socket 的方法是_______; 17、在 Java 早期的版本中,JVM 资源访问通过_________安全模型来实施;

18、________就是用 Java 编写的服务器端程序,是由服务器端调用和执行的 Java 类; 19、J2EE平台提供了一个______的分布式应用程序模型;

20、Java虚拟机执行过程中的三个特点是多线程、______、异常处理。

二、 改正程序Question2.java中的错误。(2分/每个错,共10分)

1. // Question2.java 2. import java.util.*; 3. class ExceptionTwo {

4. public static void main(String arg[]){

5. FileInputStream fis =new FileInputStream(\6. int b;

7. while((b=fis.read())) { 8. system.out.print(b); 9. }

10. fis.close(); 11. } 12. }

格式如右: 4) arg ?args (表示4行的arg改成args)

三、 单项选择题(1分/每小题,共20分)

1、 关于Servlet的论述,正确的是()

A、Servlet就是一般的Java程序,和Applet一样。 B、Servlet可以通过java servlet-name直接运行

C. 有些Servlet是需要在客户端运行的

D、我们常说的Servlet是运行在服务器端Java程序

2、 如果类中的成员变量可以被同一包访问,则使用如下哪个约束符:() A、private。 B、public C、protected D、没有约束符

3、 下面哪个事件监听器在Java中没有事件适配器?() A、MouseListener B、KeyListener C、ActionListener E、WindowListener

4、 对于构造函数,下列叙述正确的是( )。 A、构造函数不允许重载。 B、构造函数没有返回类型。

C、子类不允许调用父类的构造函数。

D、在同一个类中定义的重载构造函数不可以相互调用。 5、 TextArea对象不能注册下列哪个接口? ( )

A、 TextListener B、 ActionListener C、 MouseMotionListener 和MouseListener D、 ComponentListener 6. 下面应用程序中的main()方法声明是正确的( )。 A、public static void main()

B、public static void main(String[] string) C、public static void main(String args) D、static public int main(String[] args) 为了使下面的程序的输出结果是“running”,因该在注释//A处填写什么 代码( )。

class RunTest implements Runnable {

public static void main(String[] args) { RunTest rt = new RunTest(); Thread t =new Thread(rt); //A }

public void run() {

System.out.println(\ }

void go() { start(1); }

void start(int i) { } }

选择项如下:

A、 rt.run() B、 t.start() C、 rt.go() D、 rt.start(1) 8、下面关于继承的哪个叙述是正确的( )。

A、 在java中只允许单一继承;

B、在java中一个类只能实现一个接口;

C、在java中一个类不能同时继承一个类和实现一个接口; D、在java中允许多继承

9、 关于垃圾收集的那些描述是对的( )。

A、程序开发者必须自己创建一个线程进行内存释放的工作; B、垃圾收集将检查并释放不再使用的内存;

C、垃圾收集允许程序开发者明确指定并立即释放该内存; D、垃圾收集能够在期望的时间释放被java对象使用的内存; 10、下列哪项不是子类继承方法的规则( )。

A. 能够继承那些声明为public和protected的成员方法。 B. 能够继承同一包中的默认修饰符的成员方法。 C. 不能继承那些声明为private的成员方法。 D. 继承超类的构造方法。

11、 请问所有的异常类皆继承哪一个类?( )。 A. java.io.Exception B. java.lang.Throwable C. java.lang.Exception D. java.lang.Error 12、 给出下面的代码: class Base { }

class Derived extends Base{ public String getFields(){

String name = \ return name;

} }

public class Test{

public static void main(String argv[]){ Base a = new Derived (); //Here } }

哪一行代码放在//Here处会产生“Derived”输出结果( )。

A. System.out.println(a.getFields()); B. System.out.println(a.name); C. System.out.println((Base) a.getFields()); D. System.out.println( ((Derived) a).getFields()); 13、已知一个字符串s=”ABCDEF”,求子字符串s.substring(2,4)结果为( )。

A. “CDE” B. “CD” C. “BC” D. “CDEF”

14、下面那个语句声明的变量a不可以引用一个包含50个字符串对象的数组?( )

A. char a[][]; B. String []a; C. Object a[50]; D. String a[50];

15、下面说法正确的是( )。

A. 默认构造方法可以有返回类型 B. 默认构造方法可以接受参数 C. 默认构造方法不能接受参数

D. 如果已经有其他构造方法存在,默认的构造方法不创建就可以调用。 16、 选择输出结果

public class Test {

public static void changeStr(String str){ str=\ }

public static void main(String[] args) { String str=\ changeStr(str);

System.out.println(str); } }

A. 1234 B. welcome

C. 1234welcome D. welcome1234

17、给出如下代码:

class Test{

private int m;

public static void fun() { // some code... } }

如何使成员变量m 被函数fun()直接访问? A、将private int m 改为protected int m B、将private int m 改为 public int m C、将private int m 改为 static int m D、将private int m 改为 int m

18、下面哪一个不是InputStream类中的方法? A. int read(byte[]) B. void flush() C. void close() D. int available()

19、已知一个事件ActionEvent,下面哪个方法得到事件源组件? A、getTarget(); B、getClass(); C、getSource();

D、getActionCommand();

20、当浏览器返回到新URL的包含applet 的页面时调用以下哪个函数? A、init() B、start() C、stop()

D、destroy()

四、 判断题(1分/每小题,共10分)(T为正确,F为错误) 1. Java 的基本数据类型与平台有关的。( ) 2. 包含抽象方法的类必须被声明为抽象类。( ) 3. 构造方法可以被声明为private。( ) 4. 类InputStream是FileReader的父类。( ) 5. 构造方法可以有void 返回类型。( )

6. 任何类都有构造函数,如果没有构造函数,就不能创建该类的对象。( ) 7. String s = new String(\创建了1个String 对象。( ) 8. Math.round(-11.5)返回-11。( ) 9. 数组有length()方法。( ) 10.Java把数组当作对象看待。( )

五、 程序分析题(3分/每小题,共15分)

1、请写出testing()被调用时的输出结果 void testing() { one:

for (int i = 0; i <=3; i++) { two:

for (int j = 10; j < 30; j+=10) { System.out.println(i + j);

if (i > 2)

break one;

} }

}

2、请写出输出结果

public class Test{

public static String output=\ public static void foo(int i){ try {

if(i==1){

throw new Exception(); } output +=\

} catch(Exception e){

output+=\ return;

} finally{ output+=\

}

output+=\ }

public static void main(String args[]){ foo(0);

foo(1);

System.out.println(output); } } 3、请写出下面程序的输出结果

package test; //父类:

public class FatherClass { public FatherClass() {

System.out.println(\ } }

package test; //子类: import test.FatherClass;

public class ChildClass extends FatherClass { public ChildClass() {

System.out.println(\}

public static void main(String[] args) { FatherClass fc = new FatherClass();

ChildClass cc = new ChildClass(); } }

4、请写出下面程序的输出结果 package test;

public class OuterClass { private class InterClass { public InterClass() {

System.out.println(\ } }

public OuterClass() {

InterClass ic = new InterClass();

System.out.println(\}

public static void main(String[] args) { OuterClass oc = new OuterClass(); } }

5、 请写出下面程序的输出结果 class Vehicle {

public void drive() {

System.out.println(\ } }

class Car extends Vehicle { public void drive() {

System.out.println(\ } }

public class Test {

public static void main (String args []) { Vehicle v; Car c;

v = new Vehicle(); c = new Car(); v.drive(); c.drive(); v = c;

v.drive(); } }

.

六、 简答题(3分/每小题,共15分)

1、 简述重写和重载的区别。 2、 简述Servlet的生命周期。

3、 JSP有哪些内置对象?作用分别是什么。 4、 简述MVC设计模式的含义。 5、 简述J2EE的基本概念。 七、 编程题:(5分/每小题,共10分)

1、创建两个线程,每个线程打印出本线程名后再休眠。同时,主线程打印出自己的线程名后也要休眠。每个线程前后共休眠5次。各线程均休眠1秒钟。要求采用实现Runnable接口的方法来实现程序。

2、编写程序FileCopy.java完成文件的拷贝功能,要求源文件和目的文件的文件名称从命令行输入。

参考答案

一、 填空题(1分/每小题,共20分) 1、jdk或jre

2、java.lang.Object 3、多

4、文档注释

5、for each e in a 6、private及protect 7、子类重写的这个方法 8、StringTokenizer 9、generics

10、java.lang.ArithmeticException 11、字符流 12、 start() 13、FlowLayout

14、java.sql.Timestamp 15、JavaBeans; 16、accept(); 17、“沙箱” 18、Servlet 19、多层结构 20、动态连接

二、 改正程序中的错误。(1分/每个错,共5分) // Question2.java

import java.io.*; (1) class Question2 { (2) public static void main(String args[]) throws IOExecption{ (3) FileInputStream fis =new FileInputStream(\ int b;

while((b=fis.read())!=-1) { (4) System.out.print(b); (5) }

fis.close(); } }

三、 单项选择题(1分/每小题,共20分) 1)D 2)D 3)C 4)B 5)B 6.B 7.B 8.A 9.B 10.D 11.B 12.D 13.B 14.D 15.C 16.A 17.C 18.B 19.D 20.B

四、判断题(1分/每小题,共10分) 1.错 2.对 3.对 4.错 5.错 6.对 7.错 8.对 9.错 10.错

五、 程序分析题(3分/每小题,共15分) 1)输出结果: 10 20 11 21 12 22 13

2)Answer:13423

3)FatherClass Create FatherClass Create ChildClass Create 4)

InterClass Create OuterClass Create

5)输出结果: Vehicle: drive Car: drive Car: drive

六、 简答题(3分/每小题,共15分) 1、Overload和Override的区别

方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型

2)简述 SERVLET的生命周期?

答: (1) 装载Servlet,这一项操作一般是动态执行的。 (2) Server创建一个Servlet实例; (3) Server调用Servlet的init方法; (4) 一个客户端请求到达Server; (5) Server创建一个请求对象; (6) Server创建一个响应对象;

(7) Server激活Servlet的service方法,传递请求和响应对象作为参数;

(8) service方法获得关于请求对象的信息,处理请求,访问其他资源,获得需要的信息; (9) service方法使用响应对象的方法。将响应传回Server,最终到达客户端。service方法可能激活其他方法以处理请求。如doGet,doPost或其他程序员自己开发的方法 (10) 对于更多的客户端请求,Server创建新的请求和响应对象,仍然激活此Servlet的service方法,将这两个对象作为参数传递给它,如此重复以上的循环,但无需再次调用init方法,Servlet一般只初始化一次 (11) 当Server不再需要Servlet时(比如当Server要关闭时),Server调用Servlet的destroy方法。

3 jsp有哪些内置对象?作用分别是什么? JSP共有以下9种基本内置组件:

request 用户端请求,此请求会包含来自GET/POST请求的参数 response 网页传回用户端的回应

pageContext 网页的属性是在这里管理 session 与请求有关的会话期

application servlet 正在执行的内容 out 用来传送回应的输出 config servlet的构架部件 page JSP网页本身

exception 针对错误网页,未捕捉的例外

4)、MVC的各个部分都有那些技术来实现?如何实现?

答:MVC是Model-View-Controller的简写。\代表的是应用的业务逻辑(通过JavaBean,EJB组件实现), \是应用的表示面(由JSP页面产生),\是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。

5、J2EE是什么?

答:Je22是Sun公司提出的多层(multi-diered),分布式(distributed),基于组件(component-base)的企业级应用模型(enterpriese application model).在这样的一个应用系统中,可按照功能划分为不同的组件,这些组件又可在不同计算机上,并且处于相应的层次(tier)中。所属层次包括客户层(clietn tier)组件,web层和组件,Business层和组件,企业信息系统(EIS)层。

七、编程题:(5分/每小题,共10分) 1. 线程

import java.io.*;

public class NameUsingThread implements Runnable{ private int time;

private Thread thread; //the thread to execute the run method

public NameUsingThread(String n,int t){ time=t;

thread=new Thread(this,n); thread.start(); }

public void run(){

for(int i=1;i<=5;i++){

System.out.println(thread.getName()+\ try{

Thread.sleep(time);

}catch(InterruptedException e){return;} } }

public static void main(String args[]){

NameUsingThread bonnie=new NameUsingThread(\ NameUsingThread clyde=new NameUsingThread(\ for(int i=1;i<=5;i++){

System.out.println(Thread.currentThread().getName()+\ try{

Thread.sleep(1000);

}catch(InterruptedException e){return;} } } }

2. 输入输出

import java.io.*; class FileCopy{

public static void main(String args[])

throws IOException,FileNotFoundException, ArrayIndexOutOfBoundsException {

FileInputStream in=new FileInputStream(args[0]);

FileOutputStream out=new FileOutputStream(args[1]); int length;

byte buf[]=new byte[1024];

while((length=in.read(buf,0,1024))!=-1){ out.write(buf,0,length); } } }

Java模拟试题(第1套)

一、单选择题(每小题2分,共10分) 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、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( )方法来完成一些画图操作。

A. start( ) B. stop( ) C. init( ) D. paint( )

4、不允许作为类及类成员的访问控制符的是( )。 A. public B. private C. static D. protected

5、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。

A. static void method( ) B. public void method( ) C. final void method( ) D. abstract void method( )

二、填空题(每空格1分,共20分)

1、开发与运行Java程序需要经过的三个主要步骤为____________ 、________________和__________________。

2、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是___________类的子类并且存储该源程序文件的文件名为__________。 3、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译器________编译该源程序文件将产生_____个文件名与类名相同而扩展名为_____的字节码文件。 4、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用____字节内存空间,这样,无论是中文字符还是英文字符,都是占用____字节内存空间。 5、设 x = 2 ,则表达式 ( x + + )/3 的值是______。

6、若x = 5,y = 10,则x < y和x >= y的逻辑值分别为_____和______。

7、______方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。 方法是不能被当前类的子类重新定义的方法。

8、创建一个名为 MyPackage 的包的语句是____________,该语句应该放在程序的位置为:_________________。

9、设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以下几个语句后的输出结果是______。 int s = 0 ;

for ( int i = 0 ; i < MyIntArray.length ; i + + ) if ( i % 2 = = 1 ) s += MyIntArray[i] ; System.out.println( s );

10、在Java程序中,通过类的定义只能实现___重继承,但通过接口的定义可以实现___重继承关系。

三、写出下列程序完成的功能。(每小题5分,共20分) 1、public class Sum

{ public static void main( String args[ ]) { double sum = 0.0 ;

for ( int i = 1 ; i <= 100 ; i + + ) sum += 1.0/(double) i ;

System.out.println( \ } }

2、 import java.io.* ; public class Reverse

{ public static void main(String args[ ]) { int i , n =10 ;

int a[ ] = new int[10]; for ( i = 0 ; i < n ; i ++ ) try {

BufferedReader br = new BufferedReader( new InputStreamReader(System.in));

a[i] = Integer.parseInt(br.readLine( )); // 输入一个整数 } catch ( IOException e ) { } ; for ( i = n-1 ; i >= 0 ; i ―― ) System.out.print(a[i]+\\ System.out.println( ); } }

3、 import java.awt.*; public class abc

{ public static void main(String args[]) { new FrameOut(); } }

class FrameOut extends Frame //Frame为系统定义的窗框类 { Button btn; FrameOut( )

{ super(\按钮\

btn = new Button(\按下我\ setLayout(new FlowLayout( )); add(btn);

setSize(300,200); show( ); } }

4、import java.io.*; public class abc

{ public static void main(String args[])

{ SubClass sb = new SubClass( ); System.out.println(sb.max( )); } }

class SuperClass

{ int a = 10 , b = 20 ; }

class SubClass extends SuperClass { int max( ) { return ((a>b)?a:b); } }

四、写出下面程序的运行结果(每小题10分,共30分) 1、 import java.io.*; public class abc

{ public static void main(String args[ ]) { AB s = new AB(\ System.out.println(s.toString( )); } }

class AB { String s1; String s2;

AB( String str1 , String str2 ) { s1 = str1; s2 = str2; } public String toString( ) { return s1+s2;} }

2、 import java.io.* ; public class abc {

public static void main(String args[ ]) { int i , s = 0 ;

int a[ ] = {10 ,20 ,30 ,40 ,50 ,60 ,70 ,80 ,90 }; for ( i = 0 ; i < a.length ; i ++ ) if ( a[i]%3 = = 0 ) s += a[i] ; System.out.println(\ } }

3、import java.io.* ; public class abc {

public static void main(String args[ ]) { System.out.println(\} }

class SubClass extends SuperClass { int c;

SubClass(int aa,int bb,int cc) { super(aa,bb); c=cc; } }

class SubSubClass extends SubClass { int a;

SubSubClass(int aa,int bb,int cc) { super(aa,bb,cc); a=aa+bb+cc; }

void show()

{ System.out.println(\} }

五、使用Java语言编写程序。(每小题10分,共20分)

1、编写一个字符界面的Java Application 程序,接受用户输入的10个整数,并输出这10个整数的最大值和最小值。

2、编写一个完整的Java Applet 程序使用复数类Complex验证两个复数 1+2i 和3+4i 相加产生一个新的复数 4+6i 。

复数类Complex必须满足如下要求: (1)复数类Complex 的属性有:

RealPart : int型,代表复数的实数部分

ImaginPart : int型,代表复数的虚数部分 (2)复数类Complex 的方法有:

Complex( ) : 构造函数,将复数的实部和虚部都置0

Complex( int r , int i ) : 构造函数,形参 r 为实部的初值,i为虚部的初值。

Complex complexAdd(Complex a) : 将当前复数对象与形参复数对象相加,所得的结果仍是一个复数值,返回给此方法的调用者。

String ToString( ) : 把当前复数对象的实部、虚部组合成 a+bi 的字符串形式,其中a 和 b分别为实部和虚部的数据。

参考答案及评分标准

一、单选择题(每小题2分,共10分) 1、B 2、A 3、D 4、C 5、A

二、填空题(每空格1分,共20分)

1、编辑源程序、编译生成字节码、解释运行字节码 2、Applet、MyApplet

3、javac.exe、3、 . class 4、2 、2 5、0

6、true 、 false

7、抽象(abstract)方法、最终(final)方法

8、package MyPackage ; 应该在程序第一句。 9、120 10、单、多

三、写出下列程序完成的功能。(每小题5分,共20分) 1、计算 1/1+1/2+1/3+...+1/100 的值。

2、从标准输入(即键盘)读入10个整数存入整型数组a中,然后逆序输出这10个整数。 3、创建一个标题为\按钮\的窗框,窗框中显示有\按下我\字样的按钮。 4、求两个数的最大值。

四、写出下面程序的运行结果(每小题10分,共30分) 1、Hello! I love JAVA. 2、s = 180 3、a=60 b=20 c=30

五、使用Java语言编写程序。(每小题10分,共20分) 1、参考程序如下: import java.io.* ; public class abc {

public static void main(String args[ ])

{ int i , n = 10 , max = 0 , min = 0 , temp = 0; try {

BufferedReader br = new BufferedReader( new InputStreamReader(System.in)); max = min = Integer.parseInt(br.readLine( )); } catch ( IOException e ) { } ; for ( i = 2 ; i <= n ; i ++ ) { try {

BufferedReader br = new BufferedReader( new InputStreamReader(System.in)); temp = Integer.parseInt(br.readLine( )); if (temp > max ) max=temp; if (temp < min) min=temp; } catch ( IOException e ) { } ;

}

System.out.println(\ } }

2、参考程序如下:

import java.applet.* ; import java.awt.* ;

public class abc extends Applet {

Complex a,b,c ;

public void init( ) {

a = new Complex(1,2); b = new Complex(3,4); c = new Complex(); }

public void paint(Graphics g) { c=a.complexAdd(b);

g.drawString(\第一个复数:\ g.drawString(\第二个复数:\ g.drawString(\两复数之和:\ } }

class Complex {

int RealPart ; // 复数的实部 int ImaginPart ; // 复数的虚部

Complex() { RealPart = 0 ; ImaginPart = 0 ; } Complex(int r , int i)

{ RealPart = r ; ImaginPart = i ; } Complex complexAdd(Complex a) {

Complex temp = new Complex( ); // 临时复数对象 temp.RealPart=RealPart+a.RealPart;

temp.ImaginPart=ImaginPart+a.ImaginPart; return temp; }

public String toString( )

{ return ( RealPart+\} }

本文来源:https://www.bwwdw.com/article/9m62.html

Top