}
long sum(long n) {
long s=0;
for(long k=1; k<=n; k++) s+=k; return s; } }
10、在Java语言中,线程是多任务操作系统用于分配计算机CPU时间片的最小单位。JAVA语言通过_____________机制可以大大地提高计算机CPU的工作效率。 11、下面程序的结果是 。 public class Demo {
public static void main(String args[]) {
String programOut=”I love java program language”; String key=”love”;
int index=programOut.indexOf(key);
System.out.println(“Found key at “+index); } }
12、在JAVA中,创建一个线程一般有两种方式,即继承_____________类和定义一个实现_______________接口的类。
13、将Applet小程序嵌入到网页中,在其对应的HTML网页文件中用___________________ 对标记符号来实现。
14、在Java程序中为了创建菜单,在Java中提供了MenuBar,Menu和MenuItem三个类来实现。写出为某窗口创建一菜单栏对象myMenu的语句:________________________________。 15、 下面是一个Applet,其功能为:在标签上输出字符串“Java程序”。要求标签以红色为背景,以白色为前景。
________________________; import java.awt.*;
public class Applet1 extends Applet{
Label p=new Label(\ Java 程序 \public void init( ) {
add(p);
_______________________________ ; p.setForeground(Color.white);
}
}
16、所有的Java小程序都是_____________________的子类,其初始化过程由小程序的___________方法来完成。
17、当Java程序开始运行时,Java运行环境系统自动地通过System类的预定义创建三个静态的I/O对象。它们是System.in(标准输入流对象)、___________________________ 和System.err(标准错误流对象)。
18、下面是定义一个接口ITF的程序,完成程序填空。
public ______________ ITF {
public static final double PI=Math.PI;
public __________ double area(double a, double b); }
下面是定义一个接口A的程序,完成程序填空。 public interface A {
public static _______ double PI=3.14159;
public abstract double area(double a, double b)_____ }
19、 阅读下列程序按要求完成填空。
import java.applet.*; ___________________________;
//导入java.awt包
public class ABC extends Applet {
Label label1 = new Label();
//下面是声明并创建一个名为text1,内容为“静态文本框的”的文本域。
TextField text1=new TextField(\静态文本框\TextArea
textarea1=new
TextArea(\
World!\
//下面是声明并创建一个名为button1的按钮,其上显示的信息为:“Click Me”。请填上相关语句。
___________________________________________;
Panel P1=new Panel(); public void init() {
//创建一个新的Panel类的对象P1
边 }
this.setBackground(Color.lightGray); this.setForeground(Color.black); label1.setText(\
this.setLayout(new BorderLayout());
//采用BorderLayout布局
P1.setBackground(Color.blue); //设置面板的背景色为兰色 this.add(\P1.add(text1);
//将文本域text1加入到面板P1中 //将按钮button1加入到面板P1中 //将面板P1加入显示区域的中央
//将文本区域textarea1加入显示区域的南
______________________; this.add(\ ______________________;
}
20、Java 语言的接口是特殊的类,其中包含______常量和_______方法。(static(静态) ; abstract(抽象))
21、下面是一个类的定义,完成程序填空。 public class Youwrite {
int x;
_______( ) {x=0;} Youwrite ( int x) { _____; } }
22、属性的隐藏是指子类重新定义从父类继承来的__________。
23、如果子类中的某个变量的变量名与它的父类中的某个变量完全一样,则称子类中的这个变量________了父类的同名变量。
24、将当前文件夹下的所有文件打包myjar.jar的命令是 。
25、下面程序的结果是: class C1 {
int a;
C1(int i) { a=i; }
void display() { System.out.print(“a:”+a); } }
class C2 extends C1 {
int b;
C2(int i,int j) { super(i); b=j; }
void display() { System.out.print(“b:”+b); } }
class DemoOverride {
public static void main(String args[]) {
C2 subObj=new C2(10,20); subObj.display(); } }
26、当使用Thread t=new Thread( r )创建一个线程时,表达式:r instanceof Thread的值是 。
27、下列程序的功能是在监控台上每隔一秒钟显示一个字符串“Hello”,请在程序中下划线位置填写适当语句,使程序完整并能正确运行。(此题6分) public class Test implements Runnable {
public static void main(String args[]) { Test t=new Test();
Thread tt=new Thread(); tt.start(); }
public void run() { for( ; ; ) { try{
; }catch( e) { } System.out.println(“Hello”); } } }
四、简答题:阅读程序(或程序片段)并回答问题 。
1. import java.awt.*; import java.applet.*;
public class Test51 extends Applet {
float[ ] x = {1.2f, 3.4f, 5.6f, 7.8f}; public void paint(Graphics g) {
int s=0;
for( int i = 0; i < x.length; i++ ) s += (int)x[i];
g.drawString(\ } }
问题:
1)程序的输出结果是什么?
2)方法paint()中的循环体 s += (int)x[i]; 能写为 s +=x[i]; 吗? 为什么? 2.有如下源程序:
import java.awt.*; import java.applet.*;
public class Test54 extends Applet {
B b;
public void init( ) {
b=new B( 'f', 87.6f, 69.1f); }
public void paint(Graphics g) {
g.drawString(\序号 \性别 \成绩1 \
+\成绩2 \ b.Print(g); } }
class A {
static int n=100; char ch; A( ) { n++; }
A( char c){ this( ); ch=c; } void Print(Graphics g) {
g.drawString(\ } }
class B extends A {
float s1, s2;
B(float r1,float r2){ s1=r1; s2=r2; } B( char c, float r1, float r2) {
super(c);
s1=r1; s2=r2; }
void Print(Graphics g) {
super.Print(g);
g.drawString(\ } }
一、 选择题
1、下面说法正确的是( A )。 A)final 可修饰类、属性、方法。 B)abstract可修饰类、属性、方法。 C)定义抽象方法需有方法的返回类型、名称、参数列表和方法体。 D)用final修饰的变量,在程序中可对这个变量的值进行更改。 2、下列最终属性(常量)i 的定义中,正确的是( C )。 A) static final double i; B) abstract final int i=8; C) final double i=3.14159; D) float i=1.2f;
3、定义 Java Applet程序时,必须有的 import语句是( A )。 A) import java.applet.Applet; B) import java.io.*; C) import java.awt.event; D) import java.lang.*; 4、下列选项中,用于定义接口的关键字是( C )。 A)import B) implements(引入接口) C) interface D) protected
5、以下哪个方法仅在Applet程序被创建和首次被载入支持Java的浏览器时被调用 ( B )。 A)paint() B)init() C)action() D)start() 6、下列说法哪个不正确 ( C )。
A、 在Java语言中,Frame(框架)是构建应用程序图形界面的基础,为程序实现人
机交互提供对话窗口。
B、 Frame类中提供了Frame()和Frame(String title)两种构造方法来创建窗口,它们创
建的窗口都不可见。
C、创建Frame窗口对象后,只能使用resize()方法来设置其大小。 D、在Java中,面板(Panel)是为在窗口中安放其他组件提供一个基础的。
7、在Java中的Graphics类提供了在屏幕上显示文本的方法,但要使文字具有不同字体、 大小、风格,则需要使用下列哪个类提供的构造方法(构造函数)来决定。( A )。 A、Font类 B、Color类 C、setFont() D、setColor()
8、Java语言中的动画制作,首先是在动画程序的主体中实现一个动画循环线程,在该线 程中用paint()方法显示一静态帧,然后每隔一段时间调用下列哪个方法来完成其他帧 的显示。( B )。 A、start()方法 B、repaint()方法 C、update()方法 D、drawString()方法 9、在JAVA中,下列哪个方法可使线程休眠( B )。 A、start() B、sleep() C、stop() D、suspend() 10、在JAVA中,网络编程可在三个层次上进行,下列哪个不是。( C )。 A、URL层 B、Socket层 C、OSI的物理层 D、Datagram数据流层 11、 Applet小程序 和 Application独立程序的主要区别是( )。 A、小程序内必须有 main() 方法 B、独立程序必须包含 main() 方法,而Applet小程序的父类一定是Applet C、两者都必须有 main() 方法 D、小程序必须包含 main() 方法,而独立程序的父类一定是Applet 12、在JAVA语言网络编程中,URL类是在java.net包中,该类中提供了许多方法用来访
问URL对象的各种资源,下列哪个用来获取URL中的端口号。( A、getFile()
B、getProtocol()
C、getHost()
)。
D、getPort()
13、JAVA语言中的套接字(Socket)是一种基于网络进程通信的接口,是网络通信协议的
一种应用。它有两个主要类,下列哪个在Application应用程序中实现客户端的通信 功能。(
)
A、ServerSocket类 B、URL类 C、Socket类 D、Client
14、在Java中,对组件可实现不同的布局,下列哪个不对( )。 A、顺序布局(FlowLayout) B、边界布局(BorderLayout) C、网络布局(GridLayout) D、中央布局(CenterLayout) 15、下面的程序输出的结果是( )。 public class CC implements BB {
public static void main(String[] args) {
int i=6;
CC c1=new CC(); i=c1.k;
}
}
interface BB {
int k=10;
}
A、i=0 B、i=6 C、i=10 D、i=true 16、以下关于Java语言继承的说法正确的是( )。 A)Java中的类可以有多个直接父类 --1个 B)抽象类不能有子类 C)Java中的接口支持多继承 D)最终类可以作为其它类的父类 17、下列方法中可以用来创建一个新线程的是( ) A) 实现java.lang.Runnable接口并重写start()方法 B) 实现java.lang.Runnable接口并重写run()方法 C) 继承java.lang.Thread类并重写run()方法 D) 实现java.lang.Thread类并实现start()方法
18、要使用Java语言开发socket程序,需要使用( )包。 A)java.net B)java.io C)java.awt D) java.util
19、当浏览器重新返回Applet所在页面时,将调用Applet类的方法是( A ) A) start() B) init() C) stop() D) destroy()
20、int型public成员变量MAX_LENGTH,该值保持为常数100,则定义这个变量的语
句是( ) A)public int MAX_LENGTH=100 B)final int MAX_LENGTH=100 C)public const int MAX_LENGTH=100 D)public final int MAX_LENGTH=100
System.out.println(“i=”+i);
二、 判断题
1、 2、 3、 4、 5、 6、 7、 8、 9、 10、 11、 12、 13、 14、 15、 16、 17、 18、 19、 20、 21、 22、
声明为final的方法不能在子类中重载。
Java语言中的接口可以继承,一个接口通过关键字extends可以继承另一个接口。一个JAVA的类可以有多个接口,它们通过关键字 implements 来实现。对 抽象方法只能存在于抽象类中。(还存在于接口中)错 接口中所有方法均为抽象方法。对
接口是由常量和抽象方法组成的特殊类。对
abstract 是抽象修饰符,可以用来修饰类及其属性和方法。(不能修饰属性) 错 抽象类只能做为父类。可以定义(但不能创建)抽象类的对象。对 最终方法只能存在于最终类中。错 (不能被覆盖)
Java小程序(Applet)的主类的父类必须是类Applet。对
在父类中声明为 final 的方法,也可以在其子类中被重新定义(覆盖)。错 (不能被覆盖)
在程序中可对用final修饰的变量的值进行更改。错
应用程序一定要有main()方法,小程序一定要继承于Applet 类。 对 一个Java Applet源程序的主类能有多个父类。(什么主类都不能有父类) 错 在Java中,异常(Exception)是指程序在编译和运行进出现的错误 错 (运行时出现错误才使异常)。
每个 try 块都必须至少有一个 catch 块与之相对应。 错
在Java语言中,drawOval(100,100,80,80)表示绘制圆,其中(100,100)表示圆心。对
接口中所有方法均为public的。 对
java中一个子类可以有多个父类1个,并可以为一个(父)类定义多个子类。错 一个子类可以重新定义从父类那里继承来的同名方法,但是允许它们有不同类型的返回值。错
子类的成员变量能与其父类的成员变量同名。对
Java中所有的类都是java.lang的子类。错 (是Java.long Object子类) 由于URL对象对应的Internet地址可以划分为“协议名”、“端口号”和“文件名”3部分,所以创建一个URL对象后,可以通过修改这3部分内容来修改这个URL对象的Internet地址。 对
三、 填空题
下面是用户程序对 Applet 类中方法 paint( ) 的重新定义。 ______public____ void paint(Graphics g) { g.drawString____(\你好!\ 2、 Java小程序(Applet)的主类的类头应写为public class 类名extends Applet ,小程序在 网络 ______环境下运行。 3、 将下面的程序补充完整。
public void paint(Graphics __grap__ ) {
int i=689;
grap.drawString (Integer.__toString____(i) ,20,60); }
4、下面是一个类的定义,完成程序填空。 import java.awt.*; import java.applet.*;
public class myprogram extends __Applet_____ 1、
{
Label p1; TextField in; public void init( )
{ p1=new Label(\请输入一个整数\; Add(p1)____________; in =new TextField( 8 ); add( in ); } } 5、下面的java小应用程序实现的功能是从文本域中输入你的名字”***”,回车后在Applet中显示”***,你好!”,将程序补充完整 。
import java.awt.*; import java.applet.*; import java.awt.event.*;
public class Applet1 extends Applet implements ActionListener {
Label aa; TextField t1; String s=” ”; public void init() {
aa=new Label(\请输入你的名字:\ add(aa);
t1=____new TextField( )_______; add(t1);
t1.addActionListener(this); }
public void paint(Graphics g)
{ g.drawString(s,20,100); }
public void actionPerformed(ActionEvent e) {
s=_____t1.getText()+”,你好!”____; repaint(); } }
6、下面是一个小程序的主类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( ); } }
7、下面程序的功能是输出数组各元素的和。 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( \sum_______ , 25, 25 ); } }
8、Java 程序可以分为 Application 和 Applet 两大类,能在 WWW 浏览器上运行的是 _________ 。
9、下面程序的功能是从文本域中输入一个整数作为方法sum( )的参数,并在小程序窗口中输出调用该方法后的结果,请完成程序填空。
import java.awt.*; import java.applet.*; import java.awt.event.*;
public class Applet1 extends Applet _______ ActionListener {
Label a;
TextField t1; int i;
public void init( ) {
a=new Label(\请输入一个整数\
add(a);
t1=new TextField(12);
add(t1);
t1.addActionListener(this); }
public void paint(Graphics g)
{ g.drawString(\ public void actionPerformed(ActionEvent e) {
i=Integer.parseInt(t1.getText( )); repaint( );
问题: 该程序的输出是什么? 3、import java.awt.Graphics;
import java.applet.Applet;
public class BreakTest extends Applet {
public void paint( Graphics g ) {
int count, xPos = 25;
for ( count = 1; count <= 10; count++ ) {
if ( count == 8 ) break;
g.drawString( \ xPos += 10; } } }
问题:
1)程序的输出结果是什么?
2)方法调用 g.drawString( \的第一个实参中为什么要有串 \\?
4、有如下源程序,请回答问题:
public class ExceptionDemo{
public static void funC() throws Exception{ System.out.println(\进入函数C\ throw new Exception(\异常测试\ }
public static void funB() throws Exception{ System.out.println(\进入函数B\ funC(); System.out.println(\退出函数B\ }
public static void funA() throws Exception{ System.out.println(\进入函数A\ funB(); System.out.println(\退出函数A\ }
public static void main(String args[]){ System.out.println(\进入主函数main\ try{ funA(); System.out.println(\如果出现异常,该语句打印否?退出主函数main\ } catch(Exception e){ System.out.println(\出现异常\ } System.out.println(\退出主函数\ }
}
问题: 该程序的输出是什么? 5、阅读下面的程序,回答以下问题: import java.awt.*;
import java.applet.*; import java.awt.event.*;
public class Applet1 extends Applet implements ActionListener {
Label label; TextField t1; int i=0;
public void init() {
label=new Label(\请输入一个整数:\ add(label);
t1=new TextField(10); add(t1);
t1.addActionListener(this); }
public void paint(Graphics g) {
int product=1;
for(int k=1;k<=i;k++) product+=k;
g.drawString(\ }
public void actionPerformed(ActionEvent e) {
i=Integer.parseInt(t1.getText()); repaint(); } }
1)ActionListener是类还是接口? 程序中哪个方法是ActionListener中的方法,其功能为何?
2)若在文本域中输入3并回车,写出程序输出的结果?