《Java语言程序设计基础教程》 练习思考题参考答案
2013-04-10 22:17
459 查看
《Java语言程序设计基础教程》
练习思考题参考答案
第1章 Java程序设计概述
A. J2EE B. J2ME
C. J2SE D. J2E
解答:A,B,C
2、 Java JDK中反编译工具是:( )
A. javac B. java
C. jdb D. javap
解答: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源文件将产生相应的字节码文件,扩展名为( )
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”。
A. IDoLikeTheLongNameClass B. $byte
C. const D. _ok
E. 3_case
解答:A,B,D
2、 下面哪一项在java中是非法的标识符?( )
A. $user
B. point
C. You&me
D. _endline
解答: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
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;
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
解答: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)
解答: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];
}
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. 88 33 10 5 2
B. 2 5 10 33 88
C. 88 10 2 33 5
D. 5 33 2 10 88
解答: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、关于下面的程序,正确的结论是______。
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码占用______字节内存空间,这样,无论是中文字符还是英文字符,都是占用______字节内存空间。
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);
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张或若干张可以得到多少种不同的邮资。
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%的速度保持稳定增长,请编写一个程序,计算每年达到多少,多少年可以实现总量翻两番。
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+"年实现两番");
}
}
A. 实例变量是类的成员变量。
B. 在方法中定义的局部变量在该方法被执行时创建。
C. 实例变量用关键字static声明。
D. 局部变量在使用前必须被初始化。
解答:C
2、 在Java语言中,下列哪个包是编译器自动导入的?( )
A. java.applet B. java.lang
C. java.io D. java.awt
解答:B
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
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{
//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、局部变量在使用前必须被初始化。
解答: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成员
D、C类的实例不能访问到B类的实例
解答:C
12、下列命题为真的是:( )
A、所有类都必须定义一个构造函数。
B、构造函数必须有返回值。
C、构造函数可以访问类的非静态成员。
D、构造函数必须初始化类的所有数据成员。
解答:C
13、在Java中,关于final关键字的说法正确的是( )
A、如果修饰变量,则一旦赋了值,就等同一个常量。
B、如果修饰类,则该类只能被一个子类继承。
C、如果修饰方法,则该方法不能在子类中被覆盖。
D、如果修饰方法,则该方法所在的类不能被继承。
解答:A,C
14、在Java中,下面关于包的陈述中正确的是( )
A、包的声明必须是源文件的第一句代码。
B、包的声明必须紧跟在import语句的后面。
C、只有公共类才能放在包中。
D、可以将多个源文件中的类放在同一个包中。
解答:A,D
15、______方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。______方法是不能被当前类的子类重新定义的方法。
16、 什么叫方法的重载? 构造方法可以重载么?
17、 简述实例变量和类变量的区别。
A、import B、package
C、class D、interface
解答:D
2、 以下关于abstract的说法,正确的是( )
A、abstract只能修饰类
B、abstract只能修饰方法
C、abstract类中必须有abstract方法
D、abstarct方法所在的类必须用abstract修饰
解答:D
3、 下列哪种说法是正确的( )
A、私有方法不能被子类覆盖。
B、子类可以覆盖超类中的任何方法。
C、覆盖方法可以声明自己抛出的异常多于那个被覆盖的方法。
D、覆盖方法中的参数清单必须是被覆盖方法参数清单的子集。
解答:A
4、关于类继承的说法,正确的是( )
A、Java 类允许多重继承
B、Java接口允许多继承
C、接口和类都允许多继承
D、接口和类都不允许多继承
解答:B
5、 关于抽象类,正确的是______。
A. 抽象类中不可以有非抽象方法
B. 某个非抽象类的父类是抽象类,则这个子类必须重载父类的所有抽象方法
C. 不能用抽象类去创建对象
D. 接口和抽象类是同一个概念
解答:B
6、 下列哪个类是由编译器自动生成对象的特殊类,是用于类操作?( )
A、Class类
B、Thread类
C、System类
D、Object类
解答:A
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;
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
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++;
}
}
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
9、设有下面两个类的定义:
class Person
{ long id; // 身份证号
String name; // 姓名
}
class Student extends Person
{ int score; // 入学总分
int getScore(){
return score;
}
}
问:类Person和类Student的关系是( )
A、包含关系 B、继承关系
C、关联关系 D、无关系,上述类定义有语法错误
解答:B
10、对于接口的实现,不可以构造一个接口对象,但可以声明一个接口______。
11、 在Java语言中所有的类都是直接或间接地继承______类而得到的。
12、在Java中一个父类可以有______个子类,一个类只能有______个直接父类。
13、什么是继承?什么是多重继承和单继承?Java采用何种机制来实现多重继承?
14、什么是隐藏?什么是重写?二者有何区别?
15、子类会继承父类的所有方法和属性么?
16、设计一个Student类,以一维数组存储一个班级的学生信息。要求:
1)将Student设计成一个接口
2)自定义一个包来管理所设计的类
17、定义一个接口,该接口中只有一个抽象方法getClassName()。设计一个类Horse,该类实现接口ClassName中的方法getClassName(),功能是获取该类的类名。
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
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
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!
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
解答:C
6、在Java中,所有类的根类是( )。
A、java.lang.Object
B、java.lang.Class
C、java.applet.Applet
D、java.awt.Frame
解答:A
A. BorderLayout
B. CardLayout
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
C、Choice组件可实现的接口是ActionListener
D、以上都不对
解答:B
4、 下列哪一项是一个用于在GridLayout中的特定区域中放置多个组件的容器?
A、Applet
B、Panel
C、Button
D、Rectangle
解答:B
5、 关于对话框(Dialog)说法错误的是?( )
A、对话框是Window类的子类。
B、对话框和一般窗口的区别在于它依赖于其他窗口。
C、对话框分为模式和非模式两种。
D、文件对话框的构造方法:Filedialog fdlg=new FileDialog("filedialog");
解答:D
6、 下列容器中哪一个是从java.awt.Window继承的?( )
A、Frame
B、Panel
C、Container
D、Applet
解答:A
7、 在Java中,对组件可实现不同的布局,下列哪个不对( )
A、顺序布局(FlowLayout)
B、边界布局(BorderLayout)
C、网络布局(GridLayout)
D、中央布局(CenterLayout)
解答:D
8、下面关于事件监听的说明,哪一个语句是正确的。 ( )
A. 所有组件,都不允许附加多个监听器
B. 如果多个监听器加在一个组件上,那么事件只会触发一个监听器
C. 组件不允许附加多个监听器
D. 监听器机制允许按照我们的需要,任意调用addXxxxListener 方法多次,而且没有次序区别
解答:D
9、 下面哪个事件监听器可以处理在文本框中输入回车键的事件______。
A. ItemListener B. ActionListener
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
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的值。
(3)显示求出的根。
19、编写一个应用程序,窗口标题为“移动按钮”,窗口布局为null,在窗口中有两个按钮,单击其中一个按钮能够让另一个按钮移动。
20、实现窗口登陆对话框,要求输入用户名和密码,如果输入正确,弹出对话框提示正确,否则提示错误。
A、安全性 B、多线性
C、跨平台 D、可移植
解答:B
2、 Runnable接口中的抽象方法是( )。
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.");
}
public void run() {
System.out.print("Thread");
}
}
则下面正确的选项是( )
A、编译失败
B、程序运行结果为:one.Threadtwo.Thread
C、程序运行结果是:one.two.ThreaThread
D、程序运行结果不确定
解答:D
4、 下列方法中可以用来创建一个新线程的是( )
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种 ( )
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、怎样设置线程的优先级?
13、线程在它的一个完整的生命周期中通常要经历哪几种状态?写出这些种状态并加以说明。
A. OutputStream out=new FileOutputStream(“file.txt”);
B. OutputStream out=new FileOutputStream(“file.txt”, “append”);
C. FileOutputStream out=new FileOutputStream(“file.txt”, true);
D. FileOutputStream out=new FileOutputStream(new file(“file.txt”));
E. OutputStream out=new FileOutputStream(new File(“file.txt”)true);
解答:C,E
2、 下面类中,属于过滤流FilterInputStream的子类的是( )。
A、DataInputStream B、DataOutputStream
C、PrintStream D、BufferedOutputStream
解答:A
3、 FileInputStream流的read方法和FileRead流的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=
new BufferedReader(new FileReader("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());
}
}
A、try块 B、catch块
C、throws块 D、finally块
解答:A
2、 下列常见的系统定义的异常中,有可能是网络原因导致的异常是( )。
A、ClassNotFoundException B、IOException
C、FileNotFoundException D、UnknownHostException
解答:D
3、 下列常见的系统定义的异常中,哪个是输入、输出异常?( )
A、ClassNotFoundException
B、IOException
C、FileNotFoundException
D、UnknownHostException
解答:B
4、 在代码中,使用catch(Exception e)的好处是 ( )
A、只会捕获个别类型的异常
B、捕获try块中产生的所有类型的异常
C、忽略一些异常
D、执行一些程序
解答:B
6、 异常包含下列那一个内容? ( )
A、程序中的语法错误
B、程序的编译错误
C、程序执行过程中遇到的事先没有预料到的情况
D、程序事先定义好的可能出现的意外情况
解答:C
7、 编写一个异常类MyException,再编写一个类Student,该类有一个产生异常的方法public void speak(int m) throws MyException,要求参数m的值大于1000时,方法抛出一个MyException对象。最后编写主类,在主类的main方法中用Student创建一个对象,让该对象调用speak方法。
A、getFile() B、getProtocol()
C、getHost() D、getPort()
解答:D
2、 一个URL对象通常包含哪些信息?
3、 怎样读取URL中的资源?
4、 Java使用哪个组件来显示URL中的HTML文件?
5、 客户端的Socket对象和服务器端的Socket对象是怎样通信的?
6、 基于UDP的通信和基于TCP的通信有什么不同?
A、Applet类是java.awt中的类
B、Applet类是Container的间接子类
C、Applet类不是容器类
D、以上都不对
解答:B
2、 浏览器禁止Applet执行下列哪些操作?( )
A、在运行时调用其它程序。
B、文件读写操作。
C、装载动态连接库和调用任何本地方法。
D、试图打开一个socket进行通信,但所连接的主机并不是提供Applet的主机。
解答:A,B,C,D
3、 下面说法正确的是( )
A. java Applet 程序必须在浏览器中执行
B. java 应用程序必须在浏览器里执行
C. java Applet 程序不一定在浏览器中执行
D. java 应用程序可以在浏览器中执行
解答:C
4、 每当浏览器的用户离开applet所在的HTML页时都调用方法( )
A、stop()
B、init ()
C、paint()
D、repaint()
解答:A
5、 任何一个Applet开始执行时必然会被自动调用三个方法,被调用的顺序是( )
A、init paint start
B、start paint init
C、paint start init
D、init start paint
解答:D
6、 在Applet的关键方法中,哪个方法是关闭浏览器以释放Applet占用的所有资源?( )
A、init()
B、start()
C、paint()
D、destroy()
解答:D
7、 下面哪个操作Applet可以完成______。
A、读取客户端文件
B、在客户端创建新文件
C、读取Applet所在服务器的文件
D、在客户端调用其他程序
解答:C
8、 分析下面的HTML部分代码 :
<APPLET code = file_name
width = 60
height = 60>
</APPLET>
下列哪一项可以替代文件名以正确装载运行Hello 类 的小程序? ( )
A 、"Hello.bytecode"
B 、"Hello.class"
C 、"Hello.applet"
D 、"Hello.java"
解答:B
9、 下面不是Applet基本方法的是( )
A. start() B. stop()
C. init() D.kill()
解答:D
10、关于Applet的生命周期正确的说法是( )
A. stop方法在start方法之前执行
B. init方法在start方法之后执行
C. stop方法在Applet退出时被调用,只能被调用1次
D. stop方法在Applet不可见时会被调用,可以被调用多次
解答:D
11、下面程序代码正确的排列顺序是______。
(1)import java.applet.*;
(2)ex12_9_a()
(3)package myclasses;
(4)public class ex12_9 extends java.applet.Applet{}
A. 1、2、3、4
B. 1、3、2、4
C. 3、1、4、2
D. 1、3、4、2
解答:C
12、简述Java Applet的开发和运行步骤。
13、小应用程序界面的宽度和高度一般在______文件中指定,其中用来指定宽度和高度的关键字分别是______和______。
14、如果一个Java程序既是应用程序又是小应用程序,那么它必定含有______类的子类,同时含有成员方法______。
15、JDK中提供的一个专为查看Applet的工具是______。
16、在Applet坐标系中,(0,0)代表输出窗口______角的像素点。
17、利用Applet绘制一个国际象棋棋盘。
18、编写一个Applet,添加两个文本框和一个命令按钮。其中一个文本框接收用户输入的一行字符串,回车后在另一个文本框中重复输出三行,单击命令按钮可清空所有文本框内容。
19、准备一组图片及相关文字说明,编写Applet制作音乐相册,要求有背景音乐和向前、向后翻动相册的按钮。
A、链表 B、队列
C、栈 D、关联数组
解答:D
2、 java.util.Hashable可以实现的接口是( )
A. Java.util.Map.
B. Java.util.List.
C. Java.util.Hashable.
D. Java.util.Collection.
解答:A
3、set collection 遇到重复的元素,处理的方式是:( )
A、试图添加一个重复值的元素时,会抛出一个异常
B、试图添加一个重复值的元素时,add方法会返回失败值
C、一个set可以包含重复值元素
D、编译的时候,重复的元素值会导致错误
解答:B
4、创建一个类,来存储唯一的对象元素,元素不需要保持特定顺序,但是必须唯一。最能满足这种要求的接口是:( ) 。
A、Set
B、List
C、Map
D、Vector
E、HashSet
解答:A,E
5、 使用堆栈结构输出的若干项,其中=2+2,=3,=8。
6、 编写一个程序,用散列表实现学生成绩单的存储和查询,并将若干个查询结果存放到一个树集中,通过树集实现对查询结果的自动排序,并将排序结果显示在一个文本区中。
A、createPrepareStatement()
B、prepareStatement()
C、createPreparedStatement()
D、preparedStatement()
解答:B
2、 在JDBC中可以调用数据库的存储过程的接口是 ( )
A、Statement B、PreparedStatement
C、CallableStatement D、PrepareStatement
解答:C
3、 下面的描述正确的是( )。
A、PreparedStatement继承自Statement
B、Statement继承自PreparedStatement
C、ResultSet继承自Statement
D、CallableStatement继承自PreparedStatement
解答:A
4、 下面的描述错误的是( )。
A、Statement的executeQuery()方法会返回一个结果集
B、Statement的executeUpdate()方法会返回是否更新成功的boolean值
C、使用ResultSet中的getString()可以获得一个对应于数据库中char类型的值
D、ResultSet中的next()方法会使结果集中的下一行成为当前行
解答:C
5、 如果数据库中某个字段为numberic型,那么通过结果集中的哪个方法获取( )。
A、getNumberic() B、getDouble()
C、setNumberic() D、setDouble()
解答:A
6、 在JDBC中使用事务,想要回滚事务事务的方法是( )。
A、Connection的commit()
B、Connection的setAutoCommit()
C、Connection的rollback()
D、Connection的close()
解答:C
7、 简述Class.forName()的作用。
8、 写出几个在JDBC中常用的接口。
9、 简述你对Statement,PreparedStatement,CallableStatement的理解。
10、 在JDBC编程时为什么要养成经常释放连接的习惯。
11、 简单写一下编写JDBC程序的一般过程和步骤。
12、 写一个连接Oracle数据库在T_User表中根据用户名把其中的密码更新成指定的密码的JDBC程序。
T_User表:
数据示例:
提示代码:
String driverName = "oracle.jdbc.driver.OracleDriver";
String url = "jdbc:oracle:thin:@" + serverName + ":" + serverPort + ":" + serverID ;
catch(ClassNotFoundException cnfe){cnfe.getMessage();cnfe.printStackTrace();}
catch(SQLException sqle){sqle.getMessage();sqle.printStackTrace();}
A、 Graphics B、 Graphics2D
C、 String D、 Color
解答:A
2、 编写一个播放音乐的应用程序,当客户选择某个音乐之后,程序在适当的位置显示一幅图像。
3、 编写一个播放视频的Java Applet小应用程序,要求视频文件的名字通过HTML文件传送给程序。
练习思考题参考答案
第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
解答: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源文件将产生相应的字节码文件,扩展名为( )
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”。
第2章 Java基本的程序设计结构
2.7练习思考题
1、 从下面选项中,选择三个有效的标示符:( )A. IDoLikeTheLongNameClass B. $byte
C. const D. _ok
E. 3_case
解答:A,B,D
2、 下面哪一项在java中是非法的标识符?( )
A. $user
B. point
C. You&me
D. _endline
解答: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
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;
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
解答: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)
解答: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];
}
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. 88 33 10 5 2
B. 2 5 10 33 88
C. 88 10 2 33 5
D. 5 33 2 10 88
解答: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、关于下面的程序,正确的结论是______。
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码占用______字节内存空间,这样,无论是中文字符还是英文字符,都是占用______字节内存空间。
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);
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张或若干张可以得到多少种不同的邮资。
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%的速度保持稳定增长,请编写一个程序,计算每年达到多少,多少年可以实现总量翻两番。
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+"年实现两番");
}
}
第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
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
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{
//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、局部变量在使用前必须被初始化。
解答: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成员
D、C类的实例不能访问到B类的实例
解答:C
12、下列命题为真的是:( )
A、所有类都必须定义一个构造函数。
B、构造函数必须有返回值。
C、构造函数可以访问类的非静态成员。
D、构造函数必须初始化类的所有数据成员。
解答:C
13、在Java中,关于final关键字的说法正确的是( )
A、如果修饰变量,则一旦赋了值,就等同一个常量。
B、如果修饰类,则该类只能被一个子类继承。
C、如果修饰方法,则该方法不能在子类中被覆盖。
D、如果修饰方法,则该方法所在的类不能被继承。
解答:A,C
14、在Java中,下面关于包的陈述中正确的是( )
A、包的声明必须是源文件的第一句代码。
B、包的声明必须紧跟在import语句的后面。
C、只有公共类才能放在包中。
D、可以将多个源文件中的类放在同一个包中。
解答:A,D
15、______方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。______方法是不能被当前类的子类重新定义的方法。
16、 什么叫方法的重载? 构造方法可以重载么?
17、 简述实例变量和类变量的区别。
第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
3、 下列哪种说法是正确的( )
A、私有方法不能被子类覆盖。
B、子类可以覆盖超类中的任何方法。
C、覆盖方法可以声明自己抛出的异常多于那个被覆盖的方法。
D、覆盖方法中的参数清单必须是被覆盖方法参数清单的子集。
解答:A
4、关于类继承的说法,正确的是( )
A、Java 类允许多重继承
B、Java接口允许多继承
C、接口和类都允许多继承
D、接口和类都不允许多继承
解答:B
5、 关于抽象类,正确的是______。
A. 抽象类中不可以有非抽象方法
B. 某个非抽象类的父类是抽象类,则这个子类必须重载父类的所有抽象方法
C. 不能用抽象类去创建对象
D. 接口和抽象类是同一个概念
解答:B
6、 下列哪个类是由编译器自动生成对象的特殊类,是用于类操作?( )
A、Class类
B、Thread类
C、System类
D、Object类
解答:A
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;
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
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++;
}
}
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
9、设有下面两个类的定义:
class Person
{ long id; // 身份证号
String name; // 姓名
}
class Student extends Person
{ int score; // 入学总分
int getScore(){
return score;
}
}
问:类Person和类Student的关系是( )
A、包含关系 B、继承关系
C、关联关系 D、无关系,上述类定义有语法错误
解答:B
10、对于接口的实现,不可以构造一个接口对象,但可以声明一个接口______。
11、 在Java语言中所有的类都是直接或间接地继承______类而得到的。
12、在Java中一个父类可以有______个子类,一个类只能有______个直接父类。
13、什么是继承?什么是多重继承和单继承?Java采用何种机制来实现多重继承?
14、什么是隐藏?什么是重写?二者有何区别?
15、子类会继承父类的所有方法和属性么?
16、设计一个Student类,以一维数组存储一个班级的学生信息。要求:
1)将Student设计成一个接口
2)自定义一个包来管理所设计的类
17、定义一个接口,该接口中只有一个抽象方法getClassName()。设计一个类Horse,该类实现接口ClassName中的方法getClassName(),功能是获取该类的类名。
基础开发篇
第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
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
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!
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
解答: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
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
C、Choice组件可实现的接口是ActionListener
D、以上都不对
解答:B
4、 下列哪一项是一个用于在GridLayout中的特定区域中放置多个组件的容器?
A、Applet
B、Panel
C、Button
D、Rectangle
解答:B
5、 关于对话框(Dialog)说法错误的是?( )
A、对话框是Window类的子类。
B、对话框和一般窗口的区别在于它依赖于其他窗口。
C、对话框分为模式和非模式两种。
D、文件对话框的构造方法:Filedialog fdlg=new FileDialog("filedialog");
解答:D
6、 下列容器中哪一个是从java.awt.Window继承的?( )
A、Frame
B、Panel
C、Container
D、Applet
解答:A
7、 在Java中,对组件可实现不同的布局,下列哪个不对( )
A、顺序布局(FlowLayout)
B、边界布局(BorderLayout)
C、网络布局(GridLayout)
D、中央布局(CenterLayout)
解答:D
8、下面关于事件监听的说明,哪一个语句是正确的。 ( )
A. 所有组件,都不允许附加多个监听器
B. 如果多个监听器加在一个组件上,那么事件只会触发一个监听器
C. 组件不允许附加多个监听器
D. 监听器机制允许按照我们的需要,任意调用addXxxxListener 方法多次,而且没有次序区别
解答:D
9、 下面哪个事件监听器可以处理在文本框中输入回车键的事件______。
A. ItemListener B. ActionListener
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
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的值。
(3)显示求出的根。
19、编写一个应用程序,窗口标题为“移动按钮”,窗口布局为null,在窗口中有两个按钮,单击其中一个按钮能够让另一个按钮移动。
20、实现窗口登陆对话框,要求输入用户名和密码,如果输入正确,弹出对话框提示正确,否则提示错误。
第7章 多线程
7.8练习思考题
1、 Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?( )A、安全性 B、多线性
C、跨平台 D、可移植
解答:B
2、 Runnable接口中的抽象方法是( )。
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.");
}
public void run() {
System.out.print("Thread");
}
}
则下面正确的选项是( )
A、编译失败
B、程序运行结果为:one.Threadtwo.Thread
C、程序运行结果是:one.two.ThreaThread
D、程序运行结果不确定
解答:D
4、 下列方法中可以用来创建一个新线程的是( )
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种 ( )
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、怎样设置线程的优先级?
13、线程在它的一个完整的生命周期中通常要经历哪几种状态?写出这些种状态并加以说明。
第8章 文件和流
8.7练习思考题
1、 创建一个向文件“file.txt”追加内容的输出流对象的语句是( )。A. OutputStream out=new FileOutputStream(“file.txt”);
B. OutputStream out=new FileOutputStream(“file.txt”, “append”);
C. FileOutputStream out=new FileOutputStream(“file.txt”, true);
D. FileOutputStream out=new FileOutputStream(new file(“file.txt”));
E. OutputStream out=new FileOutputStream(new File(“file.txt”)true);
解答:C,E
2、 下面类中,属于过滤流FilterInputStream的子类的是( )。
A、DataInputStream B、DataOutputStream
C、PrintStream D、BufferedOutputStream
解答:A
3、 FileInputStream流的read方法和FileRead流的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=
new BufferedReader(new FileReader("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 练习思考题
1、 为了捕获一个异常,代码必须放在下面( )语句块中。A、try块 B、catch块
C、throws块 D、finally块
解答:A
2、 下列常见的系统定义的异常中,有可能是网络原因导致的异常是( )。
A、ClassNotFoundException B、IOException
C、FileNotFoundException D、UnknownHostException
解答:D
3、 下列常见的系统定义的异常中,哪个是输入、输出异常?( )
A、ClassNotFoundException
B、IOException
C、FileNotFoundException
D、UnknownHostException
解答:B
4、 在代码中,使用catch(Exception e)的好处是 ( )
A、只会捕获个别类型的异常
B、捕获try块中产生的所有类型的异常
C、忽略一些异常
D、执行一些程序
解答:B
6、 异常包含下列那一个内容? ( )
A、程序中的语法错误
B、程序的编译错误
C、程序执行过程中遇到的事先没有预料到的情况
D、程序事先定义好的可能出现的意外情况
解答:C
7、 编写一个异常类MyException,再编写一个类Student,该类有一个产生异常的方法public void speak(int m) throws MyException,要求参数m的值大于1000时,方法抛出一个MyException对象。最后编写主类,在主类的main方法中用Student创建一个对象,让该对象调用speak方法。
第10章 Java网络编程
10.6 练习思考题
1、 在JAVA语言网络编程中,URL类是在java.net包中,该类中提供了许多方法用来访问URL对象的各种资源,下列哪个用来获取URL中的端口号()。A、getFile() B、getProtocol()
C、getHost() D、getPort()
解答:D
2、 一个URL对象通常包含哪些信息?
3、 怎样读取URL中的资源?
4、 Java使用哪个组件来显示URL中的HTML文件?
5、 客户端的Socket对象和服务器端的Socket对象是怎样通信的?
6、 基于UDP的通信和基于TCP的通信有什么不同?
中级开发篇
第11章 Java Applet基础
11.7 练习思考题
1、 关于Applet类,正确的说法是( )A、Applet类是java.awt中的类
B、Applet类是Container的间接子类
C、Applet类不是容器类
D、以上都不对
解答:B
2、 浏览器禁止Applet执行下列哪些操作?( )
A、在运行时调用其它程序。
B、文件读写操作。
C、装载动态连接库和调用任何本地方法。
D、试图打开一个socket进行通信,但所连接的主机并不是提供Applet的主机。
解答:A,B,C,D
3、 下面说法正确的是( )
A. java Applet 程序必须在浏览器中执行
B. java 应用程序必须在浏览器里执行
C. java Applet 程序不一定在浏览器中执行
D. java 应用程序可以在浏览器中执行
解答:C
4、 每当浏览器的用户离开applet所在的HTML页时都调用方法( )
A、stop()
B、init ()
C、paint()
D、repaint()
解答:A
5、 任何一个Applet开始执行时必然会被自动调用三个方法,被调用的顺序是( )
A、init paint start
B、start paint init
C、paint start init
D、init start paint
解答:D
6、 在Applet的关键方法中,哪个方法是关闭浏览器以释放Applet占用的所有资源?( )
A、init()
B、start()
C、paint()
D、destroy()
解答:D
7、 下面哪个操作Applet可以完成______。
A、读取客户端文件
B、在客户端创建新文件
C、读取Applet所在服务器的文件
D、在客户端调用其他程序
解答:C
8、 分析下面的HTML部分代码 :
<APPLET code = file_name
width = 60
height = 60>
</APPLET>
下列哪一项可以替代文件名以正确装载运行Hello 类 的小程序? ( )
A 、"Hello.bytecode"
B 、"Hello.class"
C 、"Hello.applet"
D 、"Hello.java"
解答:B
9、 下面不是Applet基本方法的是( )
A. start() B. stop()
C. init() D.kill()
解答:D
10、关于Applet的生命周期正确的说法是( )
A. stop方法在start方法之前执行
B. init方法在start方法之后执行
C. stop方法在Applet退出时被调用,只能被调用1次
D. stop方法在Applet不可见时会被调用,可以被调用多次
解答:D
11、下面程序代码正确的排列顺序是______。
(1)import java.applet.*;
(2)ex12_9_a()
(3)package myclasses;
(4)public class ex12_9 extends java.applet.Applet{}
A. 1、2、3、4
B. 1、3、2、4
C. 3、1、4、2
D. 1、3、4、2
解答:C
12、简述Java Applet的开发和运行步骤。
13、小应用程序界面的宽度和高度一般在______文件中指定,其中用来指定宽度和高度的关键字分别是______和______。
14、如果一个Java程序既是应用程序又是小应用程序,那么它必定含有______类的子类,同时含有成员方法______。
15、JDK中提供的一个专为查看Applet的工具是______。
16、在Applet坐标系中,(0,0)代表输出窗口______角的像素点。
17、利用Applet绘制一个国际象棋棋盘。
18、编写一个Applet,添加两个文本框和一个命令按钮。其中一个文本框接收用户输入的一行字符串,回车后在另一个文本框中重复输出三行,单击命令按钮可清空所有文本框内容。
19、准备一组图片及相关文字说明,编写Applet制作音乐相册,要求有背景音乐和向前、向后翻动相册的按钮。
第12章 常见数据结构的Java实现
12.8 练习思考题
1、 下列哪个不是线性表( )。A、链表 B、队列
C、栈 D、关联数组
解答:D
2、 java.util.Hashable可以实现的接口是( )
A. Java.util.Map.
B. Java.util.List.
C. Java.util.Hashable.
D. Java.util.Collection.
解答:A
3、set collection 遇到重复的元素,处理的方式是:( )
A、试图添加一个重复值的元素时,会抛出一个异常
B、试图添加一个重复值的元素时,add方法会返回失败值
C、一个set可以包含重复值元素
D、编译的时候,重复的元素值会导致错误
解答:B
4、创建一个类,来存储唯一的对象元素,元素不需要保持特定顺序,但是必须唯一。最能满足这种要求的接口是:( ) 。
A、Set
B、List
C、Map
D、Vector
E、HashSet
解答:A,E
5、 使用堆栈结构输出的若干项,其中=2+2,=3,=8。
6、 编写一个程序,用散列表实现学生成绩单的存储和查询,并将若干个查询结果存放到一个树集中,通过树集实现对查询结果的自动排序,并将排序结果显示在一个文本区中。
第13章 Java数据库连接--JDBC
13.6 练习思考题
1、 使用Connection的哪个方法可以建立一个PreparedStatement接口( )A、createPrepareStatement()
B、prepareStatement()
C、createPreparedStatement()
D、preparedStatement()
解答:B
2、 在JDBC中可以调用数据库的存储过程的接口是 ( )
A、Statement B、PreparedStatement
C、CallableStatement D、PrepareStatement
解答:C
3、 下面的描述正确的是( )。
A、PreparedStatement继承自Statement
B、Statement继承自PreparedStatement
C、ResultSet继承自Statement
D、CallableStatement继承自PreparedStatement
解答:A
4、 下面的描述错误的是( )。
A、Statement的executeQuery()方法会返回一个结果集
B、Statement的executeUpdate()方法会返回是否更新成功的boolean值
C、使用ResultSet中的getString()可以获得一个对应于数据库中char类型的值
D、ResultSet中的next()方法会使结果集中的下一行成为当前行
解答:C
5、 如果数据库中某个字段为numberic型,那么通过结果集中的哪个方法获取( )。
A、getNumberic() B、getDouble()
C、setNumberic() D、setDouble()
解答:A
6、 在JDBC中使用事务,想要回滚事务事务的方法是( )。
A、Connection的commit()
B、Connection的setAutoCommit()
C、Connection的rollback()
D、Connection的close()
解答:C
7、 简述Class.forName()的作用。
8、 写出几个在JDBC中常用的接口。
9、 简述你对Statement,PreparedStatement,CallableStatement的理解。
10、 在JDBC编程时为什么要养成经常释放连接的习惯。
11、 简单写一下编写JDBC程序的一般过程和步骤。
12、 写一个连接Oracle数据库在T_User表中根据用户名把其中的密码更新成指定的密码的JDBC程序。
T_User表:
字段名称 | 说明 | 数据类型 | 约束 | 备注 |
FUserName | 用户名 | Varchar(10) | 主键 | |
FPwd | 密码 | Varchar(6) | 不允许空 |
FUserName | FPwd | FEmail |
Jerry | 888888 | Jerry@126.com |
String driverName = "oracle.jdbc.driver.OracleDriver";
String url = "jdbc:oracle:thin:@" + serverName + ":" + serverPort + ":" + serverID ;
catch(ClassNotFoundException cnfe){cnfe.getMessage();cnfe.printStackTrace();}
catch(SQLException sqle){sqle.getMessage();sqle.printStackTrace();}
第14章 Java多媒体编程:图形、图像和声音
14.6 练习思考题
1、paint( )方法使用哪种类型的参数? ( )A、 Graphics B、 Graphics2D
C、 String D、 Color
解答:A
2、 编写一个播放音乐的应用程序,当客户选择某个音乐之后,程序在适当的位置显示一幅图像。
3、 编写一个播放视频的Java Applet小应用程序,要求视频文件的名字通过HTML文件传送给程序。
相关文章推荐
- CCF计算机软件能力认证试题练习-图像旋转(Java参考答案学习记录)
- 《算法导论》第四章-第1节_练习(参考答案)
- 第五届蓝桥杯练习系统往届试题公式求解试题及参考答案---田野上的稻草人
- 自考(2017年版)《操作系统》——第一章思考与练习题参考答案(自做)
- 《算法导论》第二章-第3节_练习(参考答案)
- Day 9:(5)简单查询练习参考答案
- CCF计算机软件能力认证试题练习-门禁系统(Java参考答案学习记录)
- 《算法导论》第一章-思考题(参考答案)
- CCF计算机软件能力认证试题练习-日期计算(Java参考答案学习记录)
- 栈:装水的杯子(六)同步练习及参考答案
- 软件测试常见面试题(无参考答案,请自己思考)
- 《算法导论》第一章-第1节_练习(参考答案)
- 《算法导论》第二章-第2节_练习(参考答案)
- CCF201312--模拟练习试题参考答案(Java)
- 《算法导论》第五章-第3节_练习(参考答案)
- 第五届蓝桥杯练习系统试题及参考答案---田野上的稻草人
- CCF201312--模拟练习试题参考答案(C++)
- 控制台版21点(BlackJack)源码(Java2游戏编程第4章练习参考答案)
- 《算法导论》第四章-第4节_练习(参考答案)
- CCF计算机软件能力认证试题练习-相邻数对(Java参考答案学习记录)