《Java语言程序设计基础教程》 练习思考题参考答案

来源:互联网 发布:淘宝宝贝分类怎么编辑 编辑:程序博客网 时间:2024/05/01 04:30

Java语言程序设计基础教程》

练习思考题参考答案

第1章 Java程序设计概述

1.9 练习思考题

1 Java运行平台包括三个版本,请选择正确的三项:(     )

   A. J2EE B. J2ME 

   C. J2SE          D. J2E

解答:ABC

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

解答:AB

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程序需要经过哪些主要步骤和过程?

10Java程序是由什么组成的?一个程序中必须要有public类吗?Java源文件的命名规则是怎么样的?

11编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:“你好,很高兴学习Java”和“We are students”。

第2章 Java基本的程序设计结构

2.7练习思考题

1、 从下面选项中,选择三个有效的标示符:(     )

A. IDoLikeTheLongNameClass       B. $byte 

C. const D. _ok

E. 3_case

解答:ABD

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

解答:DF

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] B. x[24]未定义 

C. x[25] D. x[0]为空

解答:A

11Java应用程序的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 + + )的值是______

19、若x = 5y = 10,则x < yx >= 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、某人有53分和45分的邮票,请编写一个程序,计算由这些邮票中的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、下列哪个类声明是正确的?(       )

Aabstract final class HI{}

Babstract private move(){}  

Cprotected private number; 

Dpublic abstract class Car{}

解答:D

11、已知A类被打包在packageA , B类被打包在packageB ,且B类被声明为public ,且有一个成员变量x被声明为protected控制方式 。C类也位于packageA包,且继承了B类 。则以下说法正确的是:(      )

AA类的实例不能访问到B类的实例

BA类的实例能够访问到B类一个实例的x成员

CC类的实例可以访问到B类一个实例的x成员

DC类的实例不能访问到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中用于定义接口的关键字是(      )

Aimport Bpackage

Cclass Dinterface

解答:D

2、 以下关于abstract的说法,正确的是(      )

Aabstract只能修饰类

Babstract只能修饰方法

Cabstract类中必须有abstract方法

Dabstarct方法所在的类必须用abstract修饰

解答:D

3、 下列哪种说法是正确的(       ) 

A、私有方法不能被子类覆盖。  

B、子类可以覆盖超类中的任何方法。 

C、覆盖方法可以声明自己抛出的异常多于那个被覆盖的方法。  

D、覆盖方法中的参数清单必须是被覆盖方法参数清单的子集。  

解答:A

4、关于类继承的说法,正确的是(     )

AJava 类允许多重继承

BJava接口允许多继承

C、接口和类都允许多继承

D、接口和类都不允许多继承

解答:B

5 关于抽象类,正确的是______。 

A. 抽象类中不可以有非抽象方法

B. 某个非抽象类的父类是抽象类,则这个子类必须重载父类的所有抽象方法

C. 不能用抽象类去创建对象

D. 接口和抽象类是同一个概念

解答:B

6、 下列哪个类是由编译器自动生成对象的特殊类,是用于类操作?(      )

AClass

BThread

CSystem

DObject

解答:A

7、 下面关于继承的哪些叙述是正确的。 (      )

A、在java中只允许单一继承。 

B、在java中一个类只能实现一个接口。 

C、在java中一个类不能同时继承一个类和实现一个接口。 

Djava的单一继承使代码更可靠。

解答:A,

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、对于接口的实现,不可以构造一个接口对象,但可以声明一个接口______

11Java语言中所有的类都是直接或间接地继承______类而得到的。

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);

}

}

Awelcome Bwelcome1234

C1234 D1234welcome

解答:C

3、 Java语言中的一些常用的实用工具,如处理时间的Date类,处理变长数组的Vector类等,所在的包是(      )。

Ajava.lang包  Bjava.io包 

Cjava.awt包  Djava.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()); 

AChina2008@

B@China2008

CChina@2008

DChina#2008

解答:C

6、在Java中,所有类的根类是(     )。 

      Ajava.lang.Object

      Bjava.lang.Class

Cjava.applet.Applet

      Djava.awt.Frame

解答:A

第6章 图形用户界面设计

6.7练习思考题

1 下列哪个布局管理器中的按钮位置会根据Frame的大小改变而改变?(    )

A. BorderLayout

B. CardLayout

C. GridLayout

D. FlowLayout

解答:D

2、 下面的组件都属于容器,父类属于java.awt.Window的容器是(     )

AFrame 

BPanel

CContainer

DApplet

解答:A

3、 关于以下的组件的接口,正确的是(     )

ATextArea组件可实现的接口是ActionListener

BList组件可实现的接口,除了ItemListener,还可以是ActionListener

CChoice组件可实现的接口是ActionListener

D、以上都不对

解答:B

4、 下列哪一项是一个用于在GridLayout中的特定区域中放置多个组件的容器? 

AApplet

BPanel

CButton

DRectangle

解答:B

5、 关于对话框(Dialog)说法错误的是?(      )

A、对话框是Window类的子类。

B、对话框和一般窗口的区别在于它依赖于其他窗口。

C、对话框分为模式和非模式两种。

D、文件对话框的构造方法:Filedialog fdlg=new FileDialog("filedialog");

解答:D

6、 下列容器中哪一个是从java.awt.Window继承的?(     )

AFrame 

BPanel

CContainer

DApplet

解答: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

10Frame类对象的默认布局是什么布局?(   )。

AFlowLayout布局 BBorderLayout布局

CCardLayout布局 DGridLayout布局

解答:B

11、不能添加到Container中的是?(      )

Aan Applet 

Ba Component 

Ca Container 

Da MenuComponent

解答:A

12Panel类对象的默认布局是什么布局?(   )。

AFlowLayout布局 BBorderLayout布局

CCardLayout布局 DGridLayout布局

解答:A

13JavaGUI工具包有____________

14、通过调用方法______可以改变当前容器的布局方式。

15、通过______方法向容器中添加组件。

16AWT布局管理器有______________________________

17、什么是GUI?功能是什么?

18、利用AWT控件编写一个求解一元二次方程根的程序,要求:

1)具有一元二次方程三个系数abc的输入界面。

2)显示b*b-4*a*c的值。

3)显示求出的根。

19、编写一个应用程序,窗口标题为“移动按钮”,窗口布局为null,在窗口中有两个按钮,单击其中一个按钮能够让另一个按钮移动。

20、实现窗口登陆对话框,要求输入用户名和密码,如果输入正确,弹出对话框提示正确,否则提示错误。

第7章 多线程

7.8练习思考题

1、 Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?(    )

A、安全性 B、多线性

C、跨平台 D、可移植

解答:B

2、 Runnable接口中的抽象方法是(     )。 

Astart Bstop

    Cyield Drun

解答: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、 作为类中新线程的开始点,线程的执行是从下面哪个方法开始的。(    )

Apublic void start()  

Bpublic void run()

Cpublic void int()

Dpublic 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的子类的是(      )。

ADataInputStream BDataOutputStream

CPrintStream DBufferedOutputStream

解答: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、 为了捕获一个异常,代码必须放在下面(     )语句块中。

Atry块  Bcatch块 

Cthrows块  Dfinally

解答:A

2、 下列常见的系统定义的异常中,有可能是网络原因导致的异常是(       )。

AClassNotFoundException BIOException

CFileNotFoundException DUnknownHostException

解答:D

3、 下列常见的系统定义的异常中,哪个是输入、输出异常?(       )

AClassNotFoundException

BIOException

CFileNotFoundException

DUnknownHostException

解答: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()

CgetHost() DgetPort()

解答:D

2、 一个URL对象通常包含哪些信息?

3、 怎样读取URL中的资源?

4、 Java使用哪个组件来显示URL中的HTML文件?

5、 客户端的Socket对象和服务器端的Socket对象是怎样通信的?

6、 基于UDP的通信和基于TCP的通信有什么不同?

中级开发篇

第11章 Java Applet基础

11.7 练习思考题

1、 关于Applet类,正确的说法是(     )

AApplet类是java.awt中的类

BApplet类是Container的间接子类

CApplet类不是容器类

D、以上都不对

解答:B

2、 浏览器禁止Applet执行下列哪些操作?(      )

A、在运行时调用其它程序。

B、文件读写操作。

C、装载动态连接库和调用任何本地方法。

D、试图打开一个socket进行通信,但所连接的主机并不是提供Applet的主机。

解答:A,,,

3、 下面说法正确的是(     )

A. java Applet 程序必须在浏览器中执行  

B. java 应用程序必须在浏览器里执行

C. java Applet 程序不一定在浏览器中执行

D.  java 应用程序可以在浏览器中执行

解答:C

4、 每当浏览器的用户离开applet所在的HTML页时都调用方法(     )

Astop() 

Binit ()

Cpaint()

Drepaint() 

解答:A

5、 任何一个Applet开始执行时必然会被自动调用三个方法,被调用的顺序是(      ) 

Ainit paint start

Bstart paint init  

Cpaint start init

Dinit start paint 

解答:D

6、 在Applet的关键方法中,哪个方法是关闭浏览器以释放Applet占用的所有资源?(     )

Ainit()

Bstart()

Cpaint()

Ddestroy()

解答:D

7、 下面哪个操作Applet可以完成______

A、读取客户端文件    

B、在客户端创建新文件

C、读取Applet所在服务器的文件    

D、在客户端调用其他程序

解答:C

8、 分析下面的HTML部分代码 : 

<APPLET code = file_name 

          width = 60 

          height = 60> 

</APPLET> 

下列哪一项可以替代文件名以正确装载运行Hello 类 的小程序(  )

"Hello.bytecode"

"Hello.class"

"Hello.applet"

"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、下面程序代码正确的排列顺序是______

1import java.applet.*;

2ex12_9_a()

3package myclasses;

4public class ex12_9 extends java.applet.Applet{}

A. 1234

B. 1324

C. 3142

D. 1342

解答:C

12、简述Java Applet的开发和运行步骤。

13、小应用程序界面的宽度和高度一般在______文件中指定,其中用来指定宽度和高度的关键字分别是____________

14、如果一个Java程序既是应用程序又是小应用程序,那么它必定含有______类的子类,同时含有成员方法______

15JDK中提供的一个专为查看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

3set collection 遇到重复的元素,处理的方式是:(      )

A、试图添加一个重复值的元素时,会抛出一个异常 

B、试图添加一个重复值的元素时,add方法会返回失败值 

C、一个set可以包含重复值元素

D、编译的时候,重复的元素值会导致错误 

解答:B

4、创建一个类,来存储唯一的对象元素,元素不需要保持特定顺序,但是必须唯一。最能满足这种要求的接口是:(      ) 

ASet  

BList 

CMap   

DVector  

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、 下面的描述正确的是(     )。

APreparedStatement继承自Statement

BStatement继承自PreparedStatement

CResultSet继承自Statement

DCallableStatement继承自PreparedStatement

解答:A

4、 下面的描述错误的是(     )。

AStatementexecuteQuery()方法会返回一个结果集

BStatementexecuteUpdate()方法会返回是否更新成功的boolean

C、使用ResultSet中的getString()可以获得一个对应于数据库中char类型的值

DResultSet中的next()方法会使结果集中的下一行成为当前行

解答:C

5、 如果数据库中某个字段为numberic型,那么通过结果集中的哪个方法获取(     )。

A、getNumberic() B、getDouble()

C、setNumberic() D、setDouble()

解答:A

6、 在JDBC中使用事务,想要回滚事务事务的方法是(     )。

AConnectioncommit()

BConnectionsetAutoCommit()

CConnectionrollback()

DConnectionclose()

解答: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文件传送给程序。