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、
20. 已知Java Web程序myapp的配置文件Web.xml的片段如下:
当把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+\} }
正在阅读:
java模拟试题11-07
预备党员转正的支部大会决议的写法02-23
提高员工的质量意识05-07
郑州科技局推荐2016年科技进步奖候选项目的公告 - 图文01-04
初中数学教师2023年个人工作总结范文03-22
四川省成都市龙泉驿区2015届高三0.5诊断数学(文)试题 Word版含03-06
心理学形成性考核册完整答案 805-25
MPA公共政策分析导论(案例分析)09-18
第三方服务合同范本04-14
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 模拟试题
- java
- 《白桦》 教学设计
- 苏教版小学语文二年级上学期第八单元测试卷
- 电子科大公共管理考研社会保障学概论复习要点
- 实验一 还原糖和总糖含量的测定
- 应急处置
- 9月韩国留学各语言学院申请截止日期公布
- 生日感言简短句子
- 语文阅读答题格式与常识
- 隧道消防安全应急演练方案
- stata常见问题(个人总结)
- 基桩静载试验
- 模具设计与制造基础
- 洞口大队参观见习
- 英语形近词趣味串记和其他资料
- 南昌市水产养殖公司名录2018版580家 - 图文
- 2018-2019年初中科学知识点《生物的新陈代谢》《绿色植物的新陈代谢》《叶》综合测试试卷含
- 课程设计(论文)要求-《物联网工程综合设计》2016
- ISO9001-2015样品制作及管理规定
- 公路养护安全作业规程题库
- 关于中美教育差异的分析报告