当前位置:文档之家› java题库第六章

java题库第六章

java题库第六章
java题库第六章

第六章异常和异常处理

一选择题

6-1.下列关于异常的描述中,错误的是(B)

A.异常是一种经过修正后程序仍可执行的错误

B.异常是一种程序在运行中出现的不可恢复执行的错误

C.不仅Java语言有异常处理,C++语言也有异常处理

D.出现异常不是简单结束程序,而是执行某种处理异常的代码,设法恢复程序的执行6-2.下列关于异常处理的描述中,错误的是(D)

A.程序运行时异常由Java虚拟机自动进行处理

B.使用try-catch-finally语句捕获异常

C.使用throw语句抛出异常

D.捕获到的异常只能用当前方法中处理,不能用其他方法中处理

6-3.下列关于try-catch-finally语句的描述中,错误的是(A)

A.try语句后面的程序段将给出处理异常的语句

B.catch()方法跟在try语句后面,它可以是一个或多个

C.catch()方法有一个参数,该参数是某种异常类的对象

D.finally语句后面的程序段总是被执行的,该语句起到提供统一接口的作用

6-4.下列关于抛出异常的描述中,错误的是(D)

A.捕捉到发生的异常可在当前方法中处理,也可以抛到调用该方法的方法中处理B.在说明要抛出异常的方法时应加关键字throw<异常列表>

C.<异常列表>中可以有多个用逗号分隔的异常

D.抛出异常的方法中要使用下述抛出异常语句:throw<异常名>;其中,<异常名>是异常类的类名

6-5.下列关于用户创建自己的异常描述中,错误的是(D)

A.创建自己的异常应先创建一个异常类

B.为实现抛出异常,须在可能抛出异常的方法中书写throw语句

C.捕捉异常的方法是使用try-catch-finally语句格式

D.使用异常处理不会使整个系统更加安全和稳定

二判断题

6-1.异常是一种特殊的运行错误的对象。(对)

6-2.异常处理可以使整个系统更加安全和稳定。(对)

6-3.异常处理是在编译时进行的。(错)

6-4.Java语言中异常类都是https://www.doczj.com/doc/c515236108.html,ng.Throwable的子类。(对)

6-5.Throwable类有两个子类:Error类和Exception类。前者由系统保留,后者供应用程序使用。(对)

6-6.异常通常是指Error类和Exception类。(错)

6-7.Exception类只有一个子类为RuntimeException。(错)

6-8.在异常处理中,出现异常和抛出异常是一回事。(错)

6-9.运行时异常是在运行时系统检测并处理的。(错)

6-10.使用try-catch-finally语句只能捕获一个异常。(错)

6-11.捕获异常时try语句后面通常跟有一个或多个catch()方法用来处理try块内生成的异常事件。(对)

6-12.使用finally语句的程序代码为该程序提供一个统一的的出口。(对)

6-13.抛出异常的方法说明中要加关键字throws,并在该方法中还应添加throw语句。(对)

6-14.创建异常类时要给出该异常类的父类。(对)

6-15.如果异常类没有被捕获将会产生不正常的终止。(对)

三分析程序的输出结果

6-1.Exer6_1.java

public class Exer6_1

{

public static void main(String args[] )

{

int x=10,y=0;

int z=x/y;

System.out.println(“z=“+z);

}

}

该程序运行后,输出结果如图所示:

D:\JA V A\XT>java Exer6_1

Exception in thread”main”https://www.doczj.com/doc/c515236108.html,ng.ArithmeticException:/by zero At Exer6_1.main

6-2.Exer6_2.java

public class Exer6_2

{

public static void main(String args[])

{

int array1[]={6,0,8};

for(int i=0;i

{

try

{

int d=100/array[i];

System.out.println(“\t 正常:d=“+d);

}

catch(ArithmeticException e)

{

System.out.println("\t算术异常");

}

catch(ArrayIndexOutOfBoundsException e)

{

System.out.println("\t下标越界异常");

}

finally

{

System.out.println("\t异常处理结束!\n");

}

}

}

运行该程序后,输出如图所示

D:\JA V A\XT>java Exer6_2

正常:d=16

异常处理结束!

算术异常!

异常处理结束!

正常:d=12

异常处理结束!

下标越界异常!

异常处理结束!

6-3 Exer6_3.java

public class Exer6_3

{

public static void main(String args[])

{

int array1[]={6,0,8};

for(int i=0;i<=array1.length;i++)

{

try

{

int d=100/array1[i];

System.out.println("\t正常:d="+d);

}

catch(RuntimeException e)

{

System.out.println("\t异常:"+e.toString());

}

finally

{

System.out.println("\t异常处理结束!\n");

}

}

}

}

运行该程序后,输出结果如图所示:

D:\JA V A\XT>java Exer6_3

正常:d=16

异常处理结束!

异常:https://www.doczj.com/doc/c515236108.html,ng.ArithmeticException:/by zero

异常处理结束!

正常:d=12

异常处理结束!

异常:https://www.doczj.com/doc/c515236108.html,ng.ArrayIndexOutOfBoundsExcepiton:3

异常处理结束!

6-4 Exer6_4.java

public class Exer6_4

{

public static void Test()

{

int a[]=new int[3];

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

{

try

{

a[i]=i+5;

System.out.println("\t正常:a["+i+"]="+a[i]);

}

catch(ArrayIndexOutOfBoundsException e)

{

System.out.println("\t异常:+e.toString()");

throw e;

}

}

}

public static void main(String args[])

{

try

{

Test();

}

finally

{

System.out.println("\t异常处理结束!\n")

}

}

}

运行该程序后,输出结果如图:

D:\JA V A\XT>java Exer6_4

正常:a[0]=5

正常:a[1]=6

正常:a[2]=7

异常:https://www.doczj.com/doc/c515236108.html,ng.ArrayIndexOutOfBoudsException: 3

异常处理结束!

Exception in thread “main” https://www.doczj.com/doc/c515236108.html,ng.ArrayIndexOutOfBoundsExcepiton:3 at Exer6_4.Test

at Exer6_4.main

6-5 Exer6_5.java

class myException extends Exception

{

static int a=0

myException(String s)

{

super(s);

a++;

}

String show()

{

return"自定义异常出现的次数:"+a;

}

}

Public class Exer6_5

{

static void Test() throws myException

{

myException e;

e=new myException("自定义异常\n");

throw e;

}

Public static void main(String args[])

{

for(int i=0;i<3;i++)

{

try

{

Test();

}

catch(myException e)

{

System.out.println(e.show());

System.out.println(e.toString);

}

}

}

}

运行该程序后,输出结果如图所示:

D:\JA V A\XT>java Exer6_5

自定义异常出现的次数:1

myException:自定义异常

自定义异常出现的次数:2

myException:自定义异常

自定义异常出现的次数:3

myException:自定义异常

5.简单回答题

6-1检测异常事件必须使用什么语句?

答:try语句

6-2catch()方法的作用是什么?该方法用户能否调用?

答:用来处理try块中检测出的异常事件。

6-3catch()方法中异常类型应与什么相符?

答:与生成的异常事件类型相符。

6-4异常示被捕获到将会出现什么现象?

答:try语句后边的惯常处理代码将不被执行,通常使用finally语句提供一个统一出口。6-5在一个try语句的程序代码块中可以捕获多个异常吗?

答:可以

6-6使用throw语句抛出的是类型还是对象?

答:抛出的是对象。

6-7捕获到的异常还可以再抛出吗?

答:可以。

6-8Finally语句块中的代码何时被执行?

答:在异常事件处理的方法catch()执行后执行。

6-9语句throw的作用是什么?

答:抛出所检测到的异常。

6-10异常类Exception的父类是什么?

答:是Throwable类。

6.编程题

6-1编程实现下述异常,并输出显示适当的错误信息。

(1)数组下标越界异常ArrayIndexOutOfBoundsException类型。例如,

char ch[]=new char[5];

ch[5]='m';//产生该类型异常

(2)对象转换异常ClassCastException类型。

例如,将对象a1转换为对象a2时,如果a1和a2不是同类,并且a1也不是a2

的子类对象时,则产生该类型异常。

(3)引用空对象的变量和方法时产生NullPointerException异常类型。例如,int ar[]=null;

System.out.println(ar.length);//产生该类异常

(1)关于数组下标越界异常ArrayIndexOutOfBoundsException请参照本书本章例6.1的程序,请读者自行编写。

(2)下面关于对象转换的例子。程序内容如下:

public class pro6_1

{

public static void main(String args[])

{

try{

M();

}

catch(ClassCastException e)

{

System.out.println("对象转换异常");

}

}

static void M()throws ClassCastException

{

Object obj=new Object();

int arr[]=(int[])(obj);

}

}

(3)编写处理异常程序如下:

public class pro6_2

{

public static void main(String args[])

{

try{

int ar[]=null;

System.out.println(ar.length);

}

catch(NullPointerException e)

{

System.out.println("Exception:"+e);

}

}

}

运行该程序后,输出显示结果如下:

Exception:https://www.doczj.com/doc/c515236108.html,ng. NullPointerException.

6-2 定义一个circle类,其中有求面积的方法,当圆的半径小于0时,抛出一个自定义的异

常。编程实现之:

程序内容如下;

class Circle extends Exception

{

double r;

Circle()

{ }

Circle(double i)

{r=i;}

public double getr()

{return r;}

public double Area()

{

return 3.1415*r*r;

}

}

public class pro6_3

{

public static void main(String args[])

{

Circle c=new Circle(-3.0);

try

{

if(c.getr()<0)

{

Circle ee=new Circle();

throw ee;

}

System.out.println(c.Area());

}

catch(Circle e)

{

System.out.println("自定义异常:"+e);

}

}

}

运行该程序后,输出显示如下结果:

自定义异常:Circle

如果将语句

Circle c=new Circle(-3.0);

必为

Circle c=new Circle(3.0);

输出结果如何?请读者上机试试。

6.5测试题

1.单选题

6-1下列关于异常和异常类的描述中,错误的是()。

A.异常是某种异常类的对象

B.异常类代表一种异常事件

C.异常对象中包含有发生异常事件的类型等重要信息

D.对待异常和处理就是简单地结束程序

6-2下列关于异常处理的描述中,错误的是()。

A.程序运行时出现的异常是通过系统默认的异常处理程序进行处理的

B.在程序中可以使用try-catch语句捕捉异常和处理异常事件

C.对于捕获的异常只能在当前方法中处理

D.使用throw语句可将异常抛出到调用当前方法的方法中处理

6-3下列关于用户创建自己的异常的描述中,错误的是()。

A.为了保证系统的稳定性,用户可以创建自己的异常和异常类

B.创建的异常类必须是Exception类的子类

C.在创建的异常类的类体中可以定义或重载其的属性和方法、

D.用户自定义的异常必须使用throw语句进行抛出

2.判断题

6-1 异常不是致命错误。

6-2 异常类Exception是Throwable类的子类,该类还派生出许多子类。

6-3 catch()方法是用来捕捉和处理异常的,可使用多个该方法,其异常类型的先后顺序是无关的。

6-4 用户在创建自己的异常时,通常在通过throw语句抛出异常。

6-5finally语句的程序段无论发生异常事件与否,它都是被执行的。

3.分析程序的输出结果

6-1程序内容如下:

public class test6_1

{

public static void main(String args[])

{

int arr[]={1,3,5,7,9};

int i=0;

while(i<6)

{

try

{

System.out.println(arr[i++]+1);

}

catch(ArrayIndexOutOfBoundsException e)

{

System.out.println("下标越界");

}

finally

{

System.out.println("ok");

}

}

}

}

6-2程序内容如下:

class myException extends Exception

{

myExcepiton(String s)

{

super(s);

}

}

public class test6_2

{

public static void main(String args[])

{

try

{

throw new myException("我自定义的异常");

}

catch(myException e)

{

e.printStackTrace();

}

}

}

4.编程题

读者自己定义一种异常类,并编程捕捉某种异常,输出异常信息。

5.简答题

已知:下列try-catch-finally语句块中<语句2>将会引起一个异常,试回答下述问题。

try{

<语句1>

<语句2>

<语句3>

}

catch(<异常类名>e1){…}

catch(<异常类名>e2){…}

finally

{…}

<语句4>

(1)<语句3>会执行吗?

(2)如果异常被捕捉了,finally语句被执行吗?

(3)如果异常没被捕捉,finally语句被执行吗?(4)无论异常是否被捕捉,<语句4>都被执行吗?

大学期末考试Java题库

1.下面程序的运行结果是()。 public class E3{ public static void main(String args[]){ String s="大大"; char a=s.charAt(2),b=s.charAt(4); System.out.print(a); System.out.println(b); } } 2.下面程序的运行结果是()。 import java.util.*; public class LinkedListExample { public static void main(String args[]){ LinkedList linkedlist = new LinkedList(); linkedlist.add(new Integer(1)); linkedlist.add(new Integer(2)); linkedlist.add(new Integer(3)); linkedlist.add(new Integer(4)); linkedlist.add(new Integer(5)); System.out.println("The original contents of the linkedlist is: "); System.out.println(linkedlist); linkedlist.add(2,"hello"); linkedlist.addFirst("First"); linkedlist.addLast("Last"); System.out.println("After adding elements,the linkedlist is: "); System.out.println(linkedlist); } } 答: 3.下面程序的运行结果是()。 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] < a[k]) k = j; int temp = a[i]; a[i] = a[k]; a[k] = temp; }

Java程序员认证考试题库

第一部分 基础知识练习 目标 本章对应于《学生指南》各章的内容分别提供了练习题集,包括: ●第一章Java入门 ●第二章数据类型和运算符 ●第三章流程控制与数组 ●第四章封装 ●第五章继承 ●第六章抽象类与接口 ●第七章多态 ●第八章异常 ●第九章多线程机制 ●第十章输入输出流 ●第十一章使用泛型和集合框架 ●第十二章基于Swing的图形用户界面(GUI)设计 ●第十三章Java事件驱动编程

第一章练习题(Java入门) (C)1.下列哪项不是JDK所包含的内容?(选一项)A.Java编程语言 B.工具及工具的API C.Java EE扩展API D.Java平台虚拟机 2.下列关于JDK、JRE和JVM的描述。哪项正确?A.JDK中包含了JRE,JVM中包含了JRE B.JRE中包含了JDK,JDK中包含了JVM C.JRE中包含了JDK,JVM中包含了JRE D.JDK中包含了JRE,JRE中包含了JVM 3.下列哪个工具可以编译java源文件? A.javac B.jdb C.javadoc D.junit 4.JDK工具javadoc的作用是哪项? A.生成Java文档 B.编译Java源文件 C.执行Java类文件 D.测试Java代码 5.以下哪些包是Java标准库中常用的包?(选三项)A.java.lang B.javax.servlet .http C.j ava. io D.java.sql

6.使用JDK工具生成的Java文档的文件格式是? A.XML格式 B.自定义格式 c.二进制格式 D.HTML格式 (AC)7.以下关于JVM的叙述,哪项正确?(选两项) A.JVM运行于操作系统之上,它依赖于操作系统 B.JVM运行于操作系统之上,它与操作系统无关 C.JVM支持Java程序运行,它能够直接运行Java字节码文件D.JVM支持Java程序运行,它能够直接运行Java源代码文件 8.以下关于支持Java运行平台的叙述,哪项错误? A.Java可在Solaris平台上运行 B.Java可在Windows平台上运行 C.Java语言与平台无关。Java程序的运行结果依赖于操作系统D.Java语言与平台无关。Java程序的运行结果与操作系统无关 (B)9.以下关于Applet和Java程序之间关系的叙述,哪项错误? A.-个Applet就是一段Java程序 B.Applet是一种特殊的Java程序,它需要运行在Web服务器上C.Applet是一种特殊的Java程序,它需要运行在Web浏览器上D.Applet是一种Java SE平台的应用程序 (AD)10.以下关于Java HotSpot的描述,哪两项错误?(选两项)A.Java HotSpot是一种热编译技术,在编译Java源程序时会被使用B.Java HotSpot是一种热编译技术,在运行Java代码时会被使用C.Java HotSpot是一种热编译技术,它只对程序的部分字节码进行优化D.Java HotSpot是一种热编译技术,它会对程序的全部字节码进行优化

《JAVA语言程序设计》期末考试试题及答案

《JAVA语言程序设计》期末考试试题及答案1 (应考必备题库) 一、单选择题 1、编译Java Application源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B )。 A. java B. .class C. html D. .exe 2、设x = 1 , y = 2 , z = 3,则表达式y + = z --------- /+ + x 的值是( A )。 A. 3 B. 3. 5 C. 4 D. 5 3、不允许作为类及类成员的访问控制符的是( C )。 A. public B. private C. static D. protected 4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。 A. static void method( ) B. public void method() C. final void method( ) D. abstract void method() 二、填空题 1、开发与运行Java程序需要经过的三个主要步骤为 _编辑源程序_________ 、 _编译生成字节码 ______ 和_______ 解释运行字节码 ________ 。 2、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占 用____ 2—字节内存空间,这样,无论是中文字符还是英文字符,都是占 用____ 2 ___ 字节内存空间。 3、设x = 2,则表达式(x + + ) /3的值是 __________ 0 ____ 。 4、若x = 5,y = 10,贝Ux < y和x >= y的逻辑值分别为true ___ 和___ fals」。 5、__ 抽象(abstract)-方法是一种仅有方法头,没有具体方法体和操作实现的 方法,该方法必须在抽象类之中定义。最终(fin al)_方法是不能被当前类的子类重新定义的方法。 6、创建一个名为MyPackage的包的语句是package MyPackage ; _, 该语句应该放在程序的位置为:—应该在程序第一句___________________ 。

javaSE选择题50道判断题30道

一、不定项选择题:(50题) 1.下列关于JDK、JRE和JVM的描述,正确的是?D A.JRE中包含了JDK,JVM中包含了JRE B.JRE中包含了JDK,JDK中包含了JVM C.JDK中包含了JRE,JVM中包含了JRE D.JDK中包含了JRE,JRE中包含了JVM 2.以下关于JVM的叙述,正确的是?AC A.JVM运行于操作系统之上,它依赖于操作系统 B.JVM运行于操作系统之上,它与操作系统无关 C.JVM支持Java程序运行,它能够直接运行Java字节码文件 D.JVM支持Java程序运行,它能够直接运行Java源代码文件 3.JVM在执行一个Java类时,大致采用以下过程?A A.装载类一>校验类一>执行类中的代码 B.装载类一>执行类中的代码一>校验类 C.校验类一>装载类一>执行类中的代码 D.执行类中的代码一>装载类一>校验类 4.以下关于Java文件名的叙述,正确的有?AD A.Java源文件的扩展名应为.java B.Java字节码文件的扩展名应为.java C.一个Java源文件中只能包含一个Java类 D.Java源文件的文件名应与文件中被public修饰的类的类名一致 5.下列哪项不是int类型的字面量?C A.20 B.077 C.\u03A6 D.0xABBC 6.下列哪项不属于Java语言的基本数据类型?B A.int B.String C.double D.boolean 7.下列哪项不是有效的标识符?AC A.2test B.userName C.$car.text D._password

8.现有如下五个声明: Line1: int _hi=6; Line2:int $dollars=8; Line3: int %opercent=9; Line4: int big=Integer.getlnteger("7"); Line5: int a_really_really_really_long_variable_name=5 ; 哪行无法通过编译?B A.Line1 B.Line3 C. Line4 D. Line5 9.表达式:double d = 1-2/5*5+2*5;d的值是哪项?D C.9 D.11 10.现有代码片段: String s="123"; String s1=s+456; 请问s1的结果是哪项?A A.123456 B.579 C.编译错误 D.运行时抛出异常 11.现有: 1.class Test4 { 2. public static void main (String [] args) { 3.boolean x=false; 4.boolean y=true; 5.short z=42; 6. 7. if((z++==42)&&(y==true))z++; 8. if((x==false)||(++z==45))z++; 9. 10. System. out.println("z="+z); 11. } 12.} 结果为:C A. z=42

AnjoyoJava04章节考试题

第四章考试题 一、选择题:(每题3分,共20题) 1.下列关于数组的描述不正确的是()。 A、数组是用来存储一组相同数据类型数据的。 B、数组是编程语言中非常常见的一种数据结构。 C、数组可以通过整型索引访问数组中的每一个值。 D、在一个数组里面,既允许用于存储一种数据类型的数据,也允许存储多种数据类型 数据。 2.下列关于数组定义错误的是()。 A、type[] var_name; B、int[10] a; C、String student[]; D、boolean[] booleanArray; 3.下列关于数组的说法中不正确的是()。 A、定义数组时必须分配内存。 B、数组的初始化操作分为静态初始化和动态初始化。 C、数组元素可以是基本数据类型、对象或其他数组。 D、数组是最简单的复合数据类型,是一系列数据的集合。 4.设有下列数组定义语句: int a[] = {1, 2, 3}; 则对此语句的叙述错误的是()。 A、定义了一个名为a的一维数组。 B、a数组有3个元素。 C、a数组元素的下标为1~3。 D、数组中每个元素的类型都是整数。 5.给出下面程序代码: byte[] a1, a2[]; byte a3[][]; byte[][] a4; 下列数组操作语句中哪一个是不正确的?() A、a2 = a1 B、a2 = a3 C、a2 = a4 D、a3 = a4 6.执行语句:int[] x = new int[20];后,下面说法正确的是()。 A、x[19]为空 B、x[19]未定义 C、x[19]为0 D、x[0]为空 7.已知有定义:String s="I love",下面正确的表达式是()。 A、s += "you"; B、char c = s[1]; C、int len = s.length; D、String s = s.toLowerCase(); 8.下面代码运行后的输出结果为()。 public class Test04_01 { public static void main(String[] args) { AB aa = new AB(); AB bb; bb = aa; System.out.println(bb.equals(aa)); } }

java100道选择题含答案

1. 下列不可作为java语言标识符的是(D) A) a1 B) $1 C) _1 D) 11 2. 有一段java 应用程序,它的主类名是a1,那么保存它的源文件名可以是(A) A) a1.java B) a1.class C) a1 D) 都对 3. 整型数据类型中,需要内存空间最少的是(D) A) short B) long C) int D) byte 4. Java 类可以作为(C) A) 类型定义机制 B) 数据封装机制 C) 类型定义机制和数据封装机制 D) 上述都不对 5. 在创建对象时必须(C) A) 先声明对象,然后才能使用对象 B) 先声明对象,为对象分配内存空间,然后才能使用对象 C) 先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象 D) 上述说法都对 6. 在调用方法时,若要使方法改变实参的值,可以(B) A) 用基本数据类型作为参数 B) 用对象作为参数 C) A和B都对 D) A和B都不对 7. Java中(C) A) 一个子类可以有多个父类,一个父类也可以有多个子类 B) 一个子类可以有多个父类,但一个父类只可以有一个子类 C) 一个子类可以有一个父类,但一个父类可以有多个子类 D) 上述说法都不对 8. Java语言具有许多优点和特点,哪个反映了Java程序并行机制的特点?(B) A) 安全性B) 多线性C) 跨平台D) 可移植 9. Character流与Byte流的区别是(C) A) 每次读入的字节数不同B) 前者带有缓冲,后者没有 C) 前者是字符读写,后者是字节读写D) 二者没有区别,可以互换使用 10. 以下声明合法的是( D ) A、default String s; B、public final static native int w( )

java考试题库第五章

5-1 下列关于容器的描述中,错误的是D A.容器是由若干个组建和容器组成的 B.容器是对图形界面中界面元素的一种管理 C.容器是一种对指定宽和高的矩形范围 D.容器都是可以独立的窗口 5-2 下列界面元素中,不是容器的是A A.List B.Frame C.Dialog D.Panel 5-3 下列关于实现图形用户界面的描述中,错误的是D A.放在容器中的组件首先要定义,接着要初始化 B.放在容器中的多个组件是要进行布局的,默认的布局策略是FlowLayout C.容器中所有组件都是事件组件,都可以产生事件对象 D.事件处理是忧监听者定义的方法来实现的 5-4 下列关于组件类的描述中,错误的是A A.组件类中包含了文本组件类(TextComponent)和菜单组件类(MenuComponent) B.标签(Label)和按钮(Button)是组件类(Component)的子类 C.面板(Panel)和窗口(Window)是容器类(Container)的子类 D.文本框(TextField)和文本区(TextArea)是文本组件类(TextComponent)的子类 5-5 在对下列语句的解释中,错误的是C but.addActionListener(this); A.but是某种事件对象,如按钮事件对象 B.t his表示当前容器 C.A ctionListener是动作事件的监听者 D.该语句的功能是将but对象注册为this对象的监听者 5-6 所有事件类的父类是C A.ActionEvent B.AwtEvent C.KeyEvent D.MouseEvent 5-7 所有GUI标准组件类的父类是C A.Buttom B.List C.Component D.Container 5-8 下列各种布局管理器中Window类、Dialog类和Frame类的默认布局是C A.FlowLayout B.CardLayout C.BorderLayout D.GridLayout 5-9 在下列各种容器中,最简单的无边框的又不能移动和缩放的只能包含在另一种容器中的容器是D A.Window B.Dialog C.Frame D.Panel 5-10 下列关于菜单和对话框的描述中,错误的是C A.Frame容器是可以容纳菜单组件的容器 B.菜单条中可包含若干个菜单,菜单中又可包含若干菜单项,菜单项中还可包含菜单子项 C.对话框与Frame一样都可作为程序的最外层容器 D.对话框内不含有菜单条,它由Frame弹出

全国计算机二级考试Java第6章练习题

全国计算机二级考试Java第6章练习题:异常处理第六章异常处理 1下列对异常包含内容正确的说法是_________. (C) A) 程序中的语法错B)程序在编译或运行中发生的异常事件 C) 程序中预先定义好的异常事件D)程序在编译时发生的错误 2 如程序段中有多个catch语句,程序会__________. (C) A) 对每个catch语句都执行一次 B) 对每个符合条件的catch语句都执行一次 C) 找到匹配的异常类型的catch执行后不再执行其他catch语句 D) 找到匹配的异常类型的catch 执行后再执行其他catch语句 3 以下自定义的异常类的父类是____________. (D) A) Erroe B)AWTError C)VirtualMachineError D)Exception及其子类 4 当需要将异常传递给调用方法时,用___________. (A) A)声明异常B)运行异常 C)捕获异常D)抛出异常 5 对于catch语句的正确排列是___________ . (A) A)父类在先,子类在后B)子类在后,父类在后 C)有继承的异常不能在同一个try段内D)排列无关 6 在下列程序的下划线处,填入适当语句使程序能正确执行: Import java.io.*; Public class Exceptionone { Static void situate(int sit) { System.out.println(“---情况”----+sit+”----”);

Try { If(sit==0) { System.out.println(“无异常捕获”); Return; } Else if (sit==1) { Int i=0; Int j=6/I; } Else if (sit==2) { Int iArray[]=new int [4]; iArray[10]=3; } }__________________________________________ System.out.println(“Catch”+e); } Catch(ArrayIndexOutOfBoundsException e) { System.out.println(“Catch”+e);} Catch(Exception e) {system.out.println(“不会执行”);} Finally {system.out.println(“在situate 中”); }

JAVA填空选择题库

一、选择题(共10道题,每道题有4个选项,只有一个选项是正确的;每道题2分,共计20分) 1.下面哪一个文件包含名为HelloWorld的类的字节码(B)。 A.HelloWorld.java B.HelloWorld.class C.HelloWorld.exe D.HelloWorld.javadoc 2.JDK6.0版本成功安装后,在指定的安装位置将出现jdk1.6.0_21目录,该目录下用于存放编译器、解释器等各类工具的子目录是(C)。 A.jre B.lib C.bin D.demo 3.编译运行以下程序后,关于输出结果的显示正确的是(D)。 public class Test{ public static void main(String args[ ]){ byte b=2, e=3; //---------------1 byte f=b+e; //----------------2 System.out.println(f); } } A.编译通过,运行时打印输出5B.编译通过,运行时打印输出23 C.编译不通过,在//1处有错误,不能这样定义变量 D.编译不通过,在//2处有错误,因为此处f必须是一个int类性的变量 4.类的设计要求它的某个成员变量不能被任何外部类直接访问,则使用下面的哪个修饰符能够获得需要的访问控制(A)A.private B.default C.protected D.public 5.已知给出以下代码,则下列选项中正确的是(C)。 public interface Top{ public void twiddle(String s); } A.public abstract class Sub implements Top{ public abstract void twiddle(String s){ } } C.public abstract class Sub implements Top{ } B.public class Sub extends Top{ public void twiddle(Integer i){ } } D.public class Sub implements Top{ public void twiddle(Integer i){ 6.下列哪个选项可以计算出角度为42度的余弦值(B)。 A.double d=Math.cos(42); B.double d=Math.cos(Math.toRadians(42)); C.double d=Math.conine(42) ; D.double d=Math.cos(Math.toDegrees(42)); 7.给定一个未完成的方法,代码如下: 1: 2:{ success = connect( ); 3:if (success==-1) { 4:throw new TimedOutException(); 5:} 6:} 已知TimedOutException不属于RuntimeException,那么在第一行的位置上填写哪段代码能够完成该方法的声明?(D)A.public void method() B.public void method() throw TimedOutException C.public void method() throws RuntimeException D.public void method() throws TimedOut Exception 8.当编译并运行下列代码时其运行结果是(A)。

第四章 Java章节习题

1.分别编写两个方法,一个方法的功能是求一个double型数值的向右取整,另一个方法求double型数值的向左取整。数d的向右取整是大于等于d的最小整数,d的向左取整是小于等于d的最大整数。例如:5.3的向右取整是6而向左取整是5. 答: public class One{ static int right(double x) { if(x!=5) x=x+1; return (int)x; } static int left(double x) { return (int)x; } public static void main(String args[]) { System.out.println("5.3向左取整为:"+left(5.3)); System.out.println("5.3向右取整为:"+right(5.3)); } } 程序运行结果为: 2.写一个方法计算一个整数各位数字的和。使用下述的方法说明: public static int sumDigits(long n) 例如:sumDigits(276)返回2+7+6=15 。 提示:用求余运算符%分解数字,用除号/分离位数。例如334%10=4而334/10=33.用循环反复分解和分离每位数字,直到所有的位数都被分解。 答: public class Two{ public static int sumDigits(long n) { long sum=0,t; while(n!=0)

47 { t=n%10; n=n/10; sum+=t; } return (int)sum; } public static void main(String args[]) { System.out.println("334各个位数字之和为:"+sumDigits(334)); } } 程序运行结果为: 3. 编写程序,用Math类中的sqrt方法打印下表: Number SquareRoot .................................... 0 0.0000 2 1.4142 4 2.0000 6 2.4495 8 2.8284 10 3.1623 12 3.4641 14 3.7417 16 4.0000 18 4.2426 20 4.4721 答: public class Three{ public static void main(String args[]) { System.out.println("Number SquareRoot"); System.out.println(".................."); for(int i=0;i<=20;) 47

Java高级编程选择题

1.Thread类用来创建和控制线程,一个线程从下面( )方法开始执行。 A.init() B.start() C.run() D.notifyAll() 2.实现线程体的方式除了继承Thread类,还可以实现( )接口。 A.Cloneable B.Runnable C.Iterable D.Serializable 3.哪个方法是实现Runnable接口所需的? A.wait() B.run() C.stop() D.update() 4.下面让线程休眠1分钟的正确方法是() A.sleep(1) B.sleep(60) C.sleep(1000) D.sleep(60000) 5.以下哪个最准确描述synchronized关键字? A.允许两线程并行运行,而且互相通信; B.保证在某时刻只有一个线程可访问方法或对象; C.保证允许两个或更多处理同时开始和结束; D.保证两个或更多线程同时开始和结束。 6.于Java语言的内存回收机制,下列选项中最正确的一项是( )。 A.Java程序要求用户必须手工创建一个线程来释放内存 B.Java程序允许用户使用指针来释放内存 C.内存回收线程负责释放无用内存 D.内存回收线程不能释放内存对象 7.在java程序中,下列关于线程的说法错误的是: ( ) A.run方法是运行线程的主体 B.多个进程运行时执行顺序是按顺序执行的 C.如果线程死亡,它便不能运行 D.在java中,高优先级的可运行线程会抢占低优先级线程 8.编写线程类,要继承的父类是: A.Object

B.Runnable C.Exception D.Thread 9.启动一个线程的方法是哪项? A . join ( ) B . runf ) C . start ( ) D . sleep ( ) 10.编写线程类,可以通过实现那个接口来实现? A.Runnable B.Throwable C.Serializable https://www.doczj.com/doc/c515236108.html,parable 11.当一个处于阻塞状态的线程解除阻塞后,它将回到哪个状态? A.运行中状态 B.结束状态 C.新建状态 D.可运行状态 12.在网络编程中,为了定位一个进程,我们需要确定() A.端口号 B.IP地址 C.IP地址和端口号 D.都不是 13.为了从文本文件中逐行读取内容,应该使用哪个处理流对象? A.BufferedReader B.BufferedWriter C.Bufferedlnputstream D.Bufferedoutputstream 14.要使用java程序访问数据库,则必须首先与数据库建立连接,在建立连接 前,应加载数据库驱动程序,该语句为() A.(“ rs= (“”,””,””).createStatement() B.Statement st= (“”,””,””).createStaement() 15.要使用java程序访问数据库,则必须首先与数据库建立连接,该语句为() A.(“ rs= (“”,””,””).createStatement() B.Statement st= (“”,””,””).createStaement() 16.Java程序与数据库连接后,需要查看某个表中的数据,使用下列哪个语句?

大学《java程序设计》考试题库及答案

若有定义int a=2,b=2; 则表达式(a++)+(++b) 的值是( )。 A. 5 监听器接口的方法返回值的类型是()。C. void 在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行()。 D. init() 以下哪个不是Java的原始数据类型() B. Boolean 向Applet传递参数的正确描述是()。C. C. PARAM name="age,value=20" 阅读下列代码; public class Test{ String s="One World One Dream"; public static void main(String args[]){ System.out.println(s); } } 其运行结果是_ C. 编译时出错//除非创建Text类的对象 如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是()。 A. p.add(b,"South"); 编译和运行下面的应用程序,并在命令行界面输入12345 ,则回车后屏幕输出的结果是( )。public class A { public static void main(String args[]) throws IOException{ BufferedReader buf=new BufferedReader( new I nputStreamReader(System.in)); String str=buf.readLine(); int x=Integ er.parseInt(str); System.out.println(x/100); } } B. 123 构造函数何时被调用?() B. 创建对象时 以下哪项可能包含菜单条()。 D. Frame

java选择题

1、Java属于以下哪种语言?() A、机器语言 B、汇编语言 C、高级语言 D、以上都不对 2、在JDK安装目录下,用于存放可执行程序的文件夹是? A、bin B、jre C、lib D、db 3、下列Java命令中,哪一个可以编译HelloWorld.java文件? A、java HelloWorld B、java HelloWorld.java C、javac HelloWorld D、javac HelloWorld.java 4、以下关于java命令作用的描述中,正确的是 A、它专门负责解析由Java编译器生成的.class文件 B、它可以将编写好的Java文件编译成.class文件 C、可以把文件压缩 D、可以把数据打包 5、下面关于配置path环境变量作用的说法中,正确的是() A、在任意目录可以使用javac和java命令 B、在任意目录下可以使用class文件 C、在任意目录可以使用记事本 D、在任意目录下可以使用扫雷游戏 6、下面关于path和classpath的说法中,错误的是() A、path用来指定java 虚拟机(JVM) 所在的目录 B、classpath用来指定我们自己所写的或要用到的类文件(.jar文件) 所在的目录 C、在dos命令行中,classpath和path环境变量的查看与配置的方式不相同 D、只要设置了classpath 这个环境变量系统就不会再在当前目录下查询某个类 7、下面关于classpath的说法中,错误的是()。 A、classpath和path环境变量的查看与配置的方式完全相同。 B、为了让Java虚拟机能找到所需的class文件,就需要对classpath环境变量进行设置。 C、从JDK5.0开始,如果classpath环境变量没有进行设置,Java虚拟机会自动将其设置为“.”,也就是当前目录。 D、在命令行窗口中配置了classpath后,重新打开新命令行窗口依然生效 8、下面哪种类型的文件可以在Java虚拟机中运行?() A、.java B、.jre C、.exe D、.class 9、阅读下段代码片段,选择正确的运行结果 public static void main(String[] args) {

java笔试题 第五套题

一、选择题 1、在下列选项中,哪个不是一个算法一般应该具有的基本特征______。 A、确定性 B、可行性 C、无穷性 D、拥有足够的情报 2、希尔排序法属于哪一种类型的排序法______。 A、交换类排序法 B、插入类排序法 C、选择类排序法 D、建堆排序法 3、下列关于队列的叙述中正确的是______。 A、在队列中只能插入数据 B、在队列中只能删除数据 C、队列是先进先出的线性表 D、队列是先进后出的线性表 4、对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为______。 A、N+1 B、N C、(N+1)/2 D、N/2 5、信息隐蔽的概念与下述哪一种概念直接相关______。 A、软件结构定义 B、模块独立性 C、模块类型划分 D、模拟耦合度 6、面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是______。 A、模拟现实世界中不同事物之间的联系 B、强调模拟现实世界中的算法而不强调概念 C、使用现实世界的概念抽象地思考问题从而自然地解决问题 D、鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考 7、在结构化方法中,软件功能分解属于下列软件开发中的______阶段。 A、详细设计 B、需求分析 C、总体设计 D、编程调试 8、软件调试的目的是______。 A、发现错误 B、改正错误 C、改善软件的性能 D、挖掘软件的潜能 9、按条件f对关系R进行选择,其关系代数表达式为______。 A、

B、 C、бf(R) D、∏f(R) 10、数据库概念设计的过程中,视图设计一般有三种设计次序,以下各项中不对的是______。 A、自顶向下 B、由底向上 C、由内向外 D、由整体到局部 11、下面有关变量及其作用域的陈述______是不对的。 A、在方法里面定义的局部变量在方法退出的时候被撤销 B、局部变量也叫自动变量 C、在方法外面定义的实例变量在对象被构造时创建 D、在方法中定义的方法的参变量只要该对象被需要就一直存在 12、下面有关Java代码安全性的叙述______是不对的。 A、字节码校验器加载查询执行需要的所有类 B、运行时解释器执行代码 C、在运行时,字节码被加载,验证然后在解释器里面运行 D、类加载器通过分离本机文件系统的类和从网络导入的类增加安全性 13、给出下面的代码: public class Data{ public static void main (String args[]){ float f=0.0; f+=1.0; System.out.println(f); } } ______叙述是对的。 A、编译时将发生错误 B、编译时正确但是运行时出错 C、输出为1.0 D、输出为null 14、类的设计要求它的某个成员变量不能被外部类访问。应该使用下面的______修饰符获得需要的访问控制。 A、public B、no modifier C、protected D、private 15、假设以下代码 public class Parent { public int addValue( int a, int b) { int s; s = a+b;

Java笔试题库及其答案

一.单选题 1) 在中,要判断D盘下是否存在文件,应该使用以下()判断语句。(选择一项) a) ( (“”) () = =1) b) ((“”) = =1) c) ( (“”) ( ) ) d) ((“)) 答案 2) 在中,()对象可以使用键/值的形式保存数据。(选择一 项) a) b) c) d) 答案 3)给定代码,如下: ( b1, b2){ ; }

要使用这段代码能够编译成功,横线处可以填入()。(选择一项) a)() (b12) b)() b12 c) b12 d) () b12 答案 4)在中,在包下定义一个类,要让包下的所有类都可以访问这个类,这个类必须定义为()。(选择一项) a) b) c) d) 答案 5)在中,下列()语句不能通过编译。 (选择一项) a) “”+ “”+ “”; b) “”+3; c) 3+5 d) 5+5.5; 答案

6)给定代码如下,运行时,会产生()类型的异常。(选择一项) s=; (“”); a) b) c) d) 答案 7)给定如下代码,编译运行之后,将会输出()。 { ( []){ 5; (21) ?(1) /22) ; } } (选择一项) a)1 b)2 c)2.5 d)3

答案 8) 程序中,方法的格式正确的是()。(选择一项) a)([] ) b)([] ) c)([]s) d)([] ) 答案 9)以下语句中, = “123456789” (1,3);执行后中的值为。 (选择一项) a) “23” b)“123” c) “12” d) “234” 答案 10)给定如下代码,编译运行时,结果是()。(选择一项) { ( []) {

Java选择题100道

期末不解释Java选择题100道(三)来源:井淼WILL的日志 1. 若a的值为3时,下列程序段被执行后,c的值是多少?( C ) if ( a>0 ) if ( a>3 ) c = 2; else c = 3; else c = 4; A、1 B、2 C、3 D、4 2. 下面哪一个操作符的优先级最高?( D ) A、&& B、|| C、! D、( ) 3. 下列方法头中哪一个不与其他方法形成重载(overload)关系?( D ) A、void mmm() B、void mmm(int i) C、void mmm(String s) D、int mm() 4. 编译Java程序的命令是:( B ) A、appletviewer B、javac C、java D、javadoc 5. 编译Java源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。 A、.byte B、.class C、.html D、.exe 6. 执行语句int i = 1, j = ++i; 后i与j的值分别为( D )。 A、1与1 B、2与1 C、1与2 D、2与2

7. main方法是Java应用程序执行的入口点,关于main方法的方法头以下哪项是合法的?( B ) A、public static void main() B、public static void main(String[] args ) C、public static int main(String [] arg ) D、public void main(String arg[] ) 8. 下列哪个选项不是Java语言的特点?( D ) A、面向对象 B、高安全性 C、平台无关 D、面向过程 9. 下列哪个是合法的Java标识符?( B ) A、Tree&Glasses B、FirstJavaApplet C、*theLastOne D、273.5 10. 下面的选项中,哪一项不属于“汽车类”的行为( D )。 A、启动 B、刹车 C、减速 D、速度 11. 下面哪一个循环会导致死循环?( C ) A、for (int k = 0; k < 0; k++) B、for (int k = 10; k > 0; k--) C、for (int k = 0; k < 10; k--) D、for (int k = 0; k > 0; k++) 12. 有如下程序段: int a = b = 5; String s1 = "祝你今天考出好成绩!"; String s2 = s1; 则表达式a == b与s2 == s1的结果分别是:( A )。 A、true与true B、false与true C、true与false D、false与false

Java笔试题库⑦

1,关于Spring MVC的核心控制器DispatcherServlet的作用,以下说法错误的是() A,它负责接收HTTP请求 B,加载配置文件 C,实现业务操作 D,初始化上下应用对象ApplicationContext 正确答案:C SpringMVC是Spring中的模块,它实现了mvc设计模式,首先用户发起请求,请求到达SpringMVC的前端控制器(DispatcherServlet),前端控制器根据用户的url请求 处理器映射器查找匹配该url的handle,并返回一个执行链,前端控制器再请求处理器适配器调用相应的handle进行处理并返回给前端控制器一个modelAndView,前端控制器再请求视图解析器对返回的逻辑视图进行解析,最后前端控制器将返回的视图进行渲染,并 把数据装入到request域,返回给用户。 DispatcherServlet作为SpringMVC的前端控制器,负责接收用户的请求,并根据 用户的请求返回相应的视图给用户。实现业务在service层,所以c答案错误。 2,下面有关spring的依赖注入,说法错误的是() A,依赖注入通常有如下两种:设值注入和构造注入: B,构造注入可以在构造器中决定依赖关系的注入顺序,优先依赖的优先注入 C,当设值注入与构造注入同时存在时,先执行构造注入,再执行设值注入 D,设值注入是指IoC容器使用属性的setter方法来注入被依赖的实例。这种注入方式比较简单、直观 正确答案:C 使用构造函数依赖注入时,Spring保证一个对象所有依赖的对象先实例化后,才实 例化这个对象。使用set方法依赖注入时,Spring首先实例化对象,然后才实例化所有依赖的对象。 当设值注入与构造注入同时存在时,先执行设值注入,再执行构造注入。 3,将元数据配置到Spring容器,下面哪个方法是不正确的() A,通过编组与解组对象 B,注解基础配置 C,Java基础配置 D,XML基础配置 正确答案:A 有三种方式向Spring 容器提供元数据:1,XML配置文件;2,基于注解配置;3,基于Java的配置,死概念记住即可。

相关主题
文本预览
相关文档 最新文档