《Java语言程序设计基础教程》 练习思考题参 第1章 Java程序设计概述
1.9 练习思考题
1、ﻩJava运行平台包括三个版本,请选择正确的三项:( A. J2EE ﻩﻩﻩﻩ ﻩB. J2ME
C. J2SE ﻩ D. J2E
解答:A,B,C
2、 Java JDK中反编译工具是:( )
A. javac ﻩ ﻩ B. java
ﻩC. jdb ﻩﻩ ﻩD. javap
)
《Java语言程序设计基础教程》习题解答
解答:D
3、ﻩpublic static void main方法的参数描述是:( )
A. String args[]ﻩﻩﻩ B. String[] args
C. Strings args[] ﻩ ﻩD. String args
解答:A,B
4、 在Java中,关于CLASSPATH环境变量的说法不正确的是:( )
A. CLASSPATH一旦设置之后不可修改,但可以将目录添加到该环境变量中。
B. 编译器用它来搜索各自的类文件。
C. CLASSPATH是一个目录列表。
D. 解释器用它来搜索各自的类文件。
解答:A
5、 编译Java Application源文件将产生相应的字节码文件,扩展名为( )
《Java语言程序设计基础教程》习题解答
ﻩA. .javaﻩﻩﻩ ﻩﻩﻩB. .class
C. .html ﻩ ﻩ D. .exe
解答:B
6、 开发与运行Java程序需要经过的三个主要步骤为____________、____________和____________。
7、 如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是______类的子类并且存储该源程序文件的文件名为______。
8、 如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译器 编译该源程序文件将产生______个文件名与类名相同而扩展名为______的字节码文件。
9、 开发与运行Java程序需要经过哪些主要步骤和过程?
10、Java程序是由什么组成的?一个程序中必须要有public类吗?Java源文件的命名规则是怎么样的?
11、编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:“你好,很高兴学习Java”和“We are students”。
《Java语言程序设计基础教程》习题解答
第2章 Java基本的程序设计结构
2.7练习思考题
1、 从下面选项中,选择三个有效的标示符:( )
A. IDoLikeTheLongNameClass C. const ﻩﻩ ﻩﻩﻩD. _ok
E. 3_case
解答:A,B,D
2、 下面哪一项在java中是非法的标识符?( A. $user ﻩ ﻩ
B. point
C. You&me
D. _endline
B. $byte
)
《Java语言程序设计基础教程》习题解答
解答:C
3、 下列不属于Java保留字的是:( )
A. sizeof
B. super
C. abstract
D. break
解答:A
4、 下面哪些java语句会导致无限循环?( I、 while (true) i = 0;
II、 while (false) i = 1;
III、ﻩwhile (!false) i = 0;
A、仅仅III
)《Java语言程序设计基础教程》习题解答
B、I 和III
C、仅仅I
D、I, II 和III
解答:B
5、 下列整型数据类型中,需要内存空间最少的是A. short ﻩ ﻩB. long
C. int ﻩD. byte
解答:D
6、 下面代码执行后,正确的输出结果是:( )
public class Example {
public static void main(String args[]) {
int l = 0;
)。
(《Java语言程序设计基础教程》习题解答
do {
ﻩ System.out.println(\"Doing it for l is:\" + l);
ﻩ} while (--l > 0);
System.out.println("Finish\");
ﻩ}
}
A. Doing it for l is 3
B. Doing it for l is 1
C. Doing it for l is 2
D. Doing it for l is 0
E. Doing it for l is ?C1
F. Finish
《Java语言程序设计基础教程》习题解答
解答:D,F
7、 若有定义 int a=1,b=2; 那么表达式(a++)+(++b) 的值是:( )
A. 3 ﻩﻩ B. 4
C. 5 ﻩD. 6
解答:B
8、 若有定义 int a=9,b=6; 那么a>b的值是:( )
A. 0ﻩﻩﻩﻩ ﻩB. 1
C. falseﻩﻩ ﻩD. true
解答:D
9、 假定有变量定义: int k=7,x=12; 那么能使值为3的表达式是:( A. x%=(k%=5)ﻩ B. x%=(k-k%5)
C. x%=k-k%5ﻩﻩﻩ D. (x%=k)-(k%=5)
)
《Java语言程序设计基础教程》习题解答
解答:D
10、执行完以下代码int[ ] x = new int[25];后,以下说明正确的是:( )
A. x[24]为0 ﻩﻩﻩ B. x[24]未定义 ﻩ
C. x[25]为0 ﻩ ﻩﻩD. x[0]为空
解答:A
11、Java应用程序的main方法中有以下语句,则输出的结果是( int[] x={2,3,-8,7,9};
int max=x[0];
for(int i=1;i<x.length;i++){
if(x[i]>max)
max=x[i];
}
。
)《Java语言程序设计基础教程》习题解答
System.out.println(max);
A. 2 ﻩﻩ ﻩ B. -8ﻩ
C. 7ﻩﻩﻩﻩ D. 9
解答:D
12、设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是( )
A. 3ﻩ ﻩﻩﻩB. 3.5
C. 4ﻩ ﻩﻩ D. 5
解答:A
13、有整型数组:int[] x={2,33,88,5,10};,则调用方法 Arrays.sort(x) 后,数组x中的元素值依次是?( )
A. 8810ﻩ33ﻩ 5ﻩ2
B. 2 5ﻩ10ﻩ338ﻩ8
《Java语言程序设计基础教程》习题解答
ﻩC. 881ﻩ0 2 33 5
ﻩD. 5ﻩ3388ﻩ10ﻩ2ﻩ
ﻩ解答:B
14、下列语句有错误的是:( )
A. int []a; ﻩ B. int []b=new int[10];
C. int c[]=new int[]; ﻩD. int d[]=null;
ﻩ解答:C
15、下列语句有错误的是:( )
A. int a[][]=new int[5][5]; ﻩB. int [][]b=new int[5][5];
C. int []c[]=new int[5][5]; ﻩD. int [][]d=new int[5,5];
解答:D
16、关于下面的程序,正确的结论是______。
《Java语言程序设计基础教程》习题解答
public class ex4_7{
public static void main(String args[]){
int a[]=new int[5];
boolean b[]=new boolean[5];
System.out.print(a[1]);
System.out.println(b[2]);
}
}
A. 运行结果为0false ﻩﻩB. 运行结果为1true
C. 程序无法通过编译 ﻩD. 可以通过编译但结果不确定
解答:A
17、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用______
《Java语言程序设计基础教程》习题解答
字节内存空间,这样,无论是中文字符还是英文字符,都是占用______字节内存空间。
18、设 x = 2 ,则表达式 ( x + + )/3 的值是______。
19、若x = 5,y = 10,则x < y和x >= y的逻辑值分别为______和______。
20、设有数组定义:
int MyIntArray[] = { 10, 20, 30, 40, 50, 60, 70 };
则执行以下几个语句后的输出结果是: 。
ﻩint MyIntArray[] = { 10, 20, 30, 40, 50, 60, 70 };
ﻩint s = 0;
ﻩfor (int i = 0; i < MyIntArray.length; i++)
ﻩ if (i % 2 == 1)
ﻩ ﻩs += MyIntArray[i];
ﻩSystem.out.println(s);
《Java语言程序设计基础教程》习题解答
21、数组对象的长度在数组对象创建之后,就______改变。数组元素的下标总是从______开始。
22、对于数组int[][]t={{1,2,3},{4,5,6}}来说,t.length等于______,t[0].length等于______。
23、已知数组a的定义为“int a[]={1,2,3,4,5};”,则a[2]=______,数组b的定义为“int b[]=new int[5];”,则b[2]=______,数组c的定义为“Object []c=new Object[5];”,则c[2]=______。
24、调用数组元素时,用______和______来唯一确定数组中的元素。
25、什么是数组?数组有哪些特点?Java中创建数组需要哪些步骤?如何访问数组的第一个元素?
26、编程计算10~20的整数的平方值,将结果保存在一个数组中。
27、编写一个程序使之从键盘读入10个整数存入整型数组a中,然后逆序输出这10个整数。
28、某人有5张3分和4张5分的邮票,请编写一个程序,计算由这些邮票中的1张或若干张可以得到多少种不同的邮资。
《Java语言程序设计基础教程》习题解答
29、分析写出下列程序完成的功能。
public class sun {
public static void main(String args[]) {
double sum = 0.0;
for (int i = 1; i <= 100; i++)
ﻩ sum += 1.0 / (double) i;
ﻩSystem.out.println("sum=\" + sum);
ﻩ}
}
30、编写一个字符界面的Java Application程序,接受用户输入的10个整数,并输出这10个整数的最大值和最小值。
31、如果我国经济以每年10%的速度保持稳定增长,请编写一个程序,计算每年达到多少,多少年可以实现总量翻两番。
《Java语言程序设计基础教程》习题解答
class exA4_1{
public static void main(String args[]){
int a=0;
double i=0.10,sum=1;
while(sum<=4){
sum=(i+1)*sum;
a++;
System.out.println("第\"+a+\"年达到\"+sum);
}
System.out.println(\"需要\"+a+\"年实现两番");
}
}
《Java语言程序设计基础教程》习题解答
第3章 类和对象
3.9 练习思考题
1、 下列关于变量的叙述哪个是错的?( )
A. 实例变量是类的成员变量。
B. 在方法中定义的局部变量在该方法被执行时创建。
C. 实例变量用关键字static声明。
D. 局部变量在使用前必须被初始化。
解答:C
2、 在Java语言中,下列哪个包是编译器自动导入的?(A. java.applet ﻩﻩB. java.lang
C. java.ioﻩ ﻩ D. java.awt
解答:B
)《Java语言程序设计基础教程》习题解答
3、 当类的成员未用访问权限修饰符时,Java认为此成员的访问权限为( )。
ﻩﻩA. private ﻩ ﻩB. protected
C.friendly ﻩﻩﻩ D.public
解答:C
4、 下面哪个关键字不是用来控制对类成员的访问的?( A. public ﻩ B. protectedﻩ
C. default D. private
解答:C
5、 下面哪一个特性不是面向对象编程主要体现的( A. 封装性 ﻩﻩ B. 继承
C. 多态 ﻩ ﻩD. 类
解答:C
)
。
)《Java语言程序设计基础教程》习题解答
6、 不允许作为类及类成员的访问控制符的是( )。
A. public ﻩ B. private
C. staticﻩﻩ ﻩ D. protected
解答:C
7、 为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。
A、 static void method( ) ﻩB、 public void method( )
C、 final void method( ) ﻩ D、 abstract void method( )
解答:A
8、 可以在下面代码段point x处写入的是?( )
//point x
public class Interesting{
《Java语言程序设计基础教程》习题解答
//do something
}
A. String str;
B. static int PI=3.14;
C.ﻩpublic class MyClass{//do other thing…}
D.ﻩimport java.awt.*;
解答:D
9、 下列关于变量的叙述哪个是错的?( )
A、实例变量是类的成员变量。
B、在方法中定义的局部变量在该方法被执行时创建。
C、实例变量用关键字static声明。
D、局部变量在使用前必须被初始化。
《Java语言程序设计基础教程》习题解答
解答:C
10、下列哪个类声明是正确的?( )
A、abstract final class HI{}
B、abstract private move(){}
C、protected private number;
D、public abstract class Car{}
解答:D
11、已知A类被打包在packageA , B类被打包在packageB ,且B类被声明为public ,且有一个成员变量x被声明为protected控制方式 。C类也位于packageA包,且继承了B类 。则以下说法正确的是:( )
A、A类的实例不能访问到B类的实例
B、A类的实例能够访问到B类一个实例的x成员
C、C类的实例可以访问到B类一个实例的x成员
《Java语言程序设计基础教程》习题解答
D、C类的实例不能访问到B类的实例
解答:C
12、下列命题为真的是:( )
A、所有类都必须定义一个构造函数。
B、构造函数必须有返回值。
C、构造函数可以访问类的非静态成员。
D、构造函数必须初始化类的所有数据成员。
解答:C
13、在Java中,关于final关键字的说法正确的是(A、如果修饰变量,则一旦赋了值,就等同一个常量。
B、如果修饰类,则该类只能被一个子类继承。
C、如果修饰方法,则该方法不能在子类中被覆盖。
)
《Java语言程序设计基础教程》习题解答
D、如果修饰方法,则该方法所在的类不能被继承。
解答:A,C
14、在Java中,下面关于包的陈述中正确的是( )
A、包的声明必须是源文件的第一句代码。
B、包的声明必须紧跟在import语句的后面。
C、只有公共类才能放在包中。
D、可以将多个源文件中的类放在同一个包中。
解答:A,D
15、______方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。______方法是不能被当前类的子类重新定义的方法。
16、 什么叫方法的重载? 构造方法可以重载么?
17、 简述实例变量和类变量的区别。
《Java语言程序设计基础教程》习题解答
第4章 继承、接口和内部类
4.5 练习思考题
1、 Java中用于定义接口的关键字是( )
A、import ﻩB、package
C、class ﻩD、interface
解答:D
2、 以下关于abstract的说法,正确的是( )
A、abstract只能修饰类
B、abstract只能修饰方法
C、abstract类中必须有abstract方法
D、abstarct方法所在的类必须用abstract修饰
解答:D
《Java语言程序设计基础教程》习题解答
3、 下列哪种说法是正确的( )
A、私有方法不能被子类覆盖。
B、子类可以覆盖超类中的任何方法。
C、覆盖方法可以声明自己抛出的异常多于那个被覆盖的方法。
D、覆盖方法中的参数清单必须是被覆盖方法参数清单的子集。
解答:A
4、关于类继承的说法,正确的是( )
A、Java 类允许多重继承
B、Java接口允许多继承
C、接口和类都允许多继承
D、接口和类都不允许多继承
解答:B
《Java语言程序设计基础教程》习题解答
5、 关于抽象类,正确的是______。
A. 抽象类中不可以有非抽象方法
B. 某个非抽象类的父类是抽象类,则这个子类必须重载父类的所有抽象方法
C. 不能用抽象类去创建对象
D. 接口和抽象类是同一个概念
解答:B
6、 下列哪个类是由编译器自动生成对象的特殊类,是用于类操作?( A、Class类
B、Thread类
C、System类
D、Object类
解答:A
)
《Java语言程序设计基础教程》习题解答
7、 下面关于继承的哪些叙述是正确的。 ( )
A、在java中只允许单一继承。
B、在java中一个类只能实现一个接口。
C、在java中一个类不能同时继承一个类和实现一个接口。
D、java的单一继承使代码更可靠。
解答:A,D
8、 抽象类A和抽象类B的定义如下:
abstract class ex4_5_10_A {
abstract int getinfo();
}
public class ex4_5_10 extends ex4_5_10_A {
private int a = 0;
《Java语言程序设计基础教程》习题解答
ﻩpublic int getinfo() {
ﻩreturn a;
ﻩ}
ﻩpublic static void main(String args[]) {
ﻩex4_5_10 b = new ex4_5_10();
ﻩﻩSystem.out.println(b.getinfo());
ﻩ}
}
关于上述代码说明正确的是( )。
A. 输出结果为0 ﻩ B.通过编译但没有输出任何结果
C. 第5行不能通过编译 ﻩD. 程序第2行不能通过编译
解答:A
《Java语言程序设计基础教程》习题解答
9、ﻩ下面程序的运行结果是______
class ex4_5_11_A {
protected static int count = 0;
ﻩpublic ex4_5_11_A() {
count++;
ﻩ}
}
class ex4_5_11_B extends ex4_5_11_A ﻩpublic ex4_5_11_B() {
ﻩﻩcount++;
ﻩ}
}
{《Java语言程序设计基础教程》习题解答
class ex4_5_11 {
public static void main(String args[]) {
ﻩﻩex4_5_11_B x = new ex4_5_11_B();
System.out.println(\"count=\" + x.count);
}
}
A. count=1 ﻩﻩ ﻩB. count=2
C. count=3 ﻩﻩ ﻩD. count=4
解答:B
10、设有下面两个类的定义:
class Person
{ ﻩlong id; // 身份证号
《Java语言程序设计基础教程》习题解答
String name; // 姓名
}
class Student extends Person
{ ﻩint score; // 入学总分
int getScore(){
return score;
}
}
ﻩ问:类Person和类Student的关系是( )
A、包含关系 ﻩ ﻩB、继承关系
C、关联关系 ﻩ ﻩ D、无关系,上述类定义有语法错误
解答:B
《Java语言程序设计基础教程》习题解答
10、对于接口的实现,不可以构造一个接口对象,但可以声明一个接口______。
11、 在Java语言中所有的类都是直接或间接地继承______类而得到的。
12、在Java中一个父类可以有______个子类,一个类只能有______个直接父类。
13、什么是继承?什么是多重继承和单继承?Java采用何种机制来实现多重继承?
14、什么是隐藏?什么是重写?二者有何区别?
15、子类会继承父类的所有方法和属性么?
16、设计一个Student类,以一维数组存储一个班级的学生信息。要求:
ﻩ1)将Student设计成一个接口
2)自定义一个包来管理所设计的类
17、定义一个接口,该接口中只有一个抽象方法getClassName()。设计一个类Horse,该类实现接口ClassName中的方法getClassName(),功能是获取该类的类名。
基础开发篇
《Java语言程序设计基础教程》习题解答
第5章 Java API
5.9练习思考题
1、 阅读下列代码后,正确的说法是( )
public class Person {
ﻩstatic int arr[] = new int[10];
ﻩpublic static void main(String args[]) {
ﻩﻩSystem.out.println(arr[1]);
ﻩ}
}
A、编译时将产生错误 B、编译时正确,运行时将产生错误
C、输出零ﻩ ﻩ ﻩD、输出空
解答:C
《Java语言程序设计基础教程》习题解答
2、 仔细分析下面程序,正确的输出结果是( )
public class Test1 {
ﻩpublic static void changeStr(String str) {
ﻩstr = \"welcome\";
}
public static void main(String[] args) {
ﻩ String str = \"1234\";
ﻩﻩchangeStr(str);
ﻩ System.out.println(str);
}
}
A、welcome B、welcome1234
《Java语言程序设计基础教程》习题解答
C、1234ﻩ ﻩ D、1234welcome
解答:C
3、 Java语言中的一些常用的实用工具,如处理时间的Date类,处理变长数组的Vector类等,所在的包是( )。
A、java.lang包 ﻩ ﻩﻩB、java.io包
C、java.awt包 ﻩ ﻩﻩD、java.util包
解答:D
4、 下面代码执行后,正确的输出结果是:( )
String s1="You are hired!\";
System.out.println(s1.replace('h','f')); //用f把字串中的h替换了
System.out.println(s1);
A.ﻩYou are fired! ﻩ ﻩB. You are fired!
《Java语言程序设计基础教程》习题解答
You are hired! ﻩﻩ You are fired!
C. You are hired! ﻩ ﻩD. ﻩYou are hired!
You are hired! ﻩ You are fired!
解答:A
5、下面的程序段执行后输出的结果是( )
ﻩﻩStringBuffer buf=new StringBuffer(\"China2008");
buf.insert(5,\"@");
System.out.println(buf.toString());
A、China2008@
B、@China2008
C、China@2008
D、China#2008
《Java语言程序设计基础教程》习题解答
解答:C
6、在Java中,所有类的根类是( )。
A、java.lang.Object
B、java.lang.Class
C、java.applet.Applet
D、java.awt.Frame
解答:A
第6章 图形用户界面设计
6.7练习思考题
1、ﻩ下列哪个布局管理器中的按钮位置会根据Frame的大小改变而改变?( A. BorderLayout
B. CardLayout
)
《Java语言程序设计基础教程》习题解答
C.ﻩGridLayout
D. FlowLayout
解答:D
2、 下面的组件都属于容器,父类属于java.awt.Window的容器是( )
A、Frame
B、Panel
C、Container
D、Applet
解答:A
3、 关于以下的组件的接口,正确的是( )
A、TextArea组件可实现的接口是ActionListener
B、List组件可实现的接口,除了ItemListener,还可以是ActionListener
《Java语言程序设计基础教程》习题解答
C、Choice组件可实现的接口是ActionListener
D、以上都不对
解答:B
4、 下列哪一项是一个用于在GridLayout中的特定区域中放置多个组件的容器?
A、Applet
B、Panel
C、Button
D、Rectangle
解答:B
5、 关于对话框(Dialog)说法错误的是?( )
A、对话框是Window类的子类。
B、对话框和一般窗口的区别在于它依赖于其他窗口。
《Java语言程序设计基础教程》习题解答
C、对话框分为模式和非模式两种。
D、文件对话框的构造方法: fdlg=new (\"\");
解答:D
6、 下列容器中哪一个是从java.awt.Window继承的?(A、Frame
B、Panel
C、Container
D、Applet
解答:A
7、 在Java中,对组件可实现不同的布局,下列哪个不对( A、顺序布局(FlowLayout)
B、边界布局(BorderLayout)
)
)
《Java语言程序设计基础教程》习题解答
C、网络布局(GridLayout)
D、布局(CenterLayout)
解答:D
8、下面关于事件监听的说明,哪一个语句是正确的。 ( )
A. 所有组件,都不允许附加多个
B. 如果多个加在一个组件上,那么事件只会触发一个
C. 组件不允许附加多个
D. 机制允许按照我们的需要,任意调用addXxxxListener 方法多次,而且没有次序区别
解答:D
9、 下面哪个事件可以处理在文本框中输入回车键的事件______。
A. ItemListener ﻩB. ActionListener
《Java语言程序设计基础教程》习题解答
C. KeyListener ﻩﻩD. MouseListener
解答:B
10、Frame类对象的默认布局是什么布局?( )。
A、FlowLayout布局ﻩﻩB、BorderLayout布局
C、CardLayout布局 ﻩD、GridLayout布局
解答:B
11、不能添加到Container中的是?( )
A、an Applet
B、a Component
C、a Container
D、a MenuComponent
解答:A
《Java语言程序设计基础教程》习题解答
12、Panel类对象的默认布局是什么布局?( )。
A、FlowLayout布局ﻩ B、BorderLayout布局
C、CardLayout布局 D、GridLayout布局
解答:A
13、Java中GUI工具包有______和______。
14、通过调用方法______可以改变当前容器的布局方式。
15、通过______方法向容器中添加组件。
16、AWT布局管理器有______、______、______、______和______。
17、什么是GUI?功能是什么?
18、利用AWT控件编写一个求解一元二次方程根的程序,要求:
(1)具有一元二次方程三个系数a、b、c的输入界面。
(2)显示b*b-4*a*c的值。
《Java语言程序设计基础教程》习题解答
(3)显示求出的根。
19、编写一个应用程序,窗口标题为“移动按钮”,窗口布局为null,在窗口中有两个按钮,单击其中一个按钮能够让另一个按钮移动。
20、实现窗口登陆对话框,要求输入用户名和密码,如果输入正确,弹出对话框提示正确,否则提示错误。
第7章 多线程
7.8练习思考题
1、 Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?( )
A、安全性 ﻩ ﻩB、多线性
C、跨平台ﻩ ﻩﻩ ﻩD、可移植
解答:B
2、 Runnable接口中的抽象方法是( )。
《Java语言程序设计基础教程》习题解答
A、startﻩ ﻩﻩﻩﻩﻩ B、stop
C、yield ﻩﻩ D、run
解答:D
3、 有以下程序段
class MyThread extends Thread {
public static void main(String args[]) {
MyThread t = new MyThread();
MyThread s = new MyThread();
t.start();
System.out.print(\"one.\");
s.start();
System.out.print("two.");
《Java语言程序设计基础教程》习题解答
}
public void run() {
System.out.print(\"Thread\");
}
}
则下面正确的选项是( )
A、编译失败
B、程序运行结果为:one.Threadtwo.ThreadC、程序运行结果是:one.two.ThreaThread
D、程序运行结果不确定
解答:D
4、 下列方法中可以用来创建一个新线程的是( )
《Java语言程序设计基础教程》习题解答
A、实现java.lang.Runnable接口并重写start()方法。
B、实现java.lang.Runnable接口并重写run()方法。
C、继承java.lang.Thread类并重写run()方法。
D、实现java.lang.Thread类并实现start()方法。
解答:B
5、 作为类中新线程的开始点,线程的执行是从下面哪个方法开始的。(A、public void start()
B、public void run()
C、public void int()
D、public static void main(String args[])
解答:A
6、 创建一个新线程的方法,可以使用下面哪2种 ( )
)
《Java语言程序设计基础教程》习题解答
A、继承java.lang.Thread类,并且重载run方法。
B、继承java.lang.Runnable类,并且重载start方法。
C、实现java.lang.thread类,实现run方法。
D、实现java.lang.Runnable接口,实现run方法。
E、实现java.lang.Thread类,实现start方法。
解答:A,D
7、 线程有几种状态?
8、 引起线程中断的常见原因是什么?
9、 一个线程执行完run()方法后,进入了什么状态?该线程还能再调用start()方法么?
10、线程在什么状态时,调用isAlive()方法返回的值是false。
11、建立线程有几种方法?
12、怎样设置线程的优先级?
《Java语言程序设计基础教程》习题解答
13、线程在它的一个完整的生命周期中通常要经历哪几种状态?写出这些种状态并加以说明。
第8章 文件和流
8.7练习思考题
1、 创建一个向文件“”追加内容的输出流对象的语句是( A. OutputStream out=new (“”);
B. OutputStream out=new (“”, “append”);
C. out=new (“”, true);
D. out=new (new file(“”));
E. OutputStream out=new (new File(“”)true);
解答:C,E
2、 下面类中,属于过滤流FilterInputStream的子类的是(A、DataInputStreamﻩﻩﻩB、DataOutputStream
。
)。
) 《Java语言程序设计基础教程》习题解答
C、PrintStream ﻩ D、BufferedOutputStream
解答:A
3、 流的read方法和流的read方法有何不同?
4、 BufferedReader流能直接指向一个文件对象吗?
5、 请编写一个程序,开启一个文本文件,一次读取其内的一行文本,令每行形成一个String,并将读出的String对象置于LinkedList中,以反相次序显示出LinkedList内的所有内容。
import java.io.*;
import java.util.*;
class exA4_2{
public static void main(String args[]) throws Exception{
LinkedList lines=new LinkedList();
BufferedReader in=
《Java语言程序设计基础教程》习题解答
new BufferedReader(new ("exA4_2.java\"));
String s;
while((s=in.readLine())!=null)
lines.add(s);
in.close();
ListIterator it=lines.listIterator(lines.size());
while(it.hasPrevious())
System.out.println(it.previous());
}
}
第9章 异常处理
9.4 练习思考题
《Java语言程序设计基础教程》习题解答
1、 为了捕获一个异常,代码必须放在下面( )语句块中。
A、try块 ﻩ B、catch块
C、throws块 ﻩﻩD、finally块
解答:A
2、 下列常见的系统定义的异常中,有可能是网络原因导致的异常是( A、ClassNotFoundExceptionﻩ ﻩB、IOException
C、 ﻩD、UnknownHostException
解答:D
3、 下列常见的系统定义的异常中,哪个是输入、输出异常?( )A、ClassNotFoundException
B、IOException
C、
)。
《Java语言程序设计基础教程》习题解答
D、UnknownHostException
解答:B
4、 在代码中,使用catch(Exception e)的好处是 ( )
A、只会捕获个别类型的异常
B、捕获try块中产生的所有类型的异常
C、忽略一些异常
D、执行一些程序
解答:B
5、 异常包含下列那一个内容? ( )
A、程序中的语法错误
B、程序的编译错误
C、程序执行过程中遇到的事先没有预料到的情况
《Java语言程序设计基础教程》习题解答
D、程序事先定义好的可能出现的意外情况
解答:C
7、 编写一个异常类MyException,再编写一个类Student,该类有一个产生异常的方法public void speak(int m) throws MyException,要求参数m的值大于1000时,方法抛出一个MyException对象。最后编写主类,在主类的main方法中用Student创建一个对象,让该对象调用speak方法。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- yrrf.cn 版权所有 赣ICP备2024042794号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务