第1章 一、填空
1.Java平台共分为 、 、 三个版本。 2. 是Java编程语言的核心,是一种纯软件形式的计算机。
3.Java环境包含5个元素: 、 、 、 、 。4.Java语言必须先经过 ,再经过 才能执行。 二、选择
1.Java具有的特点是( )。
A.面向对象 B.跨平台 C.安全性 D.以上都对 2.Java源代码文件的扩展名为( ) 。
A..class B..java C..com D.以上都不正确 3.Java编译器会将Java程序转换为( )。
A.字节码 B.可执行代码 C.机器代码 D.以上都不正确 4.( )会将源文件转换为类文件(.class文件)。
A.appletviewer B.java C.javac D.以上都不正确 5.( )命令用于执行在Java虚拟机中运行类的类文件。
A.javac B.java C.appletviewer D.以上都不正确 6.Java程序中最小的可编译单元是( )。
A.对象 B.类 C.方法 D.语句 7.纯面向对象的语言有( )。
A.Java B.C C.C++ D.Pascal 8.在Java中,对简单数据类型(如int)分配的内存为( )。
A.在IBM计算机中位16位 B.在VAX-11中为16位 C.与所在机器无关 D.都是16位
9.下面有关main()方法声明时,可以改动的是( )。
A.public B.static C.void D.args
10.main()方法是程序的入口,关于main()方法的方法头描述正确的是( )。A.public static void main()
B.public static void main(String args[]) C.public static int main(String args[]) D.public void main(String args[]) 三、判断
1.Java程序由若干个类组成。 ( ) 2.Java源代码中定义了几个类,编译结果就生成几个以.class为后缀的字节码文件。(四、简答
1.简述Java程序执行的流程。 2.列举Java虚拟机的组成元素。 第2章
1
)Java程序设计基础期末复习(一)
一、选择题
1.下面Java语言中是关键字的是( )
A.sizeof B.abstract C.NULL D.Native 2.下面语句中正确的是( )
A.char=’zdc’; B.long l=oxfff; C.float f=0.65 D.double=0.7E-2 3.关于选择结构的说法是( )
A.if语句和else语句必须成对出现 B.if语句可以没有else语句对应 C.switch结构中每个case语句中必须用break语句 D.switch结构中必须有default语句 4.以下语句中有语法错误的是( )
A.for( ; ;); B.for(int I=0;I<100;I++){} C.if(a<0>a++; D. ; ; ; 5.while循环和do-while循环的区别是( )
A.没有区别,这两个结构任何情况下效果都一样 B.while比do-while循环执行效率高
C.while循环是先循环后判断,所以循环至少被执行一次 D.do-while循环是先循环后判断,所以循环至少被执行一次 6.关于for循环和while循环的说法正确的是( )
A.while循环能实现的操作,for循环也能实现的
B.while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果 C.两种循环任何时候都可替换,所以循环体至少被执行一次 D.两种循环结构中都必须有循环体,循环体不能为空 7.下列说法正确的是( )
A.程序执行到break语句时一定会结束所有的循环 B.程序执行到continue语句时会结束当前循环
C.break语句和continue语句都可以和标签协同使用 D.continue语句和break语句的作用相同
8.以下程序是测试String类的各种构造方法,试选出其运行效果( )
class STR{ public static void main(String args[]){ String s1=new String(); String s2=new String(\"String 2\"); char chars[]={'a',' ','s','t','r','i','n','g'}; String s3=new String(chars); String s4=new String(chars,2,6); byte bytes[]={0,1,2,3,4,5,6,7,8,9}; StringBuffer sb=new StringBuffer(s3); String s5=new String(sb); System.out.println(\"The String No.1 is \"+s1); System.out.println(\"The String No.2 is \"+s2);
2
Java程序设计基础期末复习(一)
System.out.println(\"The String No.3 is \"+s3); System.out.println(\"The String No.4 is \"+s4); System.out.println(\"The String No.5 is \"+s5); } }
A.The String No.1 is B.The String No.1 is The String No.2 is String 2 The String No.2 is String 2 The String No.3 is a string The String No.3 is a string The String No.4 is string The String No.4 is tring The String No.5 is a string The String No.5 is a string
C.The String No.1 is D.以上都不对 The String No.2 is String 2 The String No.3 is a string The String No.4 is strin The String No.5 is a string 9.下面语句段的输出结果是( )
int i=9; switch(i){ default: System.out.println(\"default\"); case 0: System.out.println(\"zero\"); break; case 1: System.out.println(\"one\"); case 2: System.out.println(\"two\"); }
A.default B.default, zero
C.error default clause not defined D.no output displayed
10.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用( )个比特位。
A.8 B.16 C.32 D.64 11.设a=8,则表达式a>>>2的值是( )
A.1 B.2 C.3 D.4 12.若a的值为3时,下列程序段被执行后,c的值是( ) c=1;
if(a>0) if(a>3) c=2;else c=3;else c=4;
A.1 B.2 C.3 D.4
13.创建字符串s:String s=new String(“hello ”);以下语句将改变s的是( )
3
Java程序设计基础期末复习(一)
A.s.append(“aaa ”); B.s.concat(s);
C.s.substring(3); D.以上语句都不会
14.编译运行以下程序后,关于输出结果的说明正确的是( )
public class C{
public static void main(String args[ ]){ int x=0; System.out.println(“value is”+((x>0)?1.0:0)); } }
A.输出结果为:value is 1.0 B.输出结果为:value is 0 C.输出结果为:value is 0.0 D.编译错误 15.以下选项中循环结构合法的是( )
A.while(int i<7) {
i++;
System.out.println(“i is ”+i); }
B.int j=3;
while(j) {
System.out.println(“j is ”+j); }
C.int j=0;
for(int k=0;j+k!=10;j++,k++){
System.out.println(“j is ”+j+”k is” +k); }
D.int j=0;
do{
System.out.println(“j is ”+j++); if(j= =3) {continue loop;} }while(j<10);
16.关于以下程序段,正确的说法是( )
1 String s1=\"abc \"+\"def \"; 2 String s2=new String(s1); 3 if(s1= =s2)
4 System.out.println(\"= = succeeded \"); 5 if(s1.equals(s2))
6 System.out.println(\".equals() succeeded\"); A.程序将输出:= = succeeded B.程序将输出:.equals() succeeded C.程序将输出:= = succeeded D.程序无输出 .equals() succeeded
4
Java程序设计基础期末复习(一)
17.以下代码段执行后的输出结果为( )
int x=3; int y=10; System.out.println(y%x);
A.0 B.1 C.2 D.3 18.有以下方法的定义,请选择该方法的返回类型( )
int method(byte x,float y) {
return(short)x/y*2; }
A.byte B.short C.int D.float 19.有语句String s=”hello world”;,以下操作不合法的是( )
A.s>>>=1; B.int i=s.length(); C.String ts=s.trim(); D.String t=s+”!”;
20.执行完以下代码int [] x=new int[25];后,以下说明正确的是( )
A.x[24]为0 B.x[24]未定义 C.x[25]为0 D.x[0]为空 二、判断题
1.注释的作用是程序在执行时在屏幕上显示 // 之后的内容。( )
2.Java的字符类型采用的是Unicode编码,但所占字节由具体软/硬件环境决定。 3.Java语言中数组元素下标总是从0开始,下标可以是整数或整型表达式。 ( ) 4.用“+”可以实现字符串的拼接,用“-”从一个字串中去除一个字符子串。() 5.使用方法length()可以获得字符串或数组的长度。 ( )
6.Java中数组的元素可以是简单数据类型的量,也可以是某一类的对象。 ( ) 7.Java的字符类型采用的是ASCII编码。 ( ) 8.Java语言中不用区分字母的大写、小写。 ( ) 9.数组允许存放不同类型的定长元素。 ( ) 10.break语句可直接跳出外层循环。 ( ) 三、编程题
1.用三种循环语句来分别实现输出10~60之间的3的倍数。
2.编写一个程序,用选择法对数组a[]={20,10,50,40,30,70,60,80,90,100}进行从大到小的排序。
第3章 一、填空题
1.如果用户没有定义构造方法,系统会自动生成一个_________,如果用户定义了构造方法,则会_______系统自动生成的_____________。
2.java的参数传递方式包括___________和______________。 二、选择题
1.下列说法正确的是( )。
A.不需要定义类,就能创建对象 B.对象中必须有属性和方法
C.属性必须是简单变量 D.属性可以是简单变量,也可以是一个对象
5
Java程序设计基础期末复习(一)
2.关于方法的说法正确的是( )。
A.方法的形参可以和方法所属的类的属性同名 B.方法必须有形参
C.同类不同的方法中不能有同名的自变量,否则会产生不可预测的结果 D.没有返回值的方法可以用void来表示,也可以不加 3.下列说法正确的是( )。
A.一个程序可以包含多个源文件 B.一个源文件中只能有一个类 C.一个源文件中可以有多个公共类 D.一个源文件只能供一个程序使用 4.关于方法main( )的说法正确的是( )。
A.方法main( )只能放在公共类中
B.方法main( )的头定义可以根据情况任意更改 C.一个类中可以没有main( )方法
D.所有对象的创建都必须放在main( )方法中 5.构造方法在( )时被调用。
A.创建对象时 B.类定义时 C.使用对象的方法时 D.使用对象的属性时 6.void的含义为( )
A.方法体为空 B.方法没有返回值 C.没有意义 D.定义方法时必须使用 7.return语句( )。
A.可以让方法返回数值 B.方法都必须含有 C.方法中可以有多句return D.不能用来返回对象 8.关于下面的Java应用程序的说法,( )是正确的。
class StaticStuff { static int x=10; static {x+=5;} //第4行 public static void main(String args[]) { System.out.println(\"x等于 \"+x); } static {x/=5;} //第11行 }
A.不能编译第4行和第11行,因为缺少方法名称和返回类型 B.不能编译第11行,因为只能有一个静态初始化块 C.代码可编译,执行将生成输出结果:x等于15 D.代码可编译,执行将生成输出结果:x等于3 9.( )是一组有相同属性、共同行为和共同关系的对象的抽象。
A.类 B.方法 C.属性 D.以上所有选项都不正确
6
Java程序设计基础期末复习(一)
10.( )是指在调用一个方法时,每个实际参数“值”的副本都将被传递给此方法。
A.按引用传递 B.按值传递 C.按对象传递 D.以上所有选项都不正确 11.下列代码的输出结果是( )
public class MyClass { public static void main(String args[ ]) { int k=10;
MyClass obj=new MyClass( ); obj.method(k);
System.out.println(k);
}
public void method(int x){ x=x*2; } }
A.Error:method parameter does Not match variable B.10 C.20 D.以上所有选项都不正确 12.( )就是同一类中具有相同的名称但不同参数列表的方法。
A.覆盖方法 B.重载方法 C.强制类型转换 D.以上所有选项都不正确 13.( )是指子类中的一个方法与父类中的方法有相同的方法名并具有相同数量和类型的参数列表。
A.重载方法 B.覆盖方法 C.强制类型转换 D.以上所有选项都不正确 14.Java中包括的所有标准Java类均存储在名称为( )的包中。
A.java.lang B.java.util C.java.applet D.以上所有选项都不正确 15.通过将各个包含名称与其上层的包名称分隔,并在两者中间使用( ),可以创建包体系结构。
A. : B. , C. . D. 以上所有选项都不正确 三、判断题
1.同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间。( ) 2.Java程序中的参数传递都是把参数值传递给方法定义中的参数。 ( ) 3.对象一经声明就可以立即使用。 ( ) 四、简答题
1.什么叫实例变量?什么叫类变量? 2.说明构造方法的用途和特点。 五、操作题
1.编制一个方法计算一个数的阶乘,并在main( )方法中调用。 2.判断下面程序的运行结果,注意自变量的名称和值。
public class testVariable{
7
Java程序设计基础期末复习(一)
public static void main( String [ ] args){ char m=’a’; int a=4;
prt(“m in main = ”+m); prt(“a in main = ”+a);
prt(“return from testVar2: ”+testVar2()); prt(“m+a=”+testVar1(m,a)); }
static float testVar1(char y,int x){ int z=x+y; return z; }
static int testVar2( ){ int a=54;
prt(“a in testVar3 is”+a); for(int i=100; i<200;i++) return a+i; return a; }
static void prt(String s){ System.out.println(s); } }
第4章
一、单项选择
1.关于继承的说法正确的是( )
A.子类将继承父类所有的属性和方法 B.子类继承父类的非私有属性和方法 C.子类只继承父类public方法和属性
D.子类只继承父类的方法,而不继承属性 2.下列说法正确的是( )
A.Java中允许一个子类有多个父类
B.某个类是一个类有子类,它仍有可能成为另一个类的父类 C.一个父类只能有一个子类 D.继承关系最多不能超过4层 3.关于构造方法的说法正确的是( )
A.一个类只能有一个构造方法
B.一个类可以有多个不同名的构造方法
8
Java程序设计基础期末复习(一)
C.构造方法与类同名
D.构造方法必须自己定义,不能使用父类的构造方法 4.在调用构造方法时( )
A.子类可以不加定义就使用父类的所有构造方法
B.不管类中是否定义了何种构造方法,创建对象时都可以使用默认构造方法
C.先调用父类的构造方法 D.先调用形参多的构造方法 5.下列说法正确的是( )
A.子类只能覆盖父类的方法,而不能重载 B.子类只能重载父类的方法,而不能覆盖
C.子类不能定义和父类同名同形参的方法,否则系统将不知道使用哪个方法 D.重载就是一个类中有多个同名但有不同形参和方法体的方法 6.this和super( )
A.都可以用在main()方法中 B.都是指一个内存地址 C.不能用在main()方法中 D.意义相同 7.设有下面两个类的定义:
class Person{
class Student extends Person{
long id; //身份证号 int score; //入学总分 String name; //姓名 int getScore(){ } return score; } }
则类Person和Student的关系是( ) A.包含关系 B.继承关系 C.关联关系 D.上述类定义有语法错误 8.下列关于修饰符混用的说法,错误的是( )
A.abstract不能与final并列修饰同一个类 B.abstract类中可以有private的成员 C.abstract方法必须在abstract类中 D.static方法中能处理非static的属性 9.类ABC定义如下:
1 public class ABC{
2 public int max(int a ,int b){ } 3 4 }
欲插入行3以下不合法的方法是( )
9
Java程序设计基础期末复习(一)
A.public float max(float a,float b,float c){ } B.public int max(int c,int d){ }
C.public float max(float a,float b){ } D.private int max(int a,int b,int c){ }
10.关于以下application的说明,正确的是( )
1 class StaticStuff 2 {
3 static int x=10; 4 static {x+=5;}
5 public static void main(String args[]) 6 {
7 System.out.println(“x=”+x); 8 }
9 static {x/=3;} 10 }
A.4行与9行不能通过编译,因为缺少方法名和返回类型 B.9行不能通过编译,因为只能有一个静态初始化器 C.编译通过,执行结果为:x=5 D.编译通过,执行结果为:x=3 11.属于访问控制的关键字是( )
A.static B.final C.abstract D.private 12.对成员的访问控制保护最强的是( )
A.public B.缺省 C.private D.protected 13.类中限定为private的成员变量和方法( )
A.只能被这个类本身的方法访问 B.它在类外只能通过名字来访问 C.能被整个包中其他类访问 D.能被不同包中的子类访问 14.下面的程序段有错误的行是( )
1 class A{
2 private int x; 3 public void f(){
4 System.out.println(“Private Method f.”); 5 } 6 }
7 class B{ 8 void g(){
9 A aa=new A(); 10 aa.x=3; 11 aa.f(); 12 }
10
Java程序设计基础期末复习(一)
13 } A.8行 B.9行 C.10行 D.11行 15.下列说法正确的是( )
A.一个程序里最多只能有一个类被修饰为public,否则编译出错 B.源文件的文件名,是可以不用public修饰的类名 C.若程序中没有任何public类,则文件名可以任意命名 D.以上都不对
16.对象初始化的顺序是( )
A.先类属性,然后是构造方法 B.先构造方法,然后是类属性 C.谁先谁后无所谓 D.以上说法都不对
17.所谓方法重载,就是在类中创建了多个方法,它们具有相同的名称( )
A.有不同的参数个数或不同的参数数据类型 B.有不同的返回值类型 C.有不同的参数名称 D.有不同的方法体 18.以下程序段的行是有错误( ) 1 import java.applet.*;
2 import java.awt.*; 3 class Chengji{
4 protected float f(float x,float y){ 5 return x*y; 6 } 7 }
8 class Xiangjia extends Chengji{ 9 float f(float x,float y){ 10 return x+y; 11 } 12 }
A.8行 B.9行 C.4行 D.10行 19.在Java中定义常量的方法是( )
A.#define B.const C.final D.以上都不对 20.当一个类被final修饰后( )
A.此类可以被继承 B.别的类不能继承此类 C.其方法可被覆盖 D.以上都有不对 21.有继承关系时用到的关键字是( )
A.extends B.extend C.implements D.implement 二、判断题
1.由继承性可知,程序中子类拥有的成员数目一定大于父类拥有的成员数目。( )2.如果p是父类Parent的对象,而c是子类Child的对象,则语句p=c是正确的。(3.类及其属性、方法可以同时有一个以上的修饰符来修饰。( ) 4.子类要调用父类的方法,必须使用super关键字。( )
11
) Java程序设计基础期末复习(一)
5.Java的类是单继承的,所有的类都是从Object类派生而来的。( )
6.类Class1中的属性被private修饰符修饰为私有变量,所以方法不能访问它。( ) 7.一个程序里有且只有一个公共类,它就是含main方法的主类。( )
8.与未知访问控制符的缺省情况相比,public和protected修饰符扩大了类及其属性和方法的被访问范围, private修饰符则缩小了这种范围。( ) 9.父类创建的对象和子类的对象是一样的。( ) 10.方法的重载和覆盖是一回事。( ) 三、编程题
1.编写一个完整的Java Application程序。包含类Student、TestStudent,具体要求如下: (1)Student类
①属性:name:String对象,表示一个人的姓名 sex:char类型,表示性别 id:long类型,表示学号
classinfo:String对象,表示班级 address:String对象,表示家庭住址
②方法
Student(String name, char sex, long id):构造方法 String setName( ):返回姓名 void setId(long id ):设置学号
void setAddress(String add):设置家庭住址 void setClass(String classinfo):设置班级信息
public String toString( ):返回学生的各项信息,包括姓名、性别等
(2)类TestStudent作为主类要完成测试功能
①用以下信息生成一个Student对象aGirl
姓名:李丽 姓别:女
学号:2503123
②设置家庭地址:吉林省长春市新北路112号
设置班级信息:2009计算机软件4班 ③输出对象aGirl的各项信息
2.创建一个桌子Table类,该类中有桌子名称、重量、桌面宽度、长度和桌子高度等属性以及以下几个方法:
构造方法:初始化所有成员变量 area( ):计算桌面的面积。
display( ):在屏幕上输出所有成员变量的值 changeWeight( int w ):改变桌子的重量
在main( )方法中实现创建一个桌子对象,计算桌面的面积,改变桌子重量,并在屏幕上输出桌子属性的值。
12
Java程序设计基础期末复习(一)
第5章 一、选择题
1.下列关于修饰符混用的说法,错误的是()。
A.abstract不能与final并列修饰同一个类 B.abstract类中可以有private的成员 C.abstract方法必须在abstract类中 D.static方法中能处理非static的属性 2.有关内部类的说法正确的是( )
A.和一般类一样只能使用public和默认两个修饰词 B.内部类可以与外部类同名
C.内部类可以使用任意一个访问限定词 D.以上都对。 3.在使用interface声明一个接口时,只可以使用()修饰符来修饰该接口。
A.public B.protected C.private protected D.private 4.以下声明合法是的是( )。
A.default String s; B.public final static native int w(); C.abstract double d; D.abstract final double hyperbolicConsine() 5.实现接口的关键字是()
A.extends B.extend C.implements D.implement 6.声明公用的abstract方法的正确格式是( )。
A.public abstract void add(){} B.public abstract add() C.public abstract void add(); D.public virtual add(); 7.关于接口下面那个选项正确?()。
A.实现一个接口必须实现接口的所有方法 B.一个类可以实现多个接口 C.接口间不能有继承关系 D.接口和抽象类是同一回事 8.关于抽象类下面哪个选项正确?()。
A.抽象类中不可以有非抽象方法
B.某个非抽象类的父类是抽象类,则这个子类必须重载父类的所有抽象方法
C.绝对不能用抽象类去创建对象 D.接口和抽象类大致相同 9.可以用关键字abstract修饰的有( )。
A.类 B.成员变量 C.方法 D.接口 10.对于抽象方法下列说法正确的是()。
A.对抽象方法只需声明,而不需要具体的内容
B.对于抽象方法声明格式中,可以有空的方法体{} C.构造方法也可以定义为抽象方法 D.抽象方法可以出现在非抽象类中 11.接口中定义的成员变量( )
A.由于是常量,定义的同时赋值 B.可先定义,后赋值 C.可通过方法对其进行赋值 D.以上都对。 12.下列有关抽象类说法正确的是()
13
Java程序设计基础期末复习(一)
A.抽象类中必含抽象方法 B.抽象类不能实例化 C.抽象类不一定被继承 D.用interface定义抽象类 13.下面程序段有错误的行是()。
1 abstract class Employee{ 2 int basic=2000;
3 abstract void salary(); 4 }
5 class Manager extends Employee{ 6 Employee emp=new Employee(); 7 void salary(){
8 System.out.println(“工资等于”+basic*5+5678); 9 } 10 }
A.3行 B. 6行 C.7行 D.8行 14.接口中所有的成员变量都隐含的是( )(多选)
A.public B.stattic C.final D.protected 15.下列类定义中属于合法的抽象类定义的是( )
A.class A{abstract void fun1( );} B.abstract A{ abstract void fun1();}
C.class abstract A{ abstract void fun1();} D.abstract class A{abstract void fun1();} E.abstract class A{ abstract void fun1(){};} F.abstract class A{ void fun1{};} 16.下面说法正确的是( )
A.Java语言只允许单继承 B.Java语言只允许实现一个接口 C.Java语言不允许同时继承一个类并实现一个接口 D.Java语言的单继承使得代码更加可靠 17.抽象方法可与( )复合使用。
A.public B.protected C.final D.private E.static 18.在类中的方法中不能说明为抽象方法的是( )
A.构造方法 B.静态方法 C.私有方法 D.被protected修饰的方法 19.下面对接口和类之间的区别正确的说法是( )
A.类只能继承一个父类
B.对于接口,类可以实现多个接口
C.类继承了超类的方法:子类可以选择是否覆盖超类的方法 D.接口的方法没有实现,类必须实现接口中的每个方法 二、判断题
1.抽象方法必须在抽象类中,所有抽象类中的方法都必须是抽象方法( ) 2.final类中的属性和方法都必须被final修饰符修饰( )
14
Java程序设计基础期末复习(一)
3.最终类不能派生子类,最终方法不能覆盖( )
4.一个类如果实现了某个接口,那么它必须覆盖该接口中的所有方法( )
5.接口是特殊的类,所以接口也可以继承,子接口将继承父接口的所有常量和抽象方法( )
6.因为Java不支持多重继承,所以定义类时implements关键字后面只能说明一个接口名。
7.接口是由常量和抽象方法组成的特殊类( ) 8.有抽象方法的类,必须定义为抽象类。( )
9.当子类继承某个抽象类时,如果没有将全部的抽象方法重写,则它仍然是一个抽象类,声明时必须要用abstract修饰。( ) 三、简答题
1.什么是抽象类?它的特点是什么? 2.什么是接口?接口的特点有哪些? 3.接口与类有何异同?
4.什么是内部类?它有什么优点?
第6章 一、选择题
1.异常包含下列( )内容。
A.程序中的语法错误 B.程序的编译错误 C.程序执行过程中遇到的事先没有预料到的情况 D.程序事先定义好的可能出现的意外情况 2.如果一个程序段中有多个catch,程序会( )
A.每个catch都执行一次 B.把每个符合条件的catch都执行一次 C.找到合适的异常类型后就不再执行其他catch D.找到合适的异常类型后继续执行后面的catch 3.对于已经被定义过抛出异常的语句,在编程时( )
A.必须使用try/catch语句处理异常
B.如果程序错误,必须使用try/catch语句处理异常 C.不使用try/catch语句会出现编译错误 D.不使用try/catch语句不会出现编译错误
4.下面关于异常控制器排列顺序说法正确的是( )
A.应先捕捉父类异常,再捕捉子类异常 B.应先捕捉子类异常,再捕捉父类异常
C.有继承关系的异常不能在同一个try块的控制器中使用
D.如果先匹配到父类异常,后面的子类异常仍然可以被匹配到 5.下列关于finally说法正确的是( )
A.finally语句应该放在所有异常控制器的最前面。
B.若程序在前面的异常控制器中匹配到了合适异常,就不再执行finally语句了。
15
Java程序设计基础期末复习(一)
C.无论程序是找到合适的异常控制器,都会去执行finally语句。
D.若程序在前面异常控制器中匹配到多个合适的异常,就不再执行finally语句。 6.所有的异常皆继承( )类。
A.java.io.Exception B.java.lang.Throwable C.java.lang.Exception D.java.lang.Error 7.下面程序段的执行结果是( )
public class Foo{
public static void main(String[] args){ try{
return;
} finally{
System.out.println(“Finally”); } } }
A.程序正常运行,但不输出任何结果 B.程序正常运行,并输出”Finally” C.编译能通过,但运行时会出现一个异常 D.因为没有catch语句块,所以不能通过编译
8.在异常捕获的try…catch…finally语句中不正确的是( )
A.一个try块可以对应多个catch块 B.finally代码块不是必需的
C.如果有finally代码块,则不管怎样都会执行finally代码块中的内容
D.若捕获的诸类之间有继承关系,应将父类的catch放置在子类的catch块之前 9.一个方法不处理它产生的异常,而由调用它的方法来处理,后面应跟关键字( )
A.throw B.throws C.try…catch…finally D.以上都不对 10.下面说法错误的是( )
A.不是方法中产生的所有异常错误都必须被捕获或声明 B.对于非运行时异常,则要求必须捕获或声明
C.子类方法抛出的异常只能是父类方法抛出异常的同类或子类 D.以上都不对
11.主动产生一个异常而非动态抛出的是( )
A.throw语句 B.throws语句 C.try…catch语句 D.finally语句 12.有关创建自己的异常说法不正确的是( )
A.这类异常不是由Java系统监测到的异常,而是由用户自己定义的异常
B.用户定义的异常同样要用try-catch捕获,但必须由用户自己抛出throw new
MyException()
C.异常是一个类,用户定义的异常必须继承自Throwable或Exception类 D.以上都不对
16
Java程序设计基础期末复习(一)
二、判断题
1.Java异常处理中可以使用多个catch子句,此时应将高级别异常类的catch 子句放在
前面。( )
2.如果希望程序能够处理所有的异常,包括未知的异常,可以在所有的catch块后面加
一个catch(Exception e){ }。 ( )
3.当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定终
止运行。( )
4.equals()方法与相等操作符(= =)具有相同的功能。( ) 5.所有的异常类都应该捕获。
6.子类可以抛出比父类更多的异常。( )
7.子类方法抛出的异常只能是父类方法抛出异常的同类或子类。( ) 8.所有的异常类皆继承于Throwable一个类。( ) 9.如果有finally语句块,finally语句块不是必须的。( )
10.若在调用能够产生异常的方法时没有进行捕获和处理,将不以能通过编译。(三、简答题
1.什么是异常?简述Java的异常处理机制。 2.throw语句和throws语句有何不同? 3.在进行异常处理时需注意什么?
第10章 一、填空题
1.Java中的GUI工具箱包括__________________和__________________。 2.AWT基本组件共有的属性是_________、_________和_________。 3.Java中常用的布局管理器包括_________、_________、_________ _________、_________和_________。
4.列举常见的Java事件类型_________、_________、_________。 5.Jpanel的缺省布局是_________。
6.使用Swing组件时引用包的语句是_________。
7.设计菜单时常用的组件包括_________、 _________、 _________ 8.处理单击事件的事件接口是_______,处理的方法名是_______ 二、选择题
1.Dialog类和Frame类的使用区别为( )。
A.Frame可以设定锁定模式 B.Dialog类可以设定锁定模式 C.Frame必须依附窗口存在 D.Dialog必须依附窗口存在 2.AWT组件中文本区组件为( )。
A.TextField B.Label C.Choice D.JTextArea 3.Java中的事件处理属于( )类。
A.Swing B.AWT C.System D.Container 4.关于以下程序段的说法,正确的是( )
17
)Java程序设计基础期末复习(一)
1 class MyListener implements 2 ActionListener,ItemListener{ 3 public void actionPerformed(ActionEvent ae){ 4 System.out.printlin(“Action”);} 5 public void itemStateChanged(ItemEvent ie){ 6 System.out.println(“Item”); 7 } 8 } A..可通过编译 B..第2行产生编译错误 C..第3行产生编译错误 D..第5行产生编译错误 5.下面语句正确的是( )
A.Object o=new Button(\"A\"); B.Button b=new Object(\"B\"); C.Frame f=new Panel( ); D.Panel p=new Panel( ); 6.下列不是Swing组件的是( )。
A.JFrame B.JBbutton C. List D. AbstractButton 7.JDialog默认布局是( )。
A.流式布局 B. 边界布局 C.卡式布局 D.网格布局 8. JFrame可以用来修改窗体大小的方法是(两个选项)
A.setVisible() B.setSize() C.setBounds() D.setResizeable () 9.Swing组件中表示菜单项的类是( )。
A.JmenuItem B.JMenu C.JMenuBar D .JMItem 10.下列不属于键盘事件接口KeyListener的方法是( )。
A.keyPressed B. keyReleased C.keyTyped D.keyDown 三、判断题
1.容器可以被包含在其他容器中。( )
2.一个事件的监听器程序可以处理多个组件上产生的操作。( ) 3.Java中所有组件都是由纯Java语言编写实现的。( )
4.Swing组件是AWT组件的升级版本,可以完全替代AWT组件。( ) 5.Swing组件和AWT组件的全部事件接口都在同一个包中。( ) 6.使用事件接口处理事件时,必须给出所有抽象方法的方法体。( ) 7.适配器类在使用上比事件接口简单,可以替代事件接口。( ) 8.ActionListener没有对应的适配器类。( ) 四、简答题
1.列举Java中的布局管理器类型及各自得特点;
2.AWT组件与Swing组件的相同点,不同点,试举例说明。
五、操作题
1.实现登录对话框,输入用户名和密码,如输入正确,弹出另一个欢迎窗口,如果输入错误同样弹出对话框数名信息错误。
18
因篇幅问题不能全部显示,请点此查看更多更全内容