首页 养生问答 疾病百科 养生资讯 女性养生 男性养生
您的当前位置:首页正文

《JAVA面向对象程序设计》练习题参考答案

2020-07-07 来源:华佗健康网
《JAVA语言程序设计》练习题1

一、单选择题

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、不允许作为类及类成员的访问控制符的是( )。 A. public B. private C. static D. protected

4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。

A. static void method( ) B. public void method( ) C. final void method( ) D. abstract void method( )

5、给定java 代码如下,编译运行后,输出结果是( )(选择一项)。

public class test { static int i;

public int aMethod() { i++; return i;

}

public static void main (String args[]) { Test test=new Test() ; test.aMethod () ;

} }

a) 0 b) 1 c) 2 d) 3 二、填空题

1、开发与运行Java程序需要经过的三个主要步骤为 编辑源程序 、 编译生成字节码 和 解释运行字节码 。

2、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占 用 2 字节内存空间,这样,无论是中文字符还是英文字符,都是占 用 2 字节内存空间。

3、设 x = 2 ,则表达式 ( x + + )/3 的值是 0 。

4、若x = 5,y = 10,则x < y和x >= y的逻辑值分别为 true 和 false 。

5、 抽象(abstract) 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类

之中定义。 最终(final) 方法是不能被当前类的子类重新定义的方法。 6、创建一个名为 MyPackage 的包的语句是package MyPackage ; , 该语句应该放在程序的位置为: 应该在程序第一句 。

7、设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以下几个语句后的输出结果是 120 。 int s = 0 ;

for (int i = 0 ; i < MyIntArray.length ; i + + ) if ( i % 2 = = 1 )

s += MyIntArray[i] ;

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

三、写出下面程序的运行结果 1、 import java.io.*;

public class abc {

public static void main(String args [ ]) {

AB s = new AB(\"Hello!\

} } class AB { String s1; String s2;

public AB(String str1, String str2) {

s1 = str1; s2 = str2; }

public String toString( ) {

return s1+s2; } }

运行结果:Hello! I love JAVA. 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] ; } }

运行结果:s = 180 3、class Parent { String one, two;

public Parent(String a, String b){ one = a; two = b; } }

public class Child extends Parent { public Child(String a, String b){ super(a,b); }

public void print(){ }

public static void main(String args[]){ Parent p = new Parent(\"south\ Parent t = new Child(\"east\ p.print(); t.print(); } }

运行结果:south east to west

《JAVA语言程序设计》练习题2

一、判断题

1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。(√ ) 2.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。 (× ) 3.构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。 (× )

4.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。 (√ )

5.拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。 (√ ) 6.静态初始化器是在其所属的类加载内存时由系统自动调用执行。 (√ )

7.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。 (× )

二、单项选择题

1.Java application中的主类需包含main方法,以下哪项是main方法的正确形参?( )

A、 String args B、String args[] C、Char arg D、StringBuffer args[]

2.以下关于继承的叙述正确的是( )。

A、在Java中类只允许单一继承 B、在Java中一个类只能实现一个接口

C、在Java中一个类不能同时继承一个类和实现一个接口 D、在Java中接口只允许单一继承

3.paint()方法使用哪种类型的参数? ( )

A、Graphics A、int

A、static A、init()

1.

B、Graphics2D B、Boolean B、package B、start()

C、String C、float

D、Color D、char

D、public

4.以下哪个不是Java的原始数据类型( )

5.若需要定义一个类域或类方法,应使用哪种修饰符?( )

C、private

6.在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行( )。

C、destroy() D、stop()

7.有以下程序片段,下列哪个选项不能插入到行1。( )

2 .public class Interesting{ 3. //do sth 4.}

A、import java.awt.*; C、class OtherClass{ }

8. 设有下面两个赋值语句:

B、package mypackage; D、public class MyClass{ }

a = Integer.parseInt(“12”);

b = Integer.valueOf(“12”).intValue(); 下述说法正确的是( )。

A、a是整数类型变量,b是整数类对象。 B、a是整数类对象,b是整数类型变量。 C、a和b都是整数类对象并且值相等。 D、a和b都是整数类型变量并且值相等。

9.FilterOutputStream是BufferedOutputStream、DataOutputStream及PrintStream的父类,以下哪个类可能是FilterOutputStream构造函数的参数类型?

A、OutputStream C、InputStream

B、File

D、BufferedOutputStream

B、import D、

10.在编写Java Applet程序时,需在程序的开头写上( )语句。

A、import java.awt.* ; C、import java.io.* ;

11.在使用interface声明一个接口时,只可以使用( )修饰符修饰该接口。

A、private B、protected C、private protected D、public

三、程序阅读题

1.以下程序的输出结果为 相等 。

class StringTest1 { }

2.以下程序段的输出结果为 5 6 7 8 9 。

public static void main(String[] args) { }

String s1=\"hello\";

String s2=new String(\"hello\"); if(s1.equals(s2)){ }else{ }

public class TestArray {

public static void main(String args[ ]){

int i , j ;

int a[ ] = { 5,9,6,8,7};

for ( i = 0 ; i < a.length-1; i ++ ) {

int k = i;

for ( j = i ; j < a.length ; j++ )

if ( a[j]int temp =a[i]; a[i] = a[k]; a[k] = temp;

}

for ( i =0 ; i} }

3.写出以下程序的功能。

import java.io.*; public class TestFile {

public static void main(String args[]) throws Exception {

BufferedReader br = new BufferedReader(

new InputStreamReader(System.in));

BufferedWriter bw = new BufferedWriter(new FileWriter(“input.txt\")); String s; while (true)

{

s=br.readLine(); if (s.length()==0) break; bw.write(s); bw.newLine(); } bw.close(); } }

功能:从键盘逐一输入字符串,逐一输出至input.txt文件中,直至输入空行。

4.阅读以下程序,写出输出结果。

class Animal { Animal() {

nimal \"); } }

public class Dog extends Animal { Dog() { Dog \"); }

public static void main(String[] args) { Dog snoppy= new Dog(); } }

输出结果:Animal Dog

《JAVA语言程序设计》练习题3

一、单项选择题

1、如下哪个是Java中的标识符()

A、public B、super

C、3number D、width

2、如下哪个是Java中的标识符( )

A、fieldname B、super

C、3number D、#number

3、已知如下定义:String s = \"story\"; 下面哪个语句不是合法的( )

A、s += \"books\"; B、s = s + 100; C、int len = s.length;

D、String t = s + “abc”;

4、如下哪个是Java中有效的关键字()

A、name B、hello

C、false

D、good

5、下面的代码段执行之后count的值是什么( )

int count = 1;

for (int i = 1; i <= 5; i++) { count += i;

}

System.out.println(count); A、5

B、1

C、15

D、16

6、定义一个类,必须使用的关键字是( )

A、public

B、class

C、interface

D、static

7、定义一个接口必须使用的关键字是( )

A、public

B、class

C、interface

D、static

8、如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是( A、p.add(b);

B、p.add(b,\"North\");

C、p.add(b,\"South\");

D、b.add(p,\"North\"); 9、声明并创建一个按钮对象b,应该使用的语句是( )

A、Button b=new Button(); B、button b=new button(); C、Button b=new b();

D、b.setLabel(“确定”);

10、Frame对象默认的布局管理器是( )

A、FlowLayout B、BorderLayout C、CardLayout

D、null

11、下列哪一个import命令可以使我们在程序中创建输入/输出流对象()

A、import java.sql.*;

B、import java.util.*;

C、import java.io.*;

D、import java.net.*;

12、下面哪一个import命令可以为我们提供编写网络应用程序的类()

A、import java.sql.*;

B、import java.util.*;

C、import java.io.*;

D、import java.net.*;

) 13、如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象()

A、FileInputStream

B、FileOutputStream

C、DataOutputStream D、FileWriter 二、填空题

1、如果将类MyClass声明为public,它的文件名称必须是(MyClass.java)才能正常编译。 2、Java程序中的单行注释符是( // ),多行注释符是( /* */ )。 3、Java中布尔类型的常量有两种,它们是(true)和(false)。

4、Java中用于定义小数的关键字有两个:(float) 和 (double),后者精度高于前者。 5、Java中用于两个数相等比较的运算符是:(==),用于不相等比较的运算符是(<>)。

6、在Java中定义一个字符串类型的变量str的语句是:(String str;) ,定义一个具有10个元素的整型数组a的语句是:(int [] arr = new int[10];) 。

7、导入mypackage包中的所类的命令是( import mypackage.*; )。

8、当声明一个数组int arr[] = new int[5]; 时,这代表这个数组所保存的变量类型是(int),数组名是(arr),数组的大小为(5),数组元素下标的使用范围是(0到4)。

9、假设x=13,y=4,则表达式x%y != 0的值是(true),其数据类型是(boolean)。 10、异常处理是由(try)、(catch)和finally三个关键块所组成的程序块。 11、以下程序段的输出结果是(三角形)。

int x = 5, y = 6, z = 4;

if (x + y > z && x + z > y && z + y > x) else

System.out.println(\"不是三角形\"); System.out.println(\"三角形\");

12、下面程序段的执行结果是(6 5 4 3 2)。

int a[] = { 2, 3, 4, 5, 6 };

for (int i = a.length - 1; i >= 0; i--)

System.out.print(a[i] + \"\");

三、程序阅读题

1、以下程序的输出结果为_ Peter is 17 years old!___。 public class Person { }

String name; int age;

public Person(String name, int age) { }

public static void main(String[] args) { }

Person c = new Person(\"Peter\", 17);

System.out.println(c.name + \" is \" + c.age + \" years old!\"); this.name = name; this.age = age;

2、以下程序的输出结果为__课程号:101 课程名:ASP 学分:3___。 public class Course { }

class CourseTest { }

3、以下程序的输出结果为__汤姆猫体重:20.0斤___。 public class Tom { }

4、以下程序的输出结果__。 public class Father {

String name, address, tel; int age;

public Father(String name, int age) {

this.name = name; private float weight; private static String name;

public void setWeight(float weight) { }

private void out() { }

public static void main(String[] args) { }

Tom.name = \"汤姆猫\"; Tom cat = new Tom(); cat.setWeight(20); cat.out();

System.out.println(name + \"体重:\" + weight + \"斤\"); this.weight = weight;

public static void main(String[] args) { }

Course c;

c = new Course(\"101\", \"ASP\", 3); c.printCourseInfo(); private String cNumber; private String cName; private int cUnit;

public Course(String number, String name, int unit) { }

public void printCourseInfo() { }

System.out.println(\"课程号:\" + cNumber + \" 课程名:\" + cName + \" 学分:\" + cUnit); cNumber = number; cName = name; cUnit = unit;

}

}

this.age = age;

void out() { }

void outOther() { }

System.out.print(\" 家庭住址:\" + address); System.out.print(\" 电话:\" + tel); System.out.print(\"姓名:\" + name); System.out.print(\" 年龄:\" + age);

class Son extends Father { }

5、下列程序的运行结果是__12345____。 public class MyClass { }

四、简答题

1、简述Java中异常处理的机制?

答:首先Java的异常是面向对象的。一个Java的Exception是一个描述异常情况的对象.当出现异常情况时,

int a[] = { 1, 2, 3, 4, 5 }; void out() { }

public static void main(String[] args) { }

MyClass my = new MyClass(); my.out();

for (int j = 0; j < a.length; j++)

System.out.print(a[j] + \"\");

String school;

public Son(String name, int age) { }

void out() { }

public static void main(String args[]) { }

Son son = new Son(\"Tom\", 15); son.address = \"金水区\"; son.school = \"九中\"; son.tel = ; son.out(); super.out(); super.outOther();

System.out.println(\" 学校:\" + school); super(name, age);

一个Exception对象就产生了,并放到异常的成员函数里。

Java的异常处理是通过5个关键词来实现的:try,catch,throw,throws和finally。

(1)异常处理:在Java语言的错误处理结构由try,catch,finally三个块组成。其中try块存放将可能发生异常的Java语言,并管理相关的异常指针;catch块紧跟在try块后面,用来激发被捕获的异常;finally块包含清除程序没有释放的资源,句柄等。不管try块中的代码如何退出,都将执行 finally块。

(2)抛出异常:Java语言可以不在方法中直接捕获,而用throw语句将异常抛给上层的调用者。Throw语句就是来明确地抛出一个异常;首先你必需得到一个Throwable的实例句柄,通过参数传到catch中,或者采用new操作符来创建一个。 2、什么是继承?

答:通过必要的说明能够实现某个类无需重新定义就拥有另一个类的某些属性和方法,并把这种关系称为继承,先定义的类称为父类,后定义的类称为子类,并且允许多层的继承关系。 3、请简述重载和重写的区别?

答:方法的重写Overriding和重载Overloading是Java多态性的不同表现。

重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。 如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。

如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。 五、程序设计题 1、按以下要求编写程序

(1) 创建一个Rectangle类,添加width和height两个成员变量 (2) 在Rectangle中添加两种方法分别计算矩形的周长和面积 (3) 编程利用Rectangle输出一个矩形的周长和面积 解答:

public class Rectangle { }

float width, height;

public Rectangle(float width, float height) { }

public float getLength(){ }

public float getArea(){ }

public static void main(String [] args) { }

Rectangle rect = new Rectangle(10, 20);

System.out.println(\"周长是:\" + rect.getLength()); System.out.println(\"面积是:\" + rect.getArea()); return this.width * this.height; return (this.width + this.height) * 2; this.width = width; this.height = height;

2、按以下要求编写程序

(1) 编写Animal接口,接口中声明run() 方法 (2) 定义Bird类和Fish类实现Animal接口

(3) 编写Bird类和Fish类的测试程序,并调用其中的run()方法 解答:

public interface Animal { }

class Bird implements Animal { }

class Fish implements Animal { }

public class TestAnimal { }

3、编写一个Frame框架应用程序,要求如下:

(1) 在窗口设置两个菜单“文件”、“编辑”

(2) 在“文件”菜单里添加三个菜单项“打开”、“保存”、“关闭” (3) 在“编辑”菜单里添加两个菜单项“复制”、“粘贴” (4) 点击关闭菜单项时,使程序关闭。 解答: import import import import import import import import import /*

public static void main(String[] args) { }

Bird bird = new Bird(); bird.run();

Fish fish = new Fish(); fish.run(); public void run() { }

System.out.println(\"鱼儿在游...\"); public void run() { }

System.out.println(\"鸟儿在飞...\"); void run();

* 主窗体 */

public class MyFrame extends Frame {

private static final long serialVersionUID private Frame frmMain; // 窗体 MenuBar mb;

// 菜单栏

// \"文件\"菜单 // \"编辑\"菜单 // \"保存\"菜单项 // \"关闭\"菜单项 // \"复制\"菜单项 // \"粘贴\"菜单项

Menu mnuFile; Menu mnuEdit; MenuItem miOpen; MenuItem miSave; MenuItem miClose; MenuItem miCopy; MenuItem miPaste; public MyFrame() { }

public void showFrame() {

frmMain.setSize(800, 600); frmMain.setLocation(100, 100); frmMain.setBackground(Color.white); frmMain.setVisible(true); frmMain.setLayout(null);

frmMain.addWindowListener(new WindowHandler()); // 注册窗口监听器 // 将菜单栏放入窗体中 frmMain.setMenuBar(mb); // 将菜单放入菜单栏中 mb.add(mnuFile); mb.add(mnuEdit); // 将菜单项放入菜单中 mnuFile.add(miOpen); mnuFile.add(miSave); mnuFile.add(miClose); mnuEdit.add(miCopy); mnuEdit.add(miPaste); // 注册动作事件监听器 frmMain = new Frame(\"主窗体\"); // 创建菜单栏 mb = new MenuBar(); // 创建菜单

mnuFile = new Menu(\"文件\"); mnuEdit = new Menu(\"编辑\"); // 创建菜单项

miOpen = new MenuItem(\"打开\"); miSave = new MenuItem(\"保存\"); miClose = new MenuItem(\"关闭\"); miCopy = new MenuItem(\"复制\"); miPaste = new MenuItem(\"粘贴\");

// \"打开\"菜单项

}

}

miClose.setActionCommand(\"miClose_Clicked\"); miClose.addActionListener(new MenuHandler());

// 定义一个内部类,在这个类中编写窗口关闭事件处理程序。 private class WindowHandler extends WindowAdapter { }

// 定义一个内部类,在这个类中编写动作事件处理程序。 private class MenuHandler implements ActionListener { }

public void actionPerformed(ActionEvent e) { }

if (e.getActionCommand() == \"miClose_Clicked\") { }

System.exit(0); // 退出应用程序

public void windowClosing(WindowEvent e) { }

System.exit(0); // 退出应用程序,状态码 0 表示正常终止,非 0 表示异常终止。

public class TestMyFrame { }

public static void main(String[] args) { }

// 启动主窗体

MyFrame guiWindow = new MyFrame(); guiWindow.showFrame();

《JAVA语言程序设计》练习题4

一、单选题

1、下列程序段执行后的结果是( )。

String s = new String(\"abcdefg\"); for (int i=0; iA) aceg B) ACEG C) abcdefg D) abcd 2、有整型数组:int[] x={12,35,8,7,2};,则调用方法Arrays.sort(x)后,数组x中的元素值依次是( ). A) 2 7 8 12 35 C) 35 12 8 7 2

B) 12 35 8 7 2 D) 8 7 12 35 2

3、下面的程序段创建了BufferedReader类的对象in,以便读取本机c盘my文件夹下的文件1.txt。File构造函数中正确的路径和文件名的表示是( )。

File f = new File(填代码处); file =new FileReader(f); in=new BufferedReader(file);

A) \"./1.txt\" B) \"../my/1.txt\" C) \"c:\\\\my\\\\1.txt\" D) \"c:\\ my\\1.txt\" 4、应用程序的main方法中有以下语句,则输出的结果是 ( )。

String s1=new String(\"abc\");

String s2=new String(\"abc\"); boolean b1=s1.equals(s2);

boolean b2=(s1==s2);

A)true false B) false true C) true true D)false false 5、应用程序的main方法中有以下语句,则输出的结果是 ( )。

Hashtable hashtable=new Hashtable();

hashtable.put(\"x\ hashtable.put(\"y\ hashtable.put(\"a\

a\"));

A) a B) abcde C) 12345 D) 67890 6、下面语句的功能是( )。

RandomAccessFile raf2 = new RandomAccessFile(\"1.txt\

A)打开当前目录下的文件1.txt,既可以向文件写数据,也可以从文件读数据。 B)打开当前目录下的文件1.txt,但只能向文件写入数据,不能从文件读取数据。 C)打开当前目录下的文件1.txt,但不能向文件写入数据,只能从文件读取数据。 D) 以上说法都不对。

7、应用程序的main方法中有以下语句,则输出的结果是 ( )。

String s=\"12345#aaa#bbb#67890\"; int n=s.indexOf(\"#\");

int k=s.indexOf(\"#\

int m=s.indexOf(\"#\String s2=s.substring(m+1);

A) 123456 B) 67890 C) aaa D) bbb 8、下面程序段执行后b的值是( )。

Integer integ =new Integer(9);

boolean b = integ instanceof Object; A) 9 B) true C) 1 D) false

9、应用程序Test.java的源程序如下,在命令行键入:

java Test aaa bb c

回车后输出的结果是 ( )。

public class Test {

public static void main(String args[]) { int k1=args.length;

int k2=args[1].length(); } }

A) 3 2 B)1 2 C) 1 3 D) 3 3 10、应用程序的main方法中有以下语句,则输出的结果是 ( )。

int b[][]={{1}, {2,2}, {2,2,2}};

int sum=0;

for(int i=0;iA) 32 B)11 C) 2 D) 3 11、应用程序的main方法中有以下语句,则执行后输出的结果是 ( int[] x={125,21,5,168,98}; int max=x[0];

for(int i=1;iif(x[i]> max)

)。

}

max =x[i];

max);

A) 125 B) 5 C) 98 D) 168 12、程序Test.java编译运行后输出的结果是( )。

public class Test { String s1=\"java\";

public static void main(String args[]) { int z=2;

Test t=new Test(); } }

A) java2 B)2 C)没有输出结果 D)java 13、应用程序的main方法中有以下语句,则输出的结果是 ( )。

String s1=\"0.5\

double x=Double.parseDouble(s1); int y=Integer.parseInt(s2);

x+y);

A) 12.5 B) 120.5 C) 12 D) “12.5” 14、下面的程序创建了一个文件输出流对象,用来向文件test.txt中输出数据,假设程序当前目录下不存在文件test.txt,编译下面的程序Test.java后,将该程序运行3次,则文件test.txt 的内容是( )。

import java.io.*; public class Test { }

public static void main(String args[]) { }

try { }

catch(IOException e) { }

String s=\"ABCDE\"; byte b[]=s.getBytes();

FileOutputStream file=new FileOutputStream(\"test.txt\file.write(b); file.close();

A) ABCABC B) ABCDE C) Test D) ABCDE ABCDE ABCDE 二、多选题

1、下面main()方法的定义哪些是正确的( )?

A) public static void main(String args[]) {} B) public static void main(String[]) {}

C) public static void main(String[] args) {} D)public static void main(String [] x) {} 2、线程对象的生命周期中,通常经历下面哪些状态( )。 A)新建 B)运行 C)就绪 D)死亡 3、下面说法正确的是( )。

A) final 可修饰类、属性(变量)、方法。 B) abstract可修饰类、方法。

C) 抽象方法只有方法头,没有方法体。 D) 关键字final和abstract不能同时使用。

4、下面关于java中输入/输出流的说法正确的是( )。

A) FileInputStream与FileOutputStream类用读、写字节流。 B) Reader与Writer类用来读、写字符流。

C) RandomAccessFile既可以用来读文件,也可以用来写文件。 D) File类用来处理与文件相关的操作。 5、下面说法正确的是( )。

A)如果某公共接口被声明在一个源文件中,则接口必须与源文件具有相同名字。 B)如果源文件包含import语句,则该语句必须是除空行和注释行外的第一个语句行。 C)如果某源文件包含package语句,则该语句必须是第一个非空、非注释行。

D)接口中的方法必定是抽象方法,但可以不用关键字abstract修饰。 6、下面关于Java中异常处理try块的说法正确的是( )?

A) try块后通常应有一个catch 块,用来处理try块中抛出的异常。 B) catch 块后必须有finally块。

C)可能抛出异常的方法调用应放在try块中。 D)对抛出的异常的处理必须放在try块中 7、下面关于进程、线程的说法正确的是( )。

A)进程是程序的一次动态执行过程。一个进程在其执行过程中,可以产生多个线程——多线程,形成多条执行线索。

B)线程是比进程更小的执行单位,是在一个进程中独立的控制流,即程序内部的控制流。线程本身不能自动运行,栖身于某个进程之中,由进程启动执行。 C)Java多线程的运行与平台相关。

D)对于单处理器系统,多个线程分时间片获取CPU或其他系统资源来运行。对于多处理器系统,线程可以分配到多个处理器中,从而真正的并发执行多任务。

8、关于BufferedReader类的readLine()方法,以下说法正确的是()。 A)方法readLine()每次读取一行数据。 B)方法readLine()每次读取一个字节。

C)该方法可能抛出IOException异常,调用该方法时通常应将它放到try块中,并通过catch块处理异常。 D)如果读到流的末尾,该方法返回的结果为null。 三、程序阅读题

1、阅读下面的程序,回答问题(问3分,问3分,共6分)。

import java.awt.*;

import javax.swing.*;

public class T extends JFrame { public T ( ) {

super(\"GridLayout\");

Container con=this.getContentPane(); con.setLayout(new GridLayout(2,3)); con.add(new JButton(\"a\")); con.add(new JButton(\"b\")); con.add(new JButton(\"c\")); con.add(new JButton(\"d\")); con.add(new JButton(\"e\")); con.add(new JButton(\"f\")); setSize(200, 80); setVisible(true); }

public static void main(String args[]) { new T(); }

}

画图表示程序运行后的图形界面。

如果程序通过实现某个接口处理按钮的动作事件,则该接口名为何?接口中的方法头声明如何? 答案: 

 接口名:ActionListener

接口中的方法:public void actionPerformed(ActionEvent e) 2、阅读下面的程序,并回答问题(问3分,问3分,共6分)。 import java.io.*; public class Test {

public static void main(String args[]) throws IOException { BufferedReader buf=new BufferedReader(

new InputStreamReader(System.in)); while(true) {

String str=buf.readLine(); if(str.equals(\"quit\")) break;

int x=Integer.parseInt(str); } } }

编译运行上面的程序:

从键盘输入5,回车后输出的结果如何? 从键盘输入quit,回车后程序执行情况如何? 答案: 25

终止应用程序的运行。

因篇幅问题不能全部显示,请点此查看更多更全内容