《Java语言程序设计基础教程》
练习思考题参考答案
第1章 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”。
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 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+"年实现两番"); } } 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、 简述实例变量和类变量的区别。 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(),功能是获取该类的类名。 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 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、实现窗口登陆对话框,要求输入用户名和密码,如果输入正确,弹出对话框提示正确,否则提示错误。 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、线程在它的一个完整的生命周期中通常要经历哪几种状态?写出这些种状态并加以说明。 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()); } } 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方法。 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的通信有什么不同? 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部分代码 : 下列哪一项可以替代文件名以正确装载运行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制作音乐相册,要求有背景音乐和向前、向后翻动相册的按钮。 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、 编写一个程序,用散列表实现学生成绩单的存储和查询,并将若干个查询结果存放到一个树集中,通过树集实现对查询结果的自动排序,并将排序结果显示在一个文本区中。 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 提示代码: 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();} 1、paint( )方法使用哪种类型的参数? ( ) A、 Graphics B、 Graphics2D C、 String D、 Color 解答:A 2、 编写一个播放音乐的应用程序,当客户选择某个音乐之后,程序在适当的位置显示一幅图像。 3、 编写一个播放视频的Java Applet小应用程序,要求视频文件的名字通过HTML文件传送给程序。第3章 类和对象
3.9 练习思考题
第4章 继承、接口和内部类
4.5 练习思考题
基础开发篇
第5章 Java API
5.9练习思考题
第6章 图形用户界面设计
6.7练习思考题
第7章 多线程
7.8练习思考题
第8章 文件和流
8.7练习思考题
第9章 异常处理
9.4 练习思考题
第10章 Java网络编程
10.6 练习思考题
中级开发篇
第11章 Java Applet基础
11.7 练习思考题
第12章 常见数据结构的Java实现
12.8 练习思考题
第13章 Java数据库连接--JDBC
13.6 练习思考题
第14章 Java多媒体编程:图形、图像和声音
14.6 练习思考题