第五、六章习题
一、选择题
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______
相关推荐: