JAVA考试参考题型答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一.单项选择题(每题2分,共30分)
1.若数组a定义为int[][]a=new int[3][4],则a是(B )。

A.一维数组B.二维数组C.三维数组D.四维数组2.下列关于for循环和while循环的说法中(A )是正确的。

A、while循环能实现的操作,for循环也都能实现
B、while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果
C、两种循环任何时候都可替换
D、两种循环结构中循环体都不可以为空3.void 的含义为(C )。

A.方法体为空B.定义的方法没有形参
C.定义的方法没有返回值D.方法的返回值不能参加算术运算
4.以下有关类的构造函数继承的说明,正确的是(C )。

A.子类继承父类的构造函数,但不能自己定义
B.子类可定义自己的构造函数,但受父类定义的构造函数的限制
C.子类和父类均可独自定义自己的构造函数,但执行时的顺序有规定D.如父类定义了构造函数,则子类只能继承父类的构造函数,不能自己定义5.下面说法正确的是(C )。

A.Java语言里的线程不是对象
B.Java中任何可执行的类都需要main方法
C.Java语言的类都是ng.Object的子类
D.double是Java语言合法的标识符
6.下列属于容器的组件有(B )。

A.Button B.Panel C.线程D.TextArea
7.在Java语言中,不允许使用指针体现出的Java特性是( D )。

A.可移植B.解释执行C.健壮性D.安全性
8.下列方法中,不属于WindowListener接口的是(D )。

A.windowOpened() B.windowClosed()
C.windowActivated() D.mouseDragged()
9.下列关于Applet的说法中,错误的是(C )。

A.Applet自身不能运行,必须嵌入到其它应用程序(如浏览器)中运行;
B.可以在安全策略的控制下读写本地磁盘文件;
C.Java中不支持向Applet传递参数;
D.Applet的主类要定义为java.applet.Applet类的子类
10.在Applet中显示文字、图形等信息时,应使用的方法是( A )。

A.paint() B.init() C.start() D.destroy()
11.Thread类中能运行线程体的方法是(A )。

A.start() B.resume() C.init() D.run()
12.给出下面代码,关于该程序以下哪个说法是正确的?( C )
public class Person{
static int arr[] = new int[5];
public static void main(String a[])
{
System.out.println(arr[0]);}
}
A.编译时将产生错误 B.编译时正确,运行时将产生错误
C.输出零 D.输出空
13.每个Java小应用程序必须定义为(A )。

A.Applet 类或applet类的子类B.frame类的子类
C.Frame的子类D.Window的子类
14.如果想限制当前类之外对某个成员的访问,应选择如下哪一种修饰符?( B )
A.public B.private C.protected D.不需要任何修饰符
15.下列关于Applet的叙述中,错误的是( A )。

A.Applet是Java类,所以可以由JDK中的解释器java.exe直接解释运行;B.Applet应该定义为java.applet.Applet类或javax.swing.Applet类的子类;C.Applet与Application的主要区别在执行方式上;
D.通过在HTML文件中采用<PARAM>标记可以向Applet传递参数
16.调用线程的下列方法,不会改变该线程的生命周期中状态的方法是( D )。

A.yield() B.wait() C.sleep() D.isAlive()
17.下列情况中,不会使线程返回所持有的对象锁的是( B )。

A.当synchronized()语句块执行完毕
B.当调用了线程的suspend()方法
C.当在synchronized()语句块中出现异常(exception)
D.当持有锁的线程调用该对象的wait()方法
18.下列方法中可以用来创建一个新线程的是(C )。

A.实现ng.Runnable接口并重写start()方法
B.实现ng.Runnable接口并重写run()方法
C.继承ng.Thread类并重写run()方法
D.继承ng.Thread类并重写start()方法
二.填空题(每空1分,共10分)
1.Java语言中,有一个类是所有类或接口的父类,这个类的名称是Object 。

2.表达式3/6 * 5的计算结果是__0__ 。

3.在Java中,线程的模型就是一个CPU、程序代码和数据的封装体。

4.Applet是能够嵌入到HTML 格式的文件中,并能够在浏览器中运行的Java。

5.构件不能独立地显示出来,必须将构件放在一定的容器中才能显示。

6.顺序结构、分支结构(或称选择结构)、__循环结构是结构化程序设计的三种基本流程控制结构。

7.Java 源程序文件编译后产生的文件称为类文件,其扩展名为.class 。

8.Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为float和_double__两种具体类型。

9.在Java语言中,所有的数组都有一个length属性,这个属性存储了该数组的元素个数(长度)
三.下列各题中,你认为正确的就在其题干后的括号内打"√",错误的打"×"(每小题1分,共10分)
1.Java 和c++都是面向对象的程序设计语言。

( √)
2.同一个类中定义多个参数列表不同的同名方法,叫做方法的重载。

( √) 3.保留字this 代表当前对象。

( √)
4.一个程序里可以有多个父类,也可以有多个主类。

( ×)
5.一个子类可以重新定义从父类那里继承来的同名方法,而且允许它们有不同的返回值。

( ×)
6.抽象方法只能存在于抽象类中。

( ×)
7.在父类中声明为final 的方法,也可以在其子类中被重新定义(覆盖)。

( ×) 8.接口中所有方法均为抽象方法。

( √)
9.类的构造函数名必须和类名相同。

( √)
10.static 变量不能是private 变量。

( ×)
四.程序填空(每空2分,共20分)
1.下面程序的功能是输出数组各元素的和。

import java.awt.Graphics;
import java.applet.Applet;
public class SumArray extends Applet
{
float[] a;
a= new ___float____[6];
float sum=0.0f;
public void init( )
{
for ( int j = 0; j < a.length; j++ )
a[j] = j+1;
for ( int i = 0 ; i < a.length; i++ )
sum+= a[i];
}
public void paint( Graphics g )
{
g.drawString( "Total of array elements: " + __sum___ , 25, 25 );
}
}
2.下面是一个类的定义:
public class __Myclass___
{
Myclass ( int i, __int j__) // 构造函数
{
x=i;
y=j;
}
}
3.完成下面程序中要求填入的内容:
import java.awt. Graphics ;
import java. applet .Applet;
public class Hello extends Applet{
public void paint(Graphics g )
{ g.drawString (“Hello world!”, 20,20);
}
}
4.下面是一个小程序的主类MyProgram的定义, 其中A、B是该主类所在源程序中已定义的另两个类的类名:
import java awt.*;
import java applet.*;
public class MyProgram extends Applet //定义小程序的主类
{
A a;
B b;
public ___void___ init( )
{ a=new A( );b=___new__ B( ); }
}
5.阅读下列程序并填空:
public class Test extends Frame {
public Test( ) {
add ( new Label (“Hello”)) ;
add(new Button(“Hello”));
setVisible (true) ;
}
public static void main(String[] args){
new Test( ) ;
}
}
五、简答题(共3小题,22分)
阅读程序(或程序片段)并回答问题。

1.import java.awt.*;
import java.applet.*;
public class Test51 extends Applet
{
float[ ] x = {1.2, 3.4, 5.6, 7.8};
public void paint(Graphics g)
{
int s=0;
for( int i = 0; i < x.length; i++ )
s += (int)x[i];
g.drawString(" " + s, 30, 60);
}
}
问题:
1) 程序的输出结果是什么?(3分)
16
2) 方法paint()中的循环体s += (int)x[i]; 能写为s +=x[i]; 吗? 为什么?(3分)
2.public class Test
{String str1="Hello, Java world! \t";
String str2="Hello, students! ";
public static void main(String args[])
{
System.out.print(str1);
System.out.println(str2);
}
}
问题:
1)这是哪种形式的Java 程序?(3分)
2)程序的输出是什么?输出的结果在Applet 窗口中吗?(4分)
Hello, Java world! Hello, students!
3.设ch1, ch2是char 型变量:
if ( ch1 = = …a' )
{
if ( ch2 = = …b' )
System.out.print(" ch1='a' , ch2='b' ");
}
else
System.out.print(" ch1!='a' ");
System.out.println(" end ");
问题:
1)若执行前ch1 的值为…a', ch2 的值为'c' 该程序段输出是什么?(3分)end
2)若执行前ch1 的值为'w', ch2 的值为'b' 该程序段输出是什么?(3分)
ch1!='a' end
3)若执行前ch1 的值为'a', ch2 的值为'b' 该程序段输出是什么?(3分)
ch1='a' , ch2='b' end
六.编程题(8分)
1.编写一个输出“Hello World!”的程序,用两种方式实现(Application、Applet)。

解答:
Application程序:
public class HelloApplication
{
public static void main(String[] args)
{
System.out.println(“Hello World!”);
}
}
Applet程序:
import java.awt.Graphics;
import java.applet.Applet;
public class HelloApplet extends Applet
{
public void paint(Graphics g)
{
g.drawString(“Hello World!”20,20);
}
}
2.编写一个地址薄的程序,设计一个能存储姓名、E-mail地址,并能显示姓名和E-mail地址的Address类。

public class Address{
String name, E-mail;
void shouInfo(){
System.out.println(name+”:”+E-mail);
}
public static void main(String[] args) {
Address person=new Address();
=”zhang san ”;
person.E-mail=”zhangsan123@”; person.showInfo();
}
}。

相关文档
最新文档