智慧树知到《Java程序设计》章节测试答案
智慧树知到《Java程序设计》章节测试答案
绪论单元测试
1、Java语言最初是面向哪个应用领域设计的?
A.制造业
B.Internet
C.消费电子产品
D.CAD
正确答案:消费电子产品
2、Java在()年的3月23日诞生。
A.1995
B.1993
C.1991
D.1997
正确答案:1995
第一章单元测试
1、Java 语言使用的字符码集是
A.DCB
B.Unicode
C.BCD
D.ASCII
正确答案:Unicode
2、Java 源文件和编译后的文件扩展名分别为
A..class和 .java
B..class和 .class
C..java 和 .class
D..java和 .java
正确答案:.java 和 .class
3、关于方法main()的说法哪个正确?
A.main()的头定义可以根据情况任意更改
B.方法main()只能放在公共类中
C.所有对象的创建都必须放在main()方法中
D.一个类中可以没有main()方法
正确答案:一个类中可以没有main()方法
4、Java语言具有许多优点和特点, 下列选项中, 哪个反映了Java 程序并行机制的特点:
A.多线程
B.安全性
C.可移植
D.跨平台
正确答案:多线程
5、Java语言最初是面向哪个应用领域设计的?
A.CAD
B.制造业
C.Internet
D.消费电子产品
正确答案:消费电子产品
6、Java在()年的3月23日诞生。
A.1993
B.1997
C.1995
D.1991
正确答案:1995
7、ava 编译器是哪个命令?
A.java
B.javaw
C.javac
D.javae
正确答案:javac
8、Java体系主要分为三部分,下列哪个选项不是其中的一个组成部分?
A.Java EE
B.Java SE
C.Java ME
D.Java AE
正确答案:Java AE
9、Java 编译器是哪个命令?
A.javac
B.javaw
C.javae
D.java
正确答案:javac
10、Java 运行时解释器是哪个命令?
A.javae
B.javaw
C.javac
D.java
正确答案:java
11、编译和运行以下代码的结果为:public class MyMain{ ; public static void main(String argv){ ;System.out.println(";Hello cruel world";); };}
A.运行输出 ';Hello cruel world'
B.编译无错,但运行时指示找不到main方法
C.编译错误
D.编译无错,但运行时指示没有定义构造方法
正确答案:编译无错,但运行时指示找不到main方法
12、以下哪个是Java应用程序入口的main方法头?
A.public static void MAIN(String args[])
B.public static void main(String argv)
C.public static void main(String a[])
D.public static int main(char args[])
正确答案:public static void main(String a[])
13、编译Java源程序文件将产生相应的字节码文件,字节码文件的扩展名为?
A.exe
B.java
C.html
D.class
正确答案:class
14、main方法是Java;Application程序执行的入口点,关于main方法的方法头合法的有?
A.public static void main()
B.public static void main(String arg[ ])
C.public static void main(String[ ] args)
D.public static int main(String[ ] arg)
正确答案:public static void main(String arg[ ]);public static void main(String[ ] args)
15、每个源程序文件中只能定义一个类。
A.正确
B.错误
正确答案:错误
第二章单元测试
1、数组也是对象。
A.正确
B.错误
正确答案:正确
2、Java中数组的元素只能是简单数据类型。
A.正确
B.错误
正确答案:错误
3、Java 语言使用的字符码集是
A.ASCII
B.BCD
C.DCB
D.Unicode
正确答案:Unicode
4、为了使包ch4在当前程序中可见,可以使用的语句是
A.import ch4.*
B.ch4 import
C.package ch4.*
D.ch4 package
正确答案:import ch4.*
5、关于选择结构下列哪个说法正确?
A.if 语句和 else 语句必须成对出现
B.switch 结构中每个case 语句中必须用break 语句
C.switch 结构中必须有default 语句
D.if 语句可以没有else 语句对应
正确答案:if 语句可以没有else 语句对应
6、while 循环和 do…while循环的区别是:
A.没有区别,这两个结构任何情况下效果一样
B.do…while循环是先循环后判断,所以循环体至少被执行一次
C.while 循环比 do…while循环执行效率高
D.while 循环是先循环后判断,所以循环体至少被执行一次
正确答案:do…while循环是先循环后判断,所以循环体至少被执行一次
7、return 语句:
A.不能用来返回对象
B.方法都必须含有
C.只能让方法返回数值
D.方法中可以有多句return
正确答案:方法中可以有多句return
8、下列哪个是Java应用程序主类中正确的main方法?
A.publicstaticvoidMain(Stringargs[])
B.publicstaticvoidmain(Stringargs[])
C.publicvoidmain(Stringargs[])
D.staticvoid main(Stringargs[])
正确答案:publicstaticvoidmain(Stringargs[])
9、设x=1,y=2,z=3,则表达式y+=z--/++x的值是()
A.3
B.3.5
C.4
D.5
正确答案:3
10、以下定义一维数组a正确的是?
A.int[4] a={1,2,3,4}
B.int [] a=new int[4]
C.int[4] a=new int[4]
D.int[] a=new int[4]{1,2,3,4}
正确答案:int [] a=new int[4]
11、在Java中,十进制数16的十六进制表示格式是?
A.0x16
B.0x10
C.016
D.0xA
正确答案:0x10
12、要产生[10,100]之间的随机整数使用哪个表达式?
A.10+(int)(Math.random()*91)
B.10+(int)Math.random()*91
C.(int)(Math.random()*100)
D.10+(int)Math.random()*90
正确答案:10+(int)(Math.random()*91)
13、下列符号中不能作为Java标识符的是?
A.abc
B.$str1
C.45six
D.()pore
正确答案:45six
14、下面各项中定义变量及赋值不正确的是?
A.char c = 65;
B.float f = 45.0
C.int i = 32
D.double d = 45.0;
正确答案:float f = 45.0
15、执行以下代码段后,x,a,和;b的值为?1.int;x,a;=;6,b;=;7;2.x;=;a++;+;b++;
A.x= 15, a=7, b=8
B.x= 13, a=6, b=7
C.x= 13, a=7, b=8
D.x= 15, a=6, b=7
正确答案:x= 13, a=7, b=8
16、下列哪个不是Java的保留字?
A.float
B.extends
C.cin
D.class
正确答案:cin
17、哪些赋值是合法的?
A.int other = (int)true
B.long test = 012
C.float f = -412
D.double d = 0x12345678;
正确答案:long test = 012; float f = -412;double d = 0x12345678
18、下列代码中,将引入编译错误的行是1 public class Exercise{2 ;public static void main(String args[]){3 ; float f = 0.0 ;4 ; f = f + 1.0 ;5 ;}6 }
A.第2行
B.第3行
C.第4行
D.第6行
正确答案:第3行;第4行
19、下列哪些是合法标识符?
A.TwoUsers
B.$persons
C.this
D.*point
正确答案:TwoUsers;$persons
20、下列哪些是java中有效的整数表示形式?
A.0x22
B.022
C.22H
D.22
正确答案:0x22;022;22
第三章单元测试
1、在Java程序中,可以使用protected来修饰一个类。
A.正确
B.错误
正确答案:正确
2、静态变量是被同一个类的所有实例所共享的。
A.正确
B.错误
正确答案:正确
3、类也是一种数据类型(type)。
A.正确
B.错误
正确答案:正确
4、对象是类的实例(instance)。
A.正确
B.错误
正确答案:正确
5、在类的定义中可以有两个同名函数,这种现象称为函数()
A.封装
B.继承
C.覆盖
D.重载
正确答案:重载
6、在类的定义中构造函数的作用是()
A.读取类的成员变量
B.初始化成员变量
C.保护成员变量
D.描述类的特征
正确答案:初始化成员变量
7、为了使包ch4在当前程序中可见,可以使用的语句是
A.package ch4.*
B.ch4 import
C.import ch4.*
D.ch4 package
正确答案:import ch4.*
8、关于对象成员占用内存的说法哪个正确?
A.同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间
B.以上都不对
C.对象的方法不占用内存
D.同一个类的对象共用同一段内存
正确答案:同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间
9、类与对象的关系是
A.对象是类的抽象
B.对象是类的子类
C.类是对象的抽象
D.类是对象的具体实例
正确答案:类是对象的抽象
10、为AB 类的一个无形式参数无返回值的方法method 书写方法头,使得使用类名AB 作为前缀就可以调用它,该方法头的形式为
A.public void method()
B.final void method()
C.static void method()
D.abstract void method()
正确答案:static void method()
11、如何更改break语句使退出inner和middle循环,继续外循环的下一轮?outer:for (int x = 0; x <; 3; x++) {;middle:for (int y = 0; y <; 3; y++) {;inner:for (int z = 0; z <; 3; z++) {; if (arr(x, y, z) == targetValue);break;};}}。
A.break outer
B.continue
C.break inner
D.break middle;
正确答案:break middle
12、以下程序的输出结果为?public class Test {;public static void main(String args[]) {;for (int k = 0; k <; 3; k++);System.out.print(";k";);};}
A.k
B.0123
C.kkk
D.012
正确答案:kkk
13、以下代码的调试结果为?1:;public class Q102:;{3:;public static void main(String[] args)4:;{5:;int i = 10;6:;int j = 10;7:;boolean b = false;8:;9:;if(b = i == j)10:;System.out.println(";True";);11:; else12:;System.out.println(";False";);13:; }14:;}
A.在第9行出现编译错误
B.在第9行出现运行异常
C.输出 :True
D.输出 :False
正确答案:输出 :True
14、以下代码的调试结果为?以下程序的运行结果为public class test {; public static void main(String args[]) {; int i = 1; do {; i--; } while (i >; 2); System.out.println(i); }}
A.-1
B.1
C.2
D.0
正确答案:0
15、下面的代码段执行之后count的值是什么? int count = 0; for (int i = 1; i <; 4; i++) {;count += i; }; System.out.println(count)。
A.1
B.6
C.4
D.10
正确答案:6
16、以下程序的运行结果为:1.public class Conditional {;2.;public static void main(String args [] ) ;{;3.;int x = 4;4.;System.out.println(";value is "; +;5.; ((x >; 4) ? 99.99 :9));6.;};7.;}
A.在第5行出现编译错误
B.输出:value is 9
C.输出:value is 9.0
D.输出:value is 99.99
正确答案:输出:value is 9.0
17、下列程序的运行结果?public class Test {; public static void main(String a[]) {; int x=3,y=4,z=5; if (x>;3) {; if (y<;2); System.out.println(";show one";); else; System.out.println(";show two";);};else {;if (z>;4); System.out.println(";show three";); else; System.out.println(";show four";);}; }}
A.show four
B.show one
C.show three
D.show two
正确答案:show three
18、以下程序调试结果;public class test {;public static void main(String args[]) {; int i=1, j=3; while (j>;0) {;j--;i++; }; System.out.println(i);}}
A.3
B.0
C.4
D.2
正确答案:4
19、在switch(expression)语句中,expression的数据类型不能是?
A.double
B.byte
C.boolean
D.char
正确答案:double;boolean
20、假设a是int类型变量,并初始化为1,则下列哪个为合法的条件语句?
A.if (a<3) { }
B.if (true) { }
C.if (a=2) { }
D.if (a) { }
正确答案:if (a<3) { } ; if (true) { }
第四章单元测试
1、如果一个类的声明中没有使用extends关键字,这个类被系统默认为是继承Object类。
A.正确
B.错误
正确答案:正确
2、以下关于继承的叙述正确的是
A.在Java 中一个类不能同时继承一个类和实现一个接口
B.在Java 中接口只允许单一继承
C.在Java 中一个类只能实现一个接口
D.在Java 中类只允许单一继承
正确答案:在Java 中类只允许单一继承
3、关于继承的说法正确的是:
A.子类只继承父类public 方法和属性
B.子类将继承父类所有的属性和方法。
C.子类将继承父类的非私有属性和方法。
D.子类只继承父类的方法,而不继承属性
正确答案:子类将继承父类的非私有属性和方法。
4、覆盖与重载的关系是
A.final 修饰的方法可以被覆盖,但不能被重载
B.覆盖与重载是同一回事
C.覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中
D.覆盖方法可以不同名,而重载方法必须同名
正确答案:覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中
5、关于super 的说法正确的是:
A.是指当前对象的父类对象的内存地址
B.是指当前对象的内存地址
C.是指当前对象的父类
D.可以用在main()方法中
正确答案:是指当前对象的内存地址
6、以下程序运行时输入:java;Cycle;hello;two;me;2public;class;Cycle{;public;static;void;main(String;args[]){;System.out.println(args[1]);}}则运行结果为?
A.2
B.two
C.hello
D.me
正确答案:two
7、public;class;test;{;public;static;void;main(String;args[]);{int;m=0;for;(int;k=0;k<;2;k++);method(m++);System.out.println(m);;};public;static;void;method(int;m);{;System.out.print(m);;}}
A.123
B.000
C.012
D.111
正确答案:012
8、以下程序运行结果为:public;class;Q;{public;static;void;main(String;argv[]);{;int;anar[]=;new;int[5];;System.out.println(anar[0]);;}}
A.5
B.0
C."null"
D.出错:anar在未初始化前被引用
正确答案:0
9、下列程序的运行结果是:public class Test {;; public static void main(String args[]) {;; int m[]={1,2,3,4,5,6,7,8};; int sum = 0;; for (int i=0;i<;8;i++){; sum = sum + m[i];; if (i==3) break;; }; System.out.println(sum);; }}
A.3
B.36
C.10
D.6
正确答案:10
10、下面定义和给数组初始化正确的是:
A.String temp [] = { ';j ';, '; b'; ,';c';}
B.String temp = {';';a';';, ';';b';';, ';';c';';}
C.String temp [] = new String {';';j';'; ';';a';'; ';';z';';}
D.String temp [] = {';';a';';, ';';b';';, ';';c';';}
正确答案:String temp [] = {';';a';';, ';';b';';, ';';c';';}
11、在注释//Start For loop 处要插入哪段代码可以实现根据变量i的值定位访问数组ia[]的所有元素。public class Lin{ ; public void amethod(){ ;int ia[] = new int[4];//Start For loop ; { ; ia[i]=i; System.out.println(ia[i]); } ;} ;}
A.for (int i=0; i<; ia.length;i++)
B.for (int i=0; i <; ia.length() -1; i++)
C.for (int i=0; i<; ia.length-1; i++)
D.for (int i=0; i<; ia.length(); i++)
正确答案:for (int i=0; i<; ia.length;i++)
12、设有如下程序,其调试结果为:class Q2 {; public static void main(String[] args) {; int[] seeds = {1,2,3,4,6,8}; int n= seeds.length; for (int i = 0; i <; 3; i++); for (int k = 0; k<; n-1; k++); seeds[k]= seeds[k+1]; for (int i = 0; i <;n; i++);System.out.print(";\t";+seeds[i]);}}。
A.输出:1 2 3 4 6 8
B.输出:2 3 4 6 6 8
C.输出:2 3 4 6 8 8
D.输出:4 6 8 8 8 8
正确答案:输出:4 6 8 8 8 8
13、下列选项能正确定义一个整形数组的是:
A.int[] scores
B.int scores=new int[10]
C.int scores[]
D.int scores={0,0,0,0}
正确答案:int[] scores;int scores[]
14、设有如下代码:int[];x;=;new;int[25];执行后,以下哪个说法正确?
A.x.length 为 25.
B.x[24] 为 0
C.x[0] 为null.
D.x[25] 为 0.
正确答案:x.length 为 25.x[24] 为 0
第五章单元测试
1、抽象类中的抽象方法要重写,否则子类也必须是抽象类。
A.正确
B.错误
正确答案:正确
2、下列关于抽象类的说法中,哪个选项是正确的?
A.接口和抽象类是同一回事
B.抽象类中不可能有非抽象类的方法
C.绝对不能用抽象类去创造对象
D.某个抽象类的父类是抽象类,则这个子类必须重载父类的所有抽象方法
正确答案:绝对不能用抽象类去创造对象
3、实现一个接口,则在类中一定要实现接口中的所有方法。
A.正确
B.错误
正确答案:正确
4、接口可以声明成final。
A.正确
B.错误
正确答案:错误
5、抽象类不能实例化。
A.正确
B.错误
正确答案:正确
6、关于以下程序的说明,正确的是()
1. ;class ; StaticStuff2. {;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.编译通过,执行结果为:x=3
C.编译通过,执行结果为:x=5
D.9行不能通过编译,因为只能有一个静态初始化器
正确答案:编译通过,执行结果为:x=5
7、以下程序编译和运行会发生什么public;class;Q8;{;int;i;=;20;;static;{;int;i;=;10;};;public;static;void;main(String[];args);{;;Q8;a;=;new;Q8();;System.out.println(a.i);};}
A.输出 20.
B.编译错误,变量 ';i'; 定义2次.
C.编译错误,静态初始化只能用于初始化目的
D.输出 10.
正确答案:输出 20.
8、给出如下类定义:
public;class;test;{; test(int;k);{;};}
如果要创建一个该类的对象,正确的语句是:
A.test obj1 = new test(3.4)
B.test obj1 = new test(5)
C.test obj1 = new test(';5 ';)
D.test obj1 = new test()
正确答案:test obj1 = new test(5)
9、有如下代码:public class Person { … ;}下列哪个符合该类的构造方法定义
A.public int Person() {…}
B.public void Person() {…}
C.public static void Person() {…}
D.public Person() {…}
正确答案:public Person() {…}
10、以下代码的输出结果?
public class Test{ ;static int x=5;public static void main(String argv[]){ ; change(x);x++; System.out.println(x);} ;static void change(int m){ ; m+=2;}}
A.8
B.6
C.5
D.7
正确答案:6
11、设有如下程序:public class Test5 { ; public static void main (String args []) { ;/* This is the start of a comment ;if (true) { ; Test5 = new test5(); System.out.println(";Done the test";);} ;/* This is another comment */ ;System.out.println (";The end";); }}结果为?
A.程序输出"The end"
B.输出 "Done the test".
C.程序输出"Done the test"和 "The end"
D.程序编译错误.
正确答案:程序输出"The end"
12、给出下面的不完整的类代码:class Person { ; String name, department; int age;
public Person(String n){ name = n; } ;public Person(String n, int a){ name = n; age = a; } ;public Person(String n, String d, int a) { ; // doing the same as two arguments version of constructor ; // including assignment name=n,age=a ; department = d; } ;};下面的哪些表达式可以加到构造方法中的";doing the same as...";处?
A.this(n,a)
B.name=n;age=a
C.this(name,age)
D.Person(n,a)
正确答案:this(n,a);name=n;age=a
13、考虑如下类:; public class Test { ; int j,k; public Test(int j ) { ;this(j,0);} ;public Test(int j, int k) ;{; this.j=j; this.k=k; };};以下哪些可正确创建Test对象?
A.Test t = new Test(l)
B.Test t = new Test(l, 2)
C.Test t = new Test(l, 2, 3)
D.Test t = new Test()
正确答案:Test t = new Test(l);Test t = new Test(l, 2)
第六章单元测试
1、下面关键字中,哪一个不是用于异常处理语句
A.finally
B.try
C.break
D.catch
正确答案:break
2、请问所有的异常类皆继承哪一个类?
A.java.lang.Throwable
B.java.io.Exception
C.java.lang.Exception
D.java.lang.Error
正确答案:java.lang.Throwable
3、异常包含下列哪些内容?
A.程序执行过程中遇到的事先没有预料到的情况
B.程序中的语法错误
C.以上都是
D.程序的编译错误
正确答案:程序执行过程中遇到的事先没有预料到的情况
4、下列描述中,哪一项不属于finally语句应陔执行的功能
A.关闭文件
B.释放资源
C.分配资源
D.关闭数据库
正确答案:分配资源
5、下列关于抛出异常的描述中,错误的是
A.抛出异常的方法要使用下述抛出异常的语句:throw <异常名> ; 其中,<异常名>是异常类的类名。
B.捕捉到发生的异常可在方法中处理,也可以抛到调用该方法的方法中处理
C.<异常列表>中可以有多个逗号分隔的异常
D.在说明要抛出异常的方法时应加关键字throws <异常列表>
正确答案:抛出异常的方法要使用下述抛出异常的语句:throw <异常名> ; 其中,<异常名>是异常类的类名。
6、在Java中,如下的修饰符不是访问控制修饰符
A.private
B.protected
C.public
D.static
正确答案:static
7、类Test1定义如下:
1.public ;class ;Test1{2. ; public ;float ;aMethod(float ;a,float ;b){ ; }3. ;4.} ;将以下哪种方法插入行3是不合法的。
A.private float aMethod(int a,int b,int c){ }
B.public int aMethod(int a, int b){ }
C.public float aMethod(float c,float d){ }
D.public float aMethod(float a, float b,float c){ }
正确答案:public float aMethod(float c,float d){ }
8、以下代码调试结果; class Base {}; class Sub extends Base {}; public class CEx{ ; public static void main(String argv[]){ ; Base b = new Base(); Sub s = (Sub) b;}; }。
A.调试通过
B.运行没输出
C.运行异常
D.编译异常
正确答案:运行异常
9、如何定义一个不能有子类的类Key?
A.native class Key { }
B.class Key { }
C.final class Key { }
D.abstract final class Key { }
正确答案:final class Key { }
10、class Person { ; private int a; public int change(int m){ return m; } ;}
public class Teacher extends Person { ; public int b; public static void main(String arg[]){ ; Person p = new Person(); Teacher t = new Teacher(); int i;// point x ;}
}
在 // point x安排哪个语句合法?
A.i = p.a;
B.i = b
C.i = p.change(30)
D.i = m
正确答案:i = p.change(30)
11、如何能使程序调用Base类的构造方法输出";base constructor";class Base{;Base(int i){; System.out.println(";base constructor";);};Base(){ ;}}public class Sup extends Base{;public static void main(String argv[]){;Sup s= new Sup();//One; }; Sup() {; //Two; };public void derived() {; //Three;}}
A.在//One行之后放置super(10)
B.在//Three行之后放置super(10)
C.在//Two行之后放置super(10)
D.在//One行之后放置Base(10);
正确答案:在//Two行之后放置super(10)
12、以下程序的输出为? 1:;class MyClass; 2:;{; 3:;static int maxElements; 4:; 5:;MyClass(int maxElements); 6:;{; 7:;this.maxElements = maxElements; 8:;}; 9:; 10:;}; 11:12:;public class Q19; 13:;{; 14:;public static void main(String[] args); 15:;{; 16:; 17:;MyClass a = new MyClass(100); 18:;MyClass b = new MyClass(100); 19:; 20:;if(a.equals(b)); 21:;System.out.println(";Objects have the same values";); 22:;else; 23:;System.out.println(";Objects have different values";); 24:;}; 25:;}
A.输出 "Objects have different values"
B.输出 "Objects have the same values".
C.在第20行出错.equals()方法未定义.
D.编译通过,在运行时20行出现异常
正确答案:输出 "Objects have different values"
13、在构造方法的哪个地方可以调用父类的构造方法?
A.不能在构造方法中调用super
B.构造方法的第一条语句
C.任何地方
D.构造方法的最后一条语句
正确答案:构造方法的第一条语句
14、定义常量时使用的关键字是
A.abstract
B.static
C.final
D.const
正确答案:final
15、设有如下代码:
class Base{}
public class MyCast extends Base{ ;static boolean b1=false;static int i = -1; static double d = 10.1;public static void main(String argv[]){ ; MyCast m = new MyCast(); Base b = new Base();//Here ;}
}
则在 //Here处插入哪个代码将不出现编译和运行错误。
A.b1 =i
B.m=b
C.d =i;
D.b=m
正确答案:d =i; ;b=m
第七章单元测试
1、向ArrayList对象中添加一个元素的方法是
A.set(Object c)
B.add(Object o)
C.addObject(Object c)
D.setObject(Object o)t
正确答案:add(Object o)
2、Java提供了迭代器接口用于遍历集合内部元素。
A.正确
B.错误
正确答案:正确
3、Set接口的具体实现类有HashSet和TreeSet。
A.正确
B.错误
正确答案:正确
4、Object是Java中所有类的共同父类。
A.正确
B.错误
正确答案:正确
5、测试如下代码:public class Ref{;public static void main(String[] args) ;{;StringBuffer sbl = new StringBuffer(";Hello";);StringBuffer sb2 = new StringBuffer(";Hello";);boolean result = sbl.equals(sb2);System.out.println(result);};};下述哪条语句正确描述了程序编译和运行的行为?
A.编译成功,输出为 true
B.编译成功,输出为 1
C.编译成功,输出为 0
D.编译成功,输出为 false
正确答案:编译成功,输出为 false
6、String alphabet=";ABCDEFGHIJKLMNOPQ";调用alphabet.substring(6,10)返回什么子字符串?
A.CDEF
B.FGHI
C.GHIJ
D.EFGH
正确答案:GHIJ
7、以下程序的调试结果为?1.public class EqualsTest{;2.; public static void main(String args[]){;3.; Long LA = new Long(7);4.; Long LB = new Long(7);5.; if(LA==LB) System.out.println(";Equal";);6.; else System.out.println(";Not Equal";);7.;};8.}
A.程序在执行到第5行时出现异常
B.输出"Not Equal"
C.编译错误
D.输出"Equal"
正确答案:输出"Not Equal"
8、有如下代码:
public class Test{ ;public static void main(String args[]) { ;String ;str = new String(";World";); char ;ch[] = {';H';,';e';,';l';,';l';,';o';}; change(str,ch);System.out.println(str + ";and"; + ch); };public static void change(String str, char ch[]) { ; str = ";Changed"; ch[0] = ';C'; }
}
运行后输出的结果是:
A.World and Hello
B.Changed and Cello
C.World and Cello
D.World and CelloChanged and Hello
正确答案:World and Cello
9、已知代码:String;s;=;";story";下列语句中合法的是:
A.String t = s.toLowerCase()
B.s += ";books"
C.char c = s[1]
D.int len = s.length
正确答案:String t = s.toLowerCase();s += ";books"
第八章单元测试
1、Java中所有的I/O都是通过流来实现的。
A.正确
B.错误
正确答案:正确
2、字符流与字节流的区别在于
A.二者没有区别,可以互换使用
B.每次读写的字节数不同
C.前者带有缓冲,后者没有
D.前者是块读写,后者是字节读写
正确答案:每次读写的字节数不同
3、下列流中哪个不属于字节流
A.BufferedInputStream
B.FileInputStream
C.FilterInputStream
D.InputStreamReader
正确答案:InputStreamReader
4、用于关闭流的方法是()
A.writer()
B.flush()
C.read()
D.close()
正确答案:close()
5、Java中提供了处理字节流的类,即以InputStream和OutStream为基类派生出的一系列类。
A.正确
B.错误
正确答案:正确
6、以下程序的编译和运行结果为?abstract class Base{; abstract public void myfunc(); public void another(){; System.out.println(";Another method";); }}public class Abs extends Base{; public static void main(String argv[]){; Abs a = new Abs(); a.amethod();}; public void myfunc(){;System.out.println(";My Func";);}; public void amethod(){; myfunc();}}
A.编译指示Base 类中的myfunc方法无方法体,没谁会喜欢该方法
B.输出结果为 My Func
C.编译指示 Base 类中无抽象方法
D.编译通过,但运行时指示Base 类中无抽象方法
正确答案:输出结果为 My Func
7、以下代码的调试结果为?
abstract class MineBase { ; abstract void amethod();static int i; };public class Mine extends MineBase{ ; public static void main(String argv[]){ ; int[] ar = new int[5];for(i = 0;i <; ar.length;i++) ; System.out.println(ar[i]); }
}
A.输出5个0
B.错误:Mine 必须定义为抽象的
C.错误,i超出数组下标范围
D.错误:ar 未初始化就使用
正确答案:错误:Mine 必须定义为抽象的
8、有关内嵌类以下哪个叙述为假?
A.匿名内嵌类没有对应的字节码文件
B.内嵌类可以被定义为静态成员
C.内嵌类可以访问外部类的成员
D.方法中的内嵌类可以访问方法中定义的常量
正确答案:匿名内嵌类没有对应的字节码文件
9、以下哪个正确定义抽象类?
A.abstract Animal {abstract void growl();}
B.abstract class Animal {abstract void growl();}
C.class Animal { abstract void growl(); }
D.class abstract Animal {abstract void growl();}
正确答案:abstract class Animal {abstract void growl();}
10、考虑如下代码,其中包括一个内嵌类:public final class Test4 {; class Inner {;void test() {;if (Test4.this.flag);{;sample();};}; }; private boolean flag = false; public void sample() {; System.out.println(";Sample";); }; public Test4() {; (new Inner()).test();}; public static void main(String args []) {;new Test4(); };}结果为?
A.输出 "Sample"
B.程序无输出,但正确终止
C.程序不能终止
D.程序编译失败
正确答案:程序无输出,但正确终止
11、有关抽象类,以下哪点为真?
A.不能对该类实例化
B.类定义包含abstract 关键字
C.不能派生子类
D.所有方法均为抽象方法
正确答案:不能对该类实例化;类定义包含abstract 关键字
12、设有类定义如下:
class InOut{ ;String s= new String(";Between";); public void amethod(final int iArgs){ ; int; iam=5; iam++; class Bicycle{ ;public void sayHello(){ ;//Here ;} ; };}; public void another(){ ; int iOther; }
}
以下哪些语句可以安排在//Here处 ?
A.System.out.println(iArgs)
B.System.out.println(s)
C.System.out.println(iOther)
D.System.out.println(iam)
正确答案:System.out.println(iArgs);System.out.println(s)
13、在抽象类中,抽象方法定义正确的是?
A.public abstract method()
B.public abstract void method() {}
C.abstract void Method()
D.public abstract void method()
正确答案:abstract void Method(); public abstract void method()
14、设有如下代码:interface IFace{ }class CFace implements IFace{ }class Base{ }public class ObRef extends Base{; public static void main(String argv[]){; ObRef obj = new ObRef(); Base b = new Base(); Object obj1 = new Object(); IFace obj2 = new CFace();//Here; }}则在 //Here处插入哪个代码将不出现编译和运行错误。
A.b=obj
B.obj1=b
C.obj=b
D.obj1=obj2
正确答案:b=obj;obj1=b;obj1=obj2
15、下列说法正确的是?
A.子类继承了父类的所有方法(包括构造方法)
B.一个类定义时没指定父类,则继承Object类。
C.一个类可以根据需要实现多个接口
D.java中的子类只允许有一个父类
正确答案:一个类定义时没指定父类,则继承Object类。一个类可以根据需要实现多个接口;java中的子类只允许有一个父类
第九章单元测试
1、自定义异常的父类是?
A.Exception
B.Error
C.VirtualMachineError
D.Thread
正确答案:Exception
2、在命令行输入如下命令,结果为;java myprog good morningpublic class myprog{;public static void main(String argv[]) {; System.out.println(argv[2]);};}
A.myprog
B.morning
C.出现异常 "java.lang.ArrayIndexOutOfBoundsException:2"
D.good
正确答案:出现异常 "java.lang.ArrayIndexOutOfBoundsException:2"
3、假设m()方法声明抛出IO异常,哪个书写合法.
A.void m() throws IOException{}
B.void m() throw IOException{}
C.void m(void) throws IOException{}
D.void m() {} throws IOException
正确答案:void m() throws IOException{}
4、下列关键字中用于明确抛出一个异常的是?
A.catch
B.try
C.throw
D.finally
正确答案:throw
5、检查下面的代码:class E1 extends Exception{};class E2 extends E1{};public class Quiz6()l{;public static void f(boolean flag) throws E1,E2{; if(flag) ;{; throw new E1(); } ;else ;{; throw new E2(); }; };public static void main(String[] args) ;{;try{;f(true);}; catch(E2 e2) ;{;System.out.println(";Caught E2";);}catch(E1 e1) ;{;System.out.println(";Caught El";); };};};对上面的程序进行编译、运行,下面的叙述哪个是正确的:
A.由于Qoiz6()1.main方法中没有声明抛出异常E1、E2,所以编译会失败
B.由于针对E2的catch程序块是无法执行到的,所以编译会失败
C.编译成功,输出为:;Caught E1
D.编译成功,输出为:;Caught El ;Caught E2
正确答案:编译成功,输出为:;Caught E1
6、设有如下代码段; 1 String s = null; 2 if (s != null &; s.length() >; 0); 3 System.out.println(";s != null &; s.length() >; 0";); 4 if (s != null &;&; s.length() >; 0); 5 System.out.println(";s != null &; s.length() >; 0";); 6 if (s != null || s.length() >; 0); 7 System.out.println(";s != null &; s.length() >; 0";); 8 ;if (s != null | s.length() >; 0); 9 System.out.println(";s != null | s.length() >; 0";);哪些行将抛出空指针异常?
A.6,8
B.2,4,6,8
C.2,6,8
D.2,4
正确答案:2,6,8
7、当2个实际参数分别为4和0时,以下方法调用的执行结果为:public void divide(int a, int b) {; try {; int c = a / b;} catch (Exception e) {;System.out.print(";Exception ";);} finally {;System.out.println(";Finally";);}; }
A.输出 Exception
B.无输出
C.输出 Finally
D.输出 Exception Finally
正确答案:输出 Exception Finally
8、检查下面的代码:class E1 extends Exception{ };class E2 extends E1 { } ; public class Quiz6()5{ ; public static void main(String[] args){ ; try{ ;throw new E1();} ;// --X-- ;};}
下列语句,哪一个可以放到--X--位置,而且保证编译成功。
A.catch(E2 x){}
B.catch(Exception x){}
C.catch(El x){}
D.catch(final Exceptionx){ }
正确答案:catch(Exception x){};catch(El x){}
9、检查下面的代码:class E1 extends Exception{ };class E2 extends E1{ };class;SuperQuiz6()2; {; };public class Quiz6()3 extends ;SuperQuiz6()2{; public void f(Boolean flag) throws E1{; //一一X一一; };};下列的语句,哪—个可以放到--X--位置,而且保证编译成功。
A.throw new object()
B.throw new E2()
C.throw new El()
D.throw new Exception()
正确答案:throw new E2();throw new El()
10、以下叙述那个正确?
A.一个try块必须至少跟一个finally 或 catch块.
B.如果catch 和 finally块均有,则catch 必须先于finally.
C.每个try 块必须至少跟一个catch块.
D.一个try 块可跟任意个finally块.
正确答案:一个try块必须至少跟一个finally 或 catch块.如果catch 和 finally块均有,则catch 必须先于finally.
第十章单元测试
1、在Applet的方法中,下列哪个方法将在关闭浏览器时执行,以释放Applet占用的资源?
A.init()
B.stop()
C.destroy()
D.start()
正确答案:destroy()
2、关于以下代码所画图形的说明,正确的是?1.g.setColor(Color.black);2.g.drawLine(10,10,10,50);3.g.setColor(Color.red);4.g.drawRect(100,100,150,150)。
A.一条50像素长的垂直红线,一个边长为150像素的红色正方形
B.一条50像素长的垂直黑线,一个边长为150像素的红色正方形
C.一条40像素长的垂直黑线,一个边长为150像素的红色正方形
D.一条40像素长的垂直红线,一个边长为150像素的红色正方形
正确答案:一条40像素长的垂直黑线,一个边长为150像素的红色正方形
3、paint()方法使用哪种类型的参数?
A.Graphics
B.Color
C.Graphics2D
D.String
正确答案:Graphics
4、下列Applet类的方法中,在Applet的整个生命周期里至多只能执行一次的是?
A.init()
B.start()
C.repaint()
D.stop()
正确答案:init()
5、为了向一个Applet传递参数,可以在HTML文件的APPLET标签中使用PARAM选项,在Applet程序中获取参数时,应使用的方法是
A.getImage()
B.getDocumentBase()
C.getParameter()
D.getCodeBase()
正确答案:getParameter()
第十一章单元测试
1、下列哪个容器类使用时必须加入到其他的容器中?
A.Panel
B.Frame
C.Window
D.Dialog
正确答案:Panel
2、在AWT中部件如何注册事件监听者?
A.调用部件的addXXXListener()方法
B.调用事件addXXXListener()方法
C.调用监听者的addXXXListener()方法
D.调用应用的addXXXListener()方法
正确答案:调用部件的addXXXListener()方法
3、通过哪个方法可以改变按钮的颜色?
A.setForeground
B.setColor
C.setBackground
D.getBackground
正确答案:setBackground
4、新创建的 Frame是不可见的,使用哪个方法可使其可见
A.setVisible(true)
B.dispose()
C.repaint()
D.setSize(300,200)
正确答案:setVisible(true)
5、Frame的默认的布局管理器是下列哪一个
A.BorderLayout
B.GridLayout
C.CardLayout
D.FlowLayout
正确答案:BorderLayout
6、有关事件监听者以下哪个为真?
A.一个部件可有多个监听者
B.一个监听者只能处理来自一个部件的事件.
C.一个监听者可处理来自多个部件的事件.
D.一个部件只能有一有监听者
正确答案:一个部件可有多个监听者;一个监听者可处理来自多个部件的事件.
7、哪个方法可得到WindowEvent中的事件源?
A.getWindow()
B.getSource()
C.getID()
D.getFrame()
正确答案:getWindow();getSource()
第十二章单元测试
1、哪个关键字用于与锁标记打交道?
A.static
B.native
C.synchronized
D.abstract
正确答案:synchronized
2、线程在生命周期要经历5种状态,如果线程当前是新建状态,则它可到达的下一个状态是?
A.运行状态
B.阻塞状态
C.可运行状态
D.终止状态
正确答案:可运行状态
3、以下哪个方法用来定义线程的执行体?
A.init()
B.main()
C.start()
D.run()
run()
正确答案:run()
run()
4、下面说法不正确的是()
A.Java中线程是分时的
B.Java中线程是抢占式的
C.Java中的线程可以共享代码
D.Java中的线程可以共享数据
正确答案:Java中线程是分时的
5、下列程序的功能是在监控台上每一秒种显示一个字符串“Hello!”,能够填写在线程中下划线位置,使程序完整并能正确运行的语句是
public class Test implements Runnable{ ;public static void main(String args[]){ ; Test t=new Test(); Thread tt=new Thread(t); tt.start(); };public void run(){ ; for(){ ; try { (); } catch(()e){ } ; System.out.println(“Hello”); };}
}
A.sleep(1000); InterrutpedException
B.t.sleep(1000); InterruptedException
C.Thread.sleep(1000) ;InterruptedException
D.Thread.sleep(1000); RuntimeException
正确答案:sleep(1000); InterrutpedException;Thread.sleep(1000) ;InterruptedException
第十三章单元测试
1、用DataOuputStream的哪个方法写一个字符串到顺序文件?
A.writeSTR
B.writeUTF
C.writeString
D.writeInt
正确答案:writeUTF
2、在读文件employ.dat时,使用该文件名作为字符串参数的类是?
A.DataInputStream
B.DataOutputStream
C.FileInputStream
D.BufferedReader
正确答案:FileInputStream
3、给一个已存在的文件用FileWriter(";report";)给其写入数据,则结果为?
A.数据添加到文件中
B.文件内容被新内容替换
C.数据写入到文件的随机位置。
D.由于文件已存在,将抛出异常
正确答案:文件内容被新内容替换
4、以下哪个是构造RandomAccessFile的合法方式?
A.RandomAccessFile("read", "data")
B.RandomAccessFile("r", "data")
C.RandomAccessFile("data", "read")
D.RandomAccessFile("data", "r");
正确答案:RandomAccessFile("data", "r")
5、在File类提供的方法中,用于创建目录的方法是?A.listFiles()
B.mkdir()
C.mkdirs()
D.list()
正确答案:mkdir()
第十四章单元测试
1、关于泛型,以下哪个叙述为假?
A.泛型参数定义时允许使用extends子句进行限定
B.JDK1.4版本不支持泛型
C.泛型的类型参数允许基本类型
D.泛型的本质是参数化类型
正确答案:泛型的类型参数允许基本类型
2、关于java.util.Collections类的叙述,以下哪个为真?
A.Collections类实现Collection接口
B.Collections类的addALL方法每次只能加1个数据到集合中。
C.Collections类提供有sort方法可用于对集合的排序
D.Collections类提供有sort方法用于对列表的排序
正确答案:Collections类提供有sort方法用于对列表的排序
3、欲构造ArrayList类的一个实例,元素类型为String,作为List类型的对象,下列哪个方法是正确的?
A.List<;String>; myList=new ArrayList<;String>()
B.List<;String>; myList=new List<;String>; ()
C.ArrayList<;String>; myList=new List<;String>()
D.ArrayList; myList=new Object()
正确答案:List<;String>; myList=new ArrayList<;String>()
4、类 java.util.HashMap 实现的接口是?
A.java.util.Set
B.java.util.Collection
C.java.util.List
D.java.util.Map
正确答案:java.util.Map
5、设有泛型类的定义如下
class Test<;T>; { }
则由该类创建对象时,使用正确的是?
A.Test<;T>; x = new Test<;T>()
B.Test x = new Test();
数据添加到文件中
C.Test<;Object>; x = new Test<;Object>()
D.Test<;int>; x = new Test<;int>()
正确答案:Test<;Object>; x = new Test<;Object>()
第十五章单元测试
1、类JOptionPane中的哪个方法可以用来读取用户的输入数据
A.readLine()
B.read()
C.showMessageDialog()
D.showInputDialog()
正确答案:showInputDialog()
2、哪个方法给JFrame窗体加入菜单条?
A.setJMenu()
B.setJMenuBar()
C.addJMenuBar()
D.add()
正确答案:setJMenuBar()
3、JPanel的默认布局管理器是?
A.CardLayout
B.GridLayout
C.FlowLayout
D.BorderLayout
正确答案:FlowLayout
4、JTextField 的事件监听器接口为?
A.JActionListener
B.ChangeListener
C.ActionListener
D.ItemListener
正确答案:ActionListener
5、Swing部件中图形绘制一般是通过重写以下哪个方法?
A.paintComponent
B.update
C.readLine()paintBorder
D.paint
正确答案:paintComponent