A.24679;
B.46879
C.43579
D.以上均不正确
33.下面关于Java语言的return语句的描述中,错误的是:
C
A.return是一种跳转语句。
B.return语句用在方法中,用于从方法中返回。
C.return语句后必须跟一个表达式。
D.return语句后可以不跟表达式。
34.下列说法中错误的是:
C
A.Java程序有两种类型,一种是Java应用程序JavaApplication,另一种是Java小程序JavaApplet
B.一个JavaApplication程序中可包含多个类,但只能有一个类中定义main方法
C.Java中main方法可以在类的外部定义
D.main方法前面的修饰符必须是public、static和void,其中public与static的顺序可以任意
35.要使类的某个成员方法成为属于整个类的“类方法”,该方法应使用修饰符:
D
A.final
B.public
C.class
D.static
36.容器Panel和它的子类Applet默认的布局管理器是A。
A.FlowLayout
B.BorderLayout
C.CardLayout
D.GridLayout
37.下列有关异常的说法中,错误的是C。
A.异常是指程序运行时出现的阻止语句正常执行的非正常情况
B.Java中的异常是一个对象,封装了对应的错误类型以及程序运行的状态等信息
C.Java中的异常类为Exception,它是不可被继承的
D.Java中所有的异常类和错误类都是Throwable类的直接或间接子类
38.在java中,用package语句说明一个包时,该包的层次结构必须是:
B
A.与文件的结构相同
B.与文件目录的层次相同
C.与文件类型相同
D.与文件大小相同
39.下列关于Swing组件和AWT组件的描述中,错误的是D。
A.AWT是AbstractWindowToolkit的缩写
B.理想情况是AWT组件开发的图形界面可以应用于所有系统平台
C.Java中Swing组件是由NetScape和Sun公司联合开发的
D.Java中Swing组件包含在java.awt.swing包中
40.Java语言中创建一个对象使用的关键字为:
c
A.class
B.interface
C.new
D.create
二.填空:
1.Java源程序编译命令是javac。
2.在Java中,所有类的直接或间接的父类是Object。
3.动态初始化一个整型(int)数组Array,数组空间为10,用一句话写出来,该语句为:
intArray[]=newint[10]。
4.Java中,关键字this指类自己,而关键字super指父类。
5.若有程序片段:
inta=1;
a%=3/a+3;
则执行该程序片段后,变量a的值为1。
6.C是单线程语言,而Java是 多 线程语言。
7.Java的许多网络类都包含在 包中。
8. 用来在Container上排列GUI组件。
9.Java中,关键字final可用于修饰变量、方法和类。
它修饰的变量一旦被赋值,就不能改变;它修饰的方法不能被子类中的相同方法覆盖;它修饰类时,该类不能派生子类。
10.FileInputStream类用于打开一个输入文件,实现对本地文件系统中文本文件进行顺序访问。
在创建它的实例时,若指定文件名或文件的路径不正确,将引起文件不能读出的错误,系统会抛出异常。
11.数学表达式
,描述成Java语言支持的表达式,形式为1/(n*(n-1))+2*Math.pow(n,2)。
12.面向对象的程序设计有三个基本要素,分别为封装、继承和多态。
13.Java的跨平台特性是借助于中间代码——字节码实现的,字节码是JVM的机器码,字节码文件的主名与对应的源程序文件相同,而后缀名是.class。
14.由关键字abstract说明的类为抽象类。
15.基本布局管理器包括流式布局管理器(FlowLayout)和边界布局管理器(BorderLayout)等,其中JFrame默认的布局管理器是FlowLayout。
16.有一Java源程序文件,其中包含主类Welcome,则该源程序文件保存后,由javac命令编译生成的字节码文件的全名是Welcome.class。
三.简答:
17.Java中为何引进布局管理器,它有什么作用?
请简述Java中BorderLayout布局的基本特性。
18.“在创建String对象后可以修改它的内容”。
这句话是否正确?
若错误,请说明理由。
答:
不正确。
因为每次创建一个String对象,都需要为其申请内存地址、写入数据,当修该其内容时,其实都相当于创建了一个新的String对象,并为其申请新的内存地址、写入新的数据,而当初的Sring对象则丝毫未动。
19.名词解释:
包
表达式
GUI
图形用户界面(GraphicalUserInterface,简称GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。
最终类
隐藏
20.假设下列try-catch块中的statement2引起一个异常:
try{
statement1;
statement2;
statement3;
}catch(Exception1ex1){
}
catch(Exception2ex2){
}
catch(Exception3ex3){
throwex3
}finally{
statement4;
}
statement5;
回答下列问题:
(1)简述Java中的Throwable类。
它是异常类的根类,Exception和Error都属于Throwable的子类
(2)Statement5会执行吗?
会
(3)如果异常的类型是Exception3,会发生什么情况?
statement5会执行吗?
statement4会执行吗?
Try中捕获到Exception3异常会执行throwex3以及statement4、statement5;会;会。
21.什么是抽象类,什么是接口?
接口与抽象类有什么区别?
包含一个抽象方法的类就称为抽象类,用类和抽象方法用abstract声明;
接口全部是由全局变量和公共的抽象方法所组成,用interface声明类;
区别:
如下
22.请说明什么是事件源、事件、监听器。
并根据下图给出的Java中事件的委托代理机制的工作原理图解释Java中事件处理的一般过程。
并以用户点击某个JButton对象为例,说明Java中是如何进行事件处理的。
(注:
点击按钮将产生ActionEvent事件,处理该事件必须遵循接口ActionListener的规定,实现voidactionPerformed(ActionEvente)方法)
23.构造方法是类的一种特殊方法,它的主要作用是什么?
它具有一般方法的共性,即有名称、参数和方法体,同时它有一些自身的特点,请说明构造方法的特殊之处?
为类中的属性初始化
构造方法的名称必须与类名称一致
构造方法的声明处不能有任何返回值类型的声明
不能在构造方法中使用return返回一个值
四.程序阅读:
41.阅读下列程序,并给出程序运行的结果。
publicclassPassByValue{
staticvoidswap(intn1,intn2){
inttmp=n1;n1=n2;n2=tmp;
System.out.println("进入swap方法,交换后,num1和num2的值为:
"+n1+","+n2);
}
publicstaticvoidmain(String[]args){
intnum1=1;
intnum2=2;
swap(num1,num2);
System.out.println("调用swap方法后,num1和num2的值为:
"+num1+","+num2);
}
}
进入swap方法,交换后,num1和num2的值为:
2,1
调用swap方法后,num1和num2的值为:
1,2
24.阅读下列程序,并给出程序运行的结果。
publicclassFoo
{
staticinti=0;
staticintj=0;
publicstaticvoidmain(String[]args)
{
inti=2;
intk=3;
{
intj=3;
System.out.println("i+j="+(i+j));
}
k=i+j;
System.out.println("k="+k);
System.out.println("j="+j);
System.out.println("i="+Foo.i);
}
}
i+j=5
k=2
j=0
i=0
25.阅读下列程序,并给出程序运行的结果。
classexam1{
publicstaticvoidmain(Stringargs[]){
StringBuffers=newStringBuffer("eacher!
");
charc='T',e=',',g='!
';
doubled=3.14159;
charf[]={'W','e','l','c','o','m','e','!
'};
System.out.println("insertachar:
"+s.insert(0,c));
s.insert(0,e);
System.out.println("insertadouble:
"+s.insert(0,d));
s.insert(0,g);
System.out.println("insertaArray:
"+s.insert(0,f));
}
}
insertachar:
Teacher!
insertadouble:
3.14159,Teacher!
insertaArray:
Welcome!
!
3.14159,Teacher!
42.阅读下列程序,并给出程序运行的结果。
publicclassRunTest{
staticvoidnPrintln(intn){
while(n>0){
System.out.println("n="+n);
n--;
}
}
publicstaticvoidmain(String[]args){
inttimes=2;
nPrintln(times);
System.out.println("结束函数调用后times是:
"+times);
}
}
n=2
n=1
结束函数调用后times是:
2
五.程序填空
26.下列程序功能是使用二维数组显示杨辉三角形的前7行。
7行的杨辉三角如下图所示。
classTriangle{
publicstaticvoidmain(Stringargs[]){
finalintcols=7;
intyh[][]=newint[cols][cols];
for(inti=0;iyh[i][0]=yh[i][i]=1;
for(inti=2;ifor(intj=1;j
yh[i][j]=yh[i-1][j-1]+yh[i-1][j];
for(inti=0;ifor(intj=0;j<=i;j++)
System.out.print(yh[i][j]+"\t");
System.out.println();
}
}
}
43.下列程序的功能是从键盘输入任意两个字符串,判断串1是否是串2的子串。
importjava.io.*;
publicclassexam_01{
publicstaticvoidmain(String[]args)
(1){
BufferedReaderbrd=newBufferedReader(newInputStreamReader(
(2)));
Stringstr1,str2;
System.out.println("请输入两个字符串:
");
str1=brd.readLine();
str2=(3);
intpos=str2.indexOf(str1);
if(pos<0)System.out.println(str1+"不是"+str2+"的子串!
");
elseSystem.out.println(str1+"是"+str2+"的子串!
");
}
}
六.程序题:
44.编写一个Java程序,求出整数1~100内的所有素数,并在屏幕上显示出来。
publicclassSushuDemo{
publicstaticvoidmain(String[]args){
for(inti=2;i<=100;i++){
for(intj=2;j<=i;j++){
if(i%j==0){
break;
}
if(j