文档库 最新最全的文档下载
当前位置:文档库 › java程序员笔试题

java程序员笔试题

java程序员笔试题
java程序员笔试题

Java程序员笔试题

一、单项选择题(共10题,每题2分,共20分)

1.下列说法哪一个是正确的。( B )

A.Java程序经编译后会产生machine code

B.Java程序经编译后会产生byte code

C.Java程序经编译后会产生DLL

D.以上都不正确

2.提供Java存取数据库能力的包是。(A)

A.java.sql B.java.awt C.https://www.wendangku.net/doc/067715421.html,ng D.java.swing

3.执行如下程序代码后,C的值是。( C )

a=0;c=0;

do{

--c;

a=a-1;

}while(a>0);

A.0 B.1 C.-1 D.死循环

4.下面的语句中正确的表达式为。( C )

A.byte b = 128;

B.boolean n = null;

C.double d = 0.9239d;

D.float f = 0.9239;

5.将一个十六进制值赋给一个long型变量的正确写法为。( D )

A.long number = 345L;

B.long number = 0345;

C.long number = 0345L;

D.long number = 0x345L;

6.以下程序代码的输出是。( B )

public class test (

public static void main (String args[]) (

System.out.printIn (6 ^ 3);

)

)

A.3 B.5 C.6 D.11

7.以下程序代码的输出是。(E )

public class test (

private static int j = 0;

private static boolean methodB(int k) (

j += k;

return true;

)

public static void methodA(int i) {

boolean b:

b = i < 10 | methodB (4);

b = i < 10 || methodB (8);

)

public static void main (String args[] } (

methodA (0);

system.out.printIn(j);

)

)

A.0 B.4 C.8 D.12 E.不能编译通过

8.以下程序代码的输出是。(A)

public class test {

public static void add3 (Integer i) }

int val = i.intV alue ( );

val += 3;

i = new Integer (val);

}

public static void main (String args [ ] ) {

Integer i = new Integer (0);

add3 (i);

system.out.printIn (i.intV alue ( ) );

}

)

A.编译失败B.编译成功但在第三行会出现异常C.0 D.3

9.以下程序代码执行后,哪个说法正确?( B )

int index = 1;

boolean[] test = new Boolean[3];

boolean foo= test [index];

A.有异常抛出。

B.无法编译。

C.foo的值是0。

D.foo的值是null。

E.foo的值是true。

F.foo的值是false。

10.以下哪个类是swt包中的。( D )

A.MessageBox B.MessageDialog C.JDialog D.DisplayMode

二、多项选择题(共5题,每题4分,共20分)

1.在下面的选项中合法的标识符有。(ADEF )

A._ok

B.*point

C.this

D.$byte

E.const

F.ILikeJLCSS

2.下面的选项中哪些不是java的关键字。(AB D )

A.TRUE

B.sizeof

C.goto

D.const

E.super

F.void

3.下面的叙述中正确的有。(AC )

A.环境变量可在编译source code时指定。

B.在编译程序时,所能指定的环境变量不包括class path。

C.javac一次可同时编译数个Java源文件。

D.javac.exe能指定编译结果要置于哪个目录(directory)。

4.下面的叙述中正确的有。( C )

A.equals()方法判定引用值是否指向同一对象。

B.= = 操作符判定两个分立的对象的内容和类型是否一致。

C.equals()方法只有在两个对象的内容一致时返回true。

D.类File重写方法equals()在两个分立的对象的内容和类型一致时返回true。

5.下面有关变量及其作用域的陈述哪些是对的。(A C )

A. 在方法里面定义的局部变量在方法退出的时候被撤销。

B. 局部变量也叫自动变量。

C. 在方法外面定义的变量(译注:即实例变量)在对象被构造时创建。

D. 在方法中定义的方法的参变量只要该对象被需要就一直存在。

三、简答题(共7题,共40分)

1.请写出一个输出“Hello World!”的程序。(3分)

答:public Class Hello World

{

Public static void main(String[]args)

{

System.out.println(“HELLO WOTLD”);

}

}

2.char型变量中能不能存贮一个中文汉字? 为什么? (3分)

答:能存储一个汉字;因为它能存储四个字节而每个汉字只占两个字节。

3.常见的两种xml解析技术是什么? 区别是什么? (4分)

答:常见的两种有:SAX和DOM。

区别:SAX 是一种事件驱动的xml解析方式。每次访问一个xml文件中的某个节点的时候,sax就会搜索一遍xml文件,在找到相应的节点后就会触发一个事件来处理请求。只读

DOM是一种基于树状的查找方式。DOM会将xml解析成一棵树,存在内存中。开发者可以通过查找树的节点来取得文件的内容或者修改内容。可读写

4.MVC是什么,如何实现? (5分)

答:MVC是一个是一个设计模式,它强制性的使应用程序的输入,处理和输出分开。使用MVC应用程序被分为三个核心部件:M----------MODO模型,V ----------VIEW 试图,C --------- Contral控制

实现:首先有页面(jsp)发送请求给控制器(servlet),然后由控制器接收用户的请求,并决定应该调用哪个模型(javabean)来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层显示给用户。

5..J2EE是什么?(6分)

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

6.jsp有哪些内置对象?作用分别是什么? (9分)

答:1.request 用户端请求,此请求会包含来自GET/POST请求的参数;2.response 网页传回用户端的回应;3.pageContext 网页的属性是在这里管理;4.session 与请求有关的会话期;5.application servlet 正在执行的内容;6.out 用来传送回应的输出;7.config servlet的构架部件;8.page JSP网页本身;9.exception 针对错误网页,未捕捉的例外

7.作用域public,private,protected,以及不写时的区别?(10分)

答:作用域当前类同一package 子孙类其他package public √√√√

protected √√√×

friendly √√××

private √×××

不写时默认为friendly

四、编码及论述题(共2题,每题10分,共20分)

1.什么是Singleton,它的作用是什么,它有几种形式?请用代码写出一个Singleton类。

答:Java Singleton 模式用来保证在运行的应用程序中,一个Class只是实例化一次,也就是只有一个相应的对象存在。

它有三种形式

public class Singleton

{

private static Singleton instance = null;

public static synchronized Singleton getInstance()

{

if (instance==null)

instance=new Singleton();

return instance;

}

}

2.在Struts + Spring + Hibernate的组合框架模式中,三者各自的特点都是什么?

答:Strtus WEB层Spring是业务层Hiebenate是持久化层

1、作用域public,private,protected,以及不写时的区别

答:区别如下:

作用域当前类同一package 子孙类其他package

public √√√√

protected √√√×

friendly √√××

private √×××

不写时默认为friendly

2、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)

答:匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现

3、Static Nested Class 和 Inner Class的不同

答:Nested Class (一般是C++的说法),Inner Class (一般是JAVA的说法)。Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。注:静态内部类

(Inner Class)意味着1创建一个static内部类的对象,不需要一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象

4、&和&&的区别

答:&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)

5、Collection 和 Collections的区别

答:Collection是集合类的上级接口,继承与他的接口主要有Set 和List.

Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作

6、什么时候用assert

答:assertion (断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个 boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的

7、String s = new String("xyz");创建了几个String Object

答:两个,一个字符对象,一个字符对象引用对象

8、Math.round(11.5)等於多少? Math.round(-11.5)等於多少

答: Math.round(11.5)==12;Math.round(-11.5)==-11;round方法返回与参数最接近的长整数,参数加1/2后求其floor

9、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错

答:short s1 = 1; s1 = s1 + 1; (s1+1运算结果是int型,需要强制转换类型)

short s1 = 1; s1 += 1;(可以正确编译)

10、Java有没有goto

答:java中的保留字,现在没有在java中使用

一、选择题

1、算法的空间复杂度是指______。

A、算法程序的长度

B、算法程序中的指令条数

C、算法程序所占的存储空间

D、算法执行过程中所需要的存储空间

2、下列关于栈的叙述中正确的是______。

A、在栈中只能插入数据

B、在栈中只能删除数据

C、栈是先进先出的线性表

D、栈是先进后出的线性表

3、在深度为5的满二叉树中,叶子结点的个数为______。

A、32

B、31

C、16

D、15

4、对建立良好的程序设计风格,下面描述正确的是______。

A、程序应简单、清晰、可读性好

B、符号名的命名要符合语法

C、充分考虑程序的执行效率

D、程序的注释可有可无

5、下面对对象概念描述错误的是______。

A、任何对象都必须有继承性

B、对象是属性和方法的封装体

C、对象间的通讯靠消息传递

D、操作是对象的动态性属性

6、下面不属于软件工程的3个要素的是______。

A、工具

B、过程

C、方法

D、环境

7、程序流程图(PFD)中的箭头代表的是______。

A、数据流

B、控制流

C、调用关系

D、组成关系

8、在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是______。

A、数据库系统

B、文件系统

C、人工管理

D、数据项管理

9、用树形结构来表示实体之间联系的模型称为______。

A、关系模型

B、层次模型

C、网状模型

D、数据模型

10、关系数据库管理系统能实现的专门关系运算包括______。

A、排序、索引、统计

B、选择、投影、连接

C、关联、更新、排序

D、显示、打印、制表

11、下列特点中,是Java虚拟机执行的特点之一。

A、字节代码

B、多进程

C、静态链接

D、编译

12、Java语言有多种实现机制,下列技术属于垃圾回收机制。

A、字节编译

B、内存跟踪

C、语法检查

D、堆栈上/下溢检查

13、以下不是Java中正确的整数表示。

A、22

B、0x22

C、022

D、22H

14、执行以下语句后,str2的值是。

String str1="abc";

String str2=str1.concat("cde");

A、abcde

B、abccde

C、cdeabc

D、edccba

15、如果类中的成员变量只能被同一包访问,则使用以下约束符。

A、无访问控制符

B、public

C、protected

D、final

16、以下表达式是不合法的。

A、String x="Hello"; int y=9; x+=y;

B、String x="Hello"; int y=9; if(x==y) { }

C、String x="Hello"; int y=9; x=x+y;

D、String x=null; int y=(x!=null)&&(x.length()>0) ? x.length() : 0

17、main方法是Java Application程序执行的入口点,关于main方法的方法头以下是合法的。

A、public static void main()

B、public static void main(String[ ] args)

C、public static int main(String[ ] arg)

D、public void main(String arg[ ])

18、下面标识符中是不合法的。

A、BigMeaninglessName

B、$int

C、1 s

D、$1

19、下列是反斜杠字符的正确表示。

A、\\

B、*\\

C、\

D、\'\'

20、下列程序段的输出是______。

public class Test5{

public static void main(String args[]){

String ss1=new String("hello");

String ss2=new String("hello");

System.out.println(ss1==ss2);

System.out.println(ss1.equals(ss2));

}

}

A、true,false

B、true,true

C、false,true

D、false,false

21、下列类声明是正确的。

A、abstract final class HI{···}

B、abstract private move(){···}

C、protected private number;

D、public abstract class Car{···}

22、下列语句正确的是____ 。

A、>> 是算术右移操作符

B、>> 是逻辑右移操作符

C、>>> 是算术右移操作符

D、>>> 是逻辑左移操作符

23、public class Test

{

public static void main(String arg[]){

int i = 5;

do{

System.out.println(i);

}while (--i>4)

}

}

执行后的输出是。

A、4

B、5

C、54

D、45

24、switch (m)

{

case 0: System.out.println("Condition 0");

case 1: System.out.println("Condition 1");

case 2: System.out.println("Condition 2");

case 3: System.out.println("Condition 3");break;

default: System.out.println("Other Condition");

}

当m 的值为时,下列哪个选项中的所有值都能引起"Condition 1"的输出。

A、0,1

B、1,2

C、2,3

D、3,4

25、JScrollPane是带滚动条的面板,主要是通过移动______来实现的。

A、JViewport

B、JSplitPane

C、JDesktopPane

D、JlayeredPane

26、下面事件监听器在Java中无事件适配器。

A、MouseListener

B、KeyListener

C、ActionListener

D、WindowListener

27、下面不是Java中的容器。

A、Frame

B、Panel

C、Scrollbar

D、Dialog

28、自定义的异常类可从下列类继承。

A、Error类

B、AWTError

C、VirtualMachineError

D、Exception及其子

29、对于catch子句的排列,下列是正确的。

A、父类在先,子类在后

B、子类在先,父类在后

C、有继承关系的异常不能在同一个try程序段内

D、先有子类,其他如何排列都无关

30、当输入一个字节流时,要。

A、实现DataInput接口

B、实现ObjectInput接口

C、实现Serializable接口

D、继承Reader抽象类

31、为读取的内容进行处理后再输出,需要使用下列流。

A、File stream

B、Pipe stream

C、Random stream

D、Filter stream

32、对JFrame添加构件有种方式。

A、一种

B、两种

C、三种

D、四种

33、对象状态持久化是通过。

A、文件

B、管道

C、串行化

D、过滤器

34、实现一个线程有种方法。

A、一种

B、三种

C、二种

D、四种

35、下列命令中,命令是Java的编译命令。

A、javac

B、java

C、javadoc

D、appletviewer

填空题

36、设一棵完全二叉树共有500个结点,则在该二叉树中有______个叶子结点。

37、在最坏情况下,冒泡排序的时间复杂度为______。

38、面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个______。

39、软件的需求分析阶段的工作,可以概括为四个方面:______、需求分析、编写需求规格说明书和需求评审。

40、______是数据库应用的核心。

41、在Java语言中,对于浮点数,如果数字后没有任何字母,计算机默认为类型。

42、若x=5,y=10,则x>=y的逻辑值为。

43、else子句不能单独作为语句使用,它必须和if子句配对使用,那么else子句与if子句的配对原则是:else子句总是与离它的if子句配对使用。

44、创建一个名为 MyPackage 的包的语句是。

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

46、下列程序执行后,输出的结果为。

public class AA{

public static void main(String args[]){

for(int i=0;i<=10;i+=2){

if (i%4==0) break;

System.out.println(i);

}

System.out.println("end");

}

}

47、public Throwable(String message)构造函数包含getMessage()方法,用来返回带参数构造函数创建异常时的参数内容,对无参数构造函数而言,用它返回的是。

48、Applet标记中,必须出现的属性项有CODE、、HEIGTH。

49、当用户改变TextField中的文字时,实现接口可实现对事件的响应。

50、要使线程的状态从New转换为Runnable,则需调用方法。

试题解析

1、一个算法的空间复杂度,一般是指执行这个算法所需的内存空间。

一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。

本题答案是D。

2、栈是限定在一端进行插入与删除的线性表。

栈是按照"先进后出"的或后进先出的原则组织数据的,因此,栈也被称为"先进后出"表或"后进先出"表。

本题答案是D。

3、所谓满二叉树是指这样的一种二叉树:除最后一层外,每层上的所有结点都有两个子结点。这就是说,在满二叉树中,每一层上的结点数都达到最大值,即在满二叉树的第K层上

有2K-1个结点,且深度为m的满二叉树有2m个结点。

在满二叉树中,最后一层的结点个数就是叶子结点的个数,本题中深度为5,故叶子结

点数为25-1=24=16。

本题答案是C。

4、要形成良好的程序设计风格,主要应注重和考虑下述一些因素:符号名的命名应具有一定的实际含义,以便于对程序功能的理解;正确的注释能够帮助读者理解程序;程序编写应优先考虑清晰性,除非对效率有特殊要求,程序编写要做到清晰第一,效率第二。

本题答案为A。

5、对象是由数据和容许的操作组成的封装体,与客观实体有直接的对应关系。对象之间通过传递消息互相联系,以模拟现实世界中不同事物彼此之间的联系。

本题答案为A。

6、软件工程包括3个要素,即方法、工具和过程。

本题答案为D。

7、程序流程图(PFD)是一种传统的、应用广泛的软件过程设计表示工具,通常也称为程序框图,其箭头代表的是控制流。

本题答案为B。

8、在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是数据库系统。

本题答案为A。

9、层次模型是最早发展出来的数据库模型。它的基本结构是树形结构,这种结构方式在现实世界中很普遍,如家族结构、行政组织机构,它们自顶向下、层次分明。

本题答案为B。

10、关系数据库管理系统能实现的专门关系运算,包括选择运算、投影运算、连接运算。

本题答案为B。

11、本题考查的是Java虚拟机。

Java语言的执行模式是半编译和半解释型。Java编写好的程序首先由编译器转换为标准字节代码,然后由Java虚拟机去解释执行。字节代码也是一种二进制文件,但不能直接在操作系统上运行,它可看作虚拟机的机器码。虚拟机把字节代码程序与各操作系统和硬件分开,使Java程序独立于平台。

故本题答案为A。

12、本题考查的是垃圾回收机制。

Java语言不同于C++,它可以自动跟踪内存的使用情况,释放一些不再需要使用的空间,从而保证了不会由于程序的运行而生成大量无法释放的空间,该机置被称垃圾回收机制,由于这种机制的引入,从很大程度上减轻了程序员的负担。

故本题答案为B。

13、本题考的是Java的简单数据类型。

整型常量分3种书写格式:

(1)十进制整数,如189,-360。

(2)八进制整数,以0开头,如012表示十进制的10。

(3)十六进制整数,以0x或0X开头,如0x123表示十进制数291。

故本题答案为D。

14、本题考查的是字符串的修改。

String提供concat(),replace(),substring(),toLowerCase(),toUpperCase()等方法。 public String concat(String str)//将当前字符串对象与指定str字符串相连;

public String replace(char oldChar,char newChar)//用新字符替换老字符;

public String substring(int beginIndex)//按指定的起始位置获得子字符串;

public String substring(int beginIndex,int endIndex)//按指定范围去获得字符串中的子字符串;

public String toLowerCase()//将字符串中所有字符变为小写;

public String toUpperCase()//将字符串中所有字符变为大写。

故本题答案为B。

15、本题考查的是修饰符的含义。

1、public指明变量为公有。

2、protected指明变量为保护访问。可被同一个包中其他类、不同包中该类的子类以及该类自己访问和引用。

3、final指明变量为常量。

4、默认(friendly)即无访问控制符,表示只能被同一个包中的类访问和引用。

故本题答案为A。

16、本题考查的是表达式。

Java对"+"进行了扩展,不仅可以连接字符串,而且还能将字符串与其它类型数据进行连接,结果是字符串。

若"+"的第一个操作数是字符串,Java会自动将后面的操作数类型转换成字符串类型。例如本题选项A中,x+=y即x=x+y,则计算结果x的值为字符串Hello9;选项C与此类似,故此选项也是正确的;选项D主要考查的是条件运算符"?:",即把表达式

(x!=null)&&(x.length()>0) ? x.length() : 0的值赋给整型变量y,运行结果y的值是0;而选项B是因为"=="两边的类型不匹配,无法比较,所以此表达式是错误的。

故本题答案为B。

17、本题考查的是main()方法的组成。

main()方法是一个特殊的方法,它是所有的Java Application程序执行的入口点,所以任何一个Java Application方法必须有且只能有一个main()方法,而且这个main()方法的格式统一为:

public static void main(String args[])

故本题答案为B。

18、本题考查的是Java标识符。

标识符命名规则为:

1、标识符是以字母、下划线、美元符($)作为首字符的字符串序列。在首字符后面可以跟字母、下划线、美元符和数字。

2、标识符区分大小写。

3、标识符的字符数目没有限制,但为便于阅读和记忆,不宜太长。

另外要注意的是Java中有一些标识符是具有专门意义和用途的,不允许作为一般的标识符用,它们是保留字。

故本题答案为C。

19、本题考查的是转义字符。

Unicode字符集中对一些字符必须用转义字符。转义字符以反斜杠(\)开头,如"\n"表示换行符,"\\"表示反斜杠。

故本题答案为A。

20、本题考查的是字符串对象的比较运算。

对于复合数据类型的数据的"=="运算,其比较目标是两个操作数是否是同一个对象。若需要比较两个对象的值是否相同,则用equals()方法,equals()是Object的方法,和"=="一样,功能是比较两个操作数是否是同一个对象,但类库中许多子类重写了equals()方法,使其变为比较两个操作数的内容是否一样。例如String类就对equals()方法进行了修改。

本题ss1与ss2并非是同一个对象,所以ss1==ss2的值为false;但对象ss1与ss2的值都为hello,所以表达式ss1.equals(ss2)的值为true。

故本题答案为C。

21、本题考查的是类的声明。

类声明的格式如下:

[修饰符]class 类名[extends 父类名][implements 类实现的接口列表]{ } 其中[]括起来的内容为可选项。关键字class是类定义的开始,类名应符合标识符命名规则,第一个字母大写。

本题中选项B,C无关键字class,故它们不是类声明。选项A中的两个修饰符不能同时用于修饰同一个类,因为abstract类自身没有具体对象,需要派生出子类后再创建子类的对象;而final类不可能有子类,这样abstract final类就无法使用,也就没有意义了。

故本题答案为D。

22、本题考查的是移位运算符。

1、算术右移运算符>>

用来将一个数的二进制位序列右移若干位。

2、算术左移运算符<<

用来将一个数的二进制位序列左移若干位。

3、逻辑右移运算符>>>

用来将一个数的各二进制位添零右移若干位。

故本题答案为A。

23、本题考查的是do-while循环语句。

do-while循环又称"直到型"循环,它首先执行循环体,然后计算终止条件,若结果为true,则循环执行循环体,直到布尔表达式的结果为false。

另外,运算符"--"是将操作数减1。对--x与x--的运算结果均为x=x-1,但若将"--"运算表达式再作为其他表达式的操作数使用时,i--与--i是有区别的:i--在使用i之后,使i的值减1,因此执行表达式时是以i的值参加表达式的运算的,执行完后,i本身的值变为i-1;而--i是在使用i之前,使i的值减1,因此执行表达式时是以i-1的值参加运算的,执行完后i 自身的值也为i-1。

本程序执行过程如下:

i=5 执行System.out.println(i);,输出5;比较--i>4是否成立,因为"--i"在表达式中运算时是先让i减1,再进行运算。故此处比较时4>4不成立,循环结束。

故本题答案为B。

24、本题考查的是多分支语句。

当switch后面表达式的值与任一case子句中的值都不匹配时,程序执行default后面的

语句;break语句用来在执行完一个case分支后,使程序跳出switch语句;若没有break语句,当程序执行完匹配的case语句序列后,继续向下执行,向下执行时,并不与case后面的数据进行比较,而是直接执行下面的所有语句,直到遇到break语句为止。

本题中当m的值为0时,输出"Condition 0Condition 1Condition 2Condition 3";当m 的值为1时,输出"Condition 1Condition 2Condition 3";当m的值为2时,输出"Condition 2Condition 3";当m的值为3时,输出"Condition 3";当m的值为4时,输出"Other Condition"。

故本题答案为A。

25、本题考查的是JScrollPane。

在JScroolPane类中,主要是通过JViewport(视口)类来实现内容的滚动的。JViewport 是一种特殊的对象,用于查看基层构件,滚动条实际上就是沿着构件移动视口,同时描绘出它能看到的内容。

故本题答案为A。

26、本题考查的是事件适配器。

Java语言为一些Listener接口提供了适配器(Adapter)类。可以通过继承事件所对应的Adapter类,重写需要的方法,无关方法不用实现。

java.awt.event包中定义的事件适配器类包括以下几个:

1、ComponentAdapter,构件适配器。

2、ContainerAdapter,容器适配器。

3、FocusAdapter,焦点适配器。

4、KeyAdapter,键盘适配器。

5、MouseMotionAdapter,鼠标运动适配器。

6、MouseAdapter,鼠标适配器。

7、WindowAdapter,窗口适配器。

故本题答案为C。

27、本题考查的是Java的容器。

容器java.awt.Container是Component的子类,一个容器可以容纳多个构件,并使他们成为一个整体。

常用的容器有Frame(窗口容器),Panel(面板容器),Applet(java小程序的容器),Dialog(对话框容器)等。

而本题选项中的Scrollbar是滚动条,它是一个构件,并不是容器。

故本题答案为C。

28、本题考查的是异常类。

Java语言的类库中提供一个Throwable类,所有的异常对象都必须是它的实例或它子类的实例。Throwable类又分为Error和Exception两子类,Error类包括动态连接失败、硬件设备和虚拟机出错等,通常的Java应用程序不会捕获和抛出这类异常,而是捕获和抛出Exception这类异常。

所以自定义的异常是从Exception及其子集继承的。

故本题答案为D。

29、本题考查的是异常的捕获。

在Java中提供了结构化的异常处理功能,其主要是通过try...catch语句来实现的。在Java中可以将可能产生异常的代码放入到try子句中,如果产生异常,将会执行catch子句。如果有多个异常,则应先处理父类异常,再处理子类异常,否则后面的异常处理,将得不到执行。

故本题答案为A。

30、本题考查的是字节流。

在Java中,输入一个字节流时,要实现DataInput接口。该接口定义在java.io包中。处理字节流的DataInputStream类实现了该接口。同时,DataOutput接口提供了字节输出流的功能,RandomAccessFile类实现了DataInput与DataOutput这两种接口。

故本题答案为A。

31、本题考查的是流的概念。

过滤流为I/O访问提供了同步处理机制。保证在某时刻只能有一个线程访问一个I/O流。要保证读取的内容进行处理后能够正确的输出,要使用过滤流(Filter stream),否则不能保证输出数据的正确性。

故本题答案为D。

32、本题考查的是JFrame框架。

对JFrame添加构件有两种方式:

1、用getContentPane()方法获得JFrame的内容面板,再对其加入构件

frame.getContentPane().add(childComponent)。

2、建立一个Jpanel或JDesktopPane之类的中间容器,把构件添加到容器中,再用setContentPane()方法把该容器置为JFrame的内容面板:

Jpanel contentPane=new Jpanel();

…//把其他构件添加到Jpanel中

frame.setContentPane(contentPane);//把contentPane对象设置成为frame的内容面板。

故本题答案为B。

33、本题考查的是对象的永久化概念。

将Java程序中的对象保存在外存中,称为对象永久化。对象永久化的关键是将它的状态以一种串行格式表示出来,以便以后读该对象时能够把它重构出来。

故本题答案为C。

34、本题考查的是线程的实现。

在Java中可通过两种方法来产生一个线程。在Java中,可以通过继承类Thread来构造线程,即通过继承Thread类并覆盖其中的run方法来生成一个线程。同时也可以通过建立一个实现了Runnable接口的对象,并以其作为线程的目标对象来建立一个线程,通过这种方法可以打破Java中单一继承类方式的限制,在这种方法中,所有实现了Runnable接口的对象都是以线程方式在运行。

故本题答案为C。

35、本题考查的是Java运行过程。

Java有两类应用程序,Java Application和Java Applet。它们编译源代码时运用应用程序相同,即javac.exe。

java.exe是用于Java Application程序解释执行的,若执行成功,显示结果;若执行有错,则显示错误报告。

故本题答案为A。

36、所谓完全二叉树是指除最后一层外,每一层上的结点数均达到最大值;在最后一层上只缺少右边的若干结点。

具有n个结点的完全二叉树,其父结点数为int(n/2),而叶子结点数等于总结点数减去父结点数。本题n=500,故父结点数等于int(500/2)=250,叶子结点数等于500-250=250。

标准答案为:250

37、冒泡排序法是一种最简单的交换类排序方法,它是通过相邻数据元素的交换逐步将线性

表变成有序。

假设线性表的长度为n,则在最坏的情况下,冒泡排序需要经过n/2遍的从前往后的扫描和n/2遍的从后往前的扫描,需要的比较次数为n(n-1)/2。

标准答案为:n(n-1)/2 或 n*(n-1)/2 或 O(n(n-1)/2) 或 O(n*(n-1)/2)

38、面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个实体,是构成系统的一个基本单位,它由一组表示其静态特征的属性和它可执行的一组操作组成。

标准答案为:实体

39、软件的需求分析阶段的工作,可以概括为四个方面:需求获取、需求分析、编写需求规格说明书和需求评审。

需求获取的目的是确定对目标系统的各方面需求。涉及到的主要任务是建立获取用户需求的方法框架,并支持和监控需求获取的过程。

需求分析是对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型。

编写需求规格说明书作为需求分析的阶段成果,可以为用户、分析人员和设计人员之间的交流提供方便,可以直接支持目标软件系统的确认,又可以作为控制软件开发进度的依据。

需求评审是对需求分析阶段的工作进行的复审,验证需求文档的一致性、可行性、完整性和有效性。

标准答案为:需求获取

40、数据库设计是数据库应用的核心。在数据库应用系统中的一个核心问题就是设计一个能满足用户要求,性能良好的数据库,这就是数据库设计。

标准答案为:数据库设计

41、本题考查的是简单数据类型。

实型常量在计算机中的存储表示用float和double两种类型表示,若数字的未尾加F 或f,则表示float型,若加的是d或D,则表示double类型的数据,若省略,默认的是double类型的数据。

标准答案为:double 或双精度或双精度型或双精度类型

42、本题考查的是关系运算。

关系表达式的操作结果是严格的布尔类型,即只可能是true或者是false,Java语言中绝对不允许出现用1和0来代替true和false的情况。故本题答案为false,若填0则是错误的。

标准答案为:false 或假

43、本题考查的是if判断语句。

if-else if结构:

if(条件1)

statement1;或{block1}

else if(条件2)

statement2;或{block2}

……

else if(条件N)

statementN;或{blockN}

[else

statementN+1;或{blockN+1}]

执行过程如下:

判断条件1:结果为真,执行statement1;或{block1},执行完直接跳到statementN+1;

或{blockN+1}下面的语句继续执行;结果为假,判断条件2:结果为真,执行statement2;或{block2},执行完直接跳到statementN+1;或{blockN+1}下面的语句继续执行;结果为假,判断条件3……判断条件N:结果为真,执行statementN;或{blockN},否则执行statementN+1;或{blockN+1}。

由上可知,else子句总是与离它最近的if子句配对使用。

标准答案为:最近或最靠近或最接近或紧靠

44、本题考查的是包。

Java采用包来管理类名空间。包将类和接口封装在一起,便于大量类和接口的管理,并有利于类和接口的安全。

定义一个包要用package关键字。例如要将类Employee置于包com.gzb中,则应该这样处理:

package com.gzb;

public class Employee

{

}

注意:定义包的语句一定要放在程序第一个语句的位置。

标准答案为:package MyPackage;

45、本题考查的是接口与类的概念。

接口是一种只含有抽象方法或常量的一种特殊的抽象类。在Java语言中,用abstract 修饰符定义的类称为抽象类,在其中的方法称为抽象方法。abstract类必须被继承,abstract 方法必须被重写,abstract类不能实例化。

接口不仅是抽象类,其用途胜于抽象类。因为接口不包括任何实现,所以与存储空间没有任何关系,将多个接口合并,即多重继承就可以很容易实现。

标准答案为:多或无数或若干

46、本题考查的是break语句。

break语句用来退出循环,并从紧跟该循环语句的第一条语句处开始执行。

本题当循环第一次执行时,if(i%4==0) break;成立,并执行break,所以程序跳过了System.out.println(i);,退出for循环,并执行了紧跟for循环后的第一条语句

System.out.println("end");,程序执行结果输出:end。

另外在此提一下continue语句的功能:continue语句是跳过循环体中下面尚未执行的语句,回到循环体的开始继续下一轮的循环。

标准答案为:end

47、本题考查的是异常类。

Throwable类是直接从Object类继承来的,是所有异常类的根,它有public Throwable()和public Throwable(String message)两个构造函数,其中的字符串参数可利用getMessage()方法去获得参数内容。

getMessage()方法用来返回带参数构造函数创建异常时的参数内容,对无参函数而言,用它返回的是空值。

标准答案为:空值或 null 或空

48、本题考查的是属性。

CODE=appletFile。这个属性指定包含Applet或JApplet字节码的文件名。这个文件名可以包含路径,它是相对于由CODEBASE指定的Applet代码目录的相对路径,而不是绝对路径。

WIDTH、HEIGHT这两个在标记中必须指定的属性,定义了Applet显示区以像素为单位的高度和宽度。但由Applet运行过程中所产生的任何窗口或对话框不受此约束。

标准答案为:WIDTH

49、本题考查的是事件的响应。

TextListener是Java中的监听器接口,其作用是检查文本框中的字段是否改变,如果文本框中的内容发生改变,将执行该接口中的textValueChanged方法。

标准答案为:TextListener

50、本题考查的是线程。

新建的线程调用start()方法,将使线程的状态从New转换为Runnable。start()方法使系统为线程分配必要的资源,将线程中虚拟的CPU置为Runnable状态,并将线程交给系统调度。Runnable表示系统处于运行就绪状态,此时线程仅仅是可以运行,但不一定在运行中。

标准答案为:start 或 start()

一、单项选择题

1.Java是从()语言改进重新设计。

A.Ada B.C++ C.Pasacal D.BASIC

答案:B

2.下列语句哪一个正确()

A.Java程序经编译后会产生machine code

B.Java程序经编译后会产生byte code

C.Java程序经编译后会产生DLL

D.以上都不正确

答案:B

3.下列说法正确的有()

A.class中的constructor不可省略

B.constructor必须与class同名,但方法不能与class同名

C.constructor在一个对象被new时执行

D.一个class只能定义一个constructor

答案:C

4.提供Java存取数据库能力的包是()

A.java.sql B.java.awt C.https://www.wendangku.net/doc/067715421.html,ng D.java.swing

答案:A

5.下列运算符合法的是()

A.&& B.<> C.if D.:=

答案:A

6.执行如下程序代码

a=0;c=0;

do{

--c;

a=a-1;

}while(a>0);

后,C的值是()

A.0 B.1 C.-1 D.死循环

答案:C

7.下列哪一种叙述是正确的()

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

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

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

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

答案:D

8.下列语句正确的是()

A.形式参数可被视为local variable

B.形式参数可被字段修饰符修饰

C.形式参数为方法被调用时,真正被传递的参数

D.形式参数不可以是对象

答案:A

9.下列哪种说法是正确的()

A.实例方法可直接调用超类的实例方法

B.实例方法可直接调用超类的类方法

C.实例方法可直接调用其他类的实例方法

D.实例方法可直接调用本类的类方法

答案:D

二、多项选择题

1.Java程序的种类有()

A.类(Class)B.Applet C.Application D.Servlet

2.下列说法正确的有()

A.环境变量可在编译source code时指定

B.在编译程序时,所能指定的环境变量不包括class path

C.javac一次可同时编译数个Java源文件

D.javac.exe能指定编译结果要置于哪个目录(directory)答案:BCD

3.下列标识符不合法的有()

A.new B.$Usdollars C.1234 D.car.taxi

答案:ACD

4.下列说法错误的有()

A.数组是一种对象

B.数组属于一种原生类

C.int number=[]={31,23,33,43,35,63}

D.数组的大小可以任意改变

答案:BCD

5.不能用来修饰interface的有()

A.private B.public C.protected D.static

答案:ACD

6.下列正确的有()

A.call by value不会改变实际参数的数值

相关文档