java数组与异常处理复习题 联系客服

发布时间 : 星期三 文章java数组与异常处理复习题更新完毕开始阅读0c7613d780eb6294dd886c6d

第五、六章习题

一、选择题

1.下列关于数组的定义形式,哪些是错误的?( ABC ) A.int[ ]c=new char[10]; B.int[ ][3]=new int[2][ ]; C.int[ ]a; a=new int; D.char b[ ]; b=new char[80]; 2.执行String[] s=new String[10];语句后,哪些结论是正确的?( BC ) A.s[0] 为 未定义 B.s.length 为10 C.s[9] 为 null D.s[10] 为 \

3.下列关于Java语言的数组描述中,错误的是( D )。 A.数组的长度通常用length表示 B.数组下标从0开始

C.数组元素是按顺序存放在内存的 D.数组在赋初值和赋值时都不判界 4.下面的表达式哪些是正确的? ( ACE ) A.String s=\你好\

B.String s=\你好\C.String s=\你好\D.String s=\你好\

E. String s=null; int i=(s!=null)&&(s.length()>0)?s.length():0; 5.public class T18 {

static int arr[] = new int[10];

public static void main(String a[]) { System.out.println(arr[1]); } }

哪个语句是正确的?( C )

A.编译时将产生错误 B.编译时正确,运行时将产生错误 C.输出零 D.输出空

6.若String s = \'l','l','o'} ; 则下列哪些表达式返回true?( AB )

7.指出正确的表达式有( AB )。

A.double a=2.0; B.Double a=new Double(2.0); C.byte A= 350; D.Byte a = 120; 8.System类在哪个包中?( B )

A.java.awt B.java.lang C.java.util D.java.io 9.关于Float,下列说法正确的是( ACD )。

A.Float在java.lang包中 B.Float a=1.0是正确的赋值方法 C.Float是一个类 D.Float a= new Float(1.0)是正确的赋值方法 10.ava中用来抛出异常的关键字是A A.try B.catch C.throw D.finally

11.关于异常,下列说法正确的是A

A.异常是一种对象

B.一旦程序运行,异常将被创建

C.为了保证程序运行速度,要尽量避免异常控制 D.以上说法都不对

12.(C)类是所有异常类的父类。 A.Throwable B.Error

C.Exception D.AWTError

13.java语言中,下列哪一子句是异常处理的出口A A.try{?}子句 B.catch{?}子句 C.finally{?}子句 D.以上说法都不对

14.下列程序的执行,说法正确的是D class MultiCatch {

public static void main(String args[]) {

try {

int a=args.length; int b=42/a; int c[]={1}; c[42]=99;

System.out.println(“b=”+b); }

catch(ArithmeticException e) {

System.out.println(“除0异常:”+e); }

catch(ArrayIndexOutOfBoundsException e) {

System.out.println(“数组超越边界异常:” } } }

A.程序将输出第15行的异常信息 B.程序第10行出错 C.程序将输出“b=42”

D.程序将输出第19行的异常信息 15.下列程序的执行,说法正确的是D class ExMulti {

+e); static void procedure() { try {

int c[]={1}; c[42]=99; }

catch(ArrayIndexOutOfBoundsException e) {

System.out.println(“数组超越界限异常:”+e); } }

public static void main(String args[]) {

try {

procedure();

int a=args.length; int b=42/a;

System.out.println(“b=”+b); }

catch(ArithmeticException e) {

System.out.println(“除0异常:”+e); } } }

A.程序只输出第12行的异常信息 B.程序只输出第26行的异常信息 C.程序将不输出异常信息

D.程序将输出第12行和第26行的异常信息

16.下面程序抛出了一个“异常”并捕捉它。请在横线处填入适当内容完成程序。

class TrowsDemo {

static void procedure() throws IllegalAccessExcepton {

System.out.println(“inside procedure”); throw___new

____IllegalAccessException(“demo”); }

public static void main(String args[]) {

try

{

procedure(); }

____catch(IllegalAccessException e) {

System.out.println(“捕获:”+e); } }

二、填空题

1.catch子句都带一个参数,该参数是某个异常的类及其变量名,catch用该参数去与___抛出异常____对象的类进行匹配。

2.java虚拟机能自动处理____运行___异常。 3.变量属性是描述变量的作用域,按作用域分类,变量有局部变量、类变量、方法参数和___异常处理参数____

同一段程序可能产生不止一种异常。可以放置多个_______子句,其中每一种异常类型都将被检查,第一个与之匹配的就会被执行。

4.捕获异常要求在程序的方法中预先声明,在调用方法时用try-catch-__finally____语句捕获并处理。

5.java语言认为那些可预料和不可预料的出错称为____异常_____

6.按异常处理不同可以分为运行异常、捕获异常、声明异常和__抛出异常____几种。

7.抛出异常的程序代码可以是____java应用程序____或者是JDK中的某个类,还可以是JVN.

8.抛出异常、生成异常对象都可以通过___throw______语句实现。 9.捕获异常的统一出口通过____finally_____语句实现。

10.java语言的类库中提供了一个____Throwable______类,所有的异常都必须是它的实例或它子类的实例。

11.Throwable类有两个子类:_____Error_____类和Exception类。 12.对程序语言而言,一般有编译错误和______运行______错误两类。 13.下面程序定义了一个字符串数组,并打印输出,捕获数组超越界限异常。请在横线处填入适当的内容完成程序。

public class HelloWorld {

int i=0;

String greetings[]= {

“Hello world!”, “No,I mean it!”, “HELLO WORLD!!” };

while(i<4) {

______try______