《Java程序设计》练习题 下载本文

D、 private int RETIREAGE=60;

7、下列数组的定义不合法的是: ( ) A) char c[][]=new char[2][3]; B) char c[][]=new char[6][]; C) char [][]c=new char[][4];

D) int []a[] = new int[10][10];

8、下列数组的定义合法的是( )

A) int a = (1,2,3); B) int d[]= (1?3);

C) int []a[] = new int[3][]; D) char [][]c=new char[][4]; 9、下述哪个说法是不正确的?( )

A) 局部变量在使用之前无需初始化,因为有该变量类型的默认值 B) 类成员变量由系统自动进行初始化,也无需初始化 C) 参数的作用域就是所在的方法

D) for语句中定义的变量,当for语句执行完时,该变量就消亡了 10、下列说法中,不正确的是( )

A) 一个java源程序编译通过后,得到的结果文件数也只有一个。 B) 一个java源程序经过编译后,得到的文件的扩展名一定是.class。

C) 一个java源程序只能有一个public class类定义,且源文件的名字与public class的类名相同,扩展名必须是.java。

D) 一个java源程序可以包含多个class类。

11、下列说法中,不正确的是: ( ) A、一个java源程序经过编译后,得到的文件的扩展名一定是.class。 B、一个java源程序编译通过后,得到的结果文件数也只有一个。 C、一个java源程序编译通过后,得到的结果文件数可能有个。 D、一个java源程序编译通过后,不一定能用java解释器执行。

12、对于以下声明:

String s1=\

String s2=\ String s3;

下面的操作合法的是( )

A)s3=s1+s2; B)s3=s1-s2; C)s3=s1&s2; D)s3=s1&&s2; 13、下面的代码合法的是: ( ) A) public abstract method();

B) public abstract void method(); C) public abstract void method(){ };

D) public void method() implements abstract;

14、执行语句:int n = 7; int b = 2 * n++;后,b和n的值分别是 ( ) A) b = 15, n = 8 B) b = 16, n = 8 C) b = 14, n = 8 D) b = 14, n = 7

15、下列哪个不能作为switch表达式的数据类型( ) A) int B) char C) short D) long 16、下面哪一项是Java实现动态多态性的具体手段( )

第 5 页 共 48 页

A) 重载; B) 覆盖(重写) C) 接口 D) 抽象类 17、下列哪一个是创建数组的正确指令( ) A) int[] a = new int[10]; B) int[] a = new int(10); C) int a[]; D) int[] a;

18、System.out.print(“1”+2)打印到屏幕的结果是( ) A) 3 B) 12 C) 1+2 D) 4

19、对于下列代码: public class Example{

String str=new String(\ char ch[]={'d','b','c'};

public static void main(String args[]){ Example ex=new Example(); ex.change(ex.str,ex.ch);

System.out.println(ex.str+\ }

public void change(String str,char ch[]){ str=\

ch[0]= 'a';

} }

输出结果是: ( ) A) hello and d B) hello and a C) world and d D) world and a

20、下列说法哪个是正确的? ( ) A) 子类不能定义和父类同名同参数的方法 B) 子类只能继承父类的方法,而不能重载

C) 重载就是一个类中有多个同名但有不同形参和方法体的方法 D) 子类只能覆盖父类的方法,而不能重载

21、如果一个程序段中有多个catch,则程序会按如下哪种情况执行? ( ) A) 找到合适的例外类型后继续执行后面的catch B) 找到每个符合条件的catch都执行一次

C) 找到合适的例外类型后就不再执行后面的catch D) 对每个catch都执行一次

22、以下哪一项不是File类的功能: ( ) A) 创建文件 B) 创建目录 C) 删除文件 D) 拷贝文件

23、下列说法哪个是正确的? ( )

第 6 页 共 48 页

A) BorderLayout是面板的缺省布局管理器

B) 当鼠标指针位于一个GUI组件的边上时,发生一个MouseEvent事件 C) 一个面板(JPanel) 不能被加入到另一个面板(JPanel)中

D) 在BorderLayout中,添加到NORTH区的两个按钮将并排显示。 24、下列类不属于java.lang.*包的是( )

A) Math B) System C) Date D) StringBuffer 25、System类属于下列哪个包?( )

A) java.io.* B) java.lang.* C) java.util.* D) java.awt.* 26、下列哪个不属于File类中的方法( )

A) exists( ) B) delete( ) C) mkdir( ) D) copy( ) 27、下列哪个不属于StringBuffer类中的方法?( )

A) compareTo ( ) B) indexOf( ) C) append( ) D) charAt( ) 28、下列接口或类不属于java.util.*包的是( )

A) Collection B) StringTokenizer C) Map D) Character 29、假设int x=4,y=100,下列语句的循环体共执行几次?( )

while(y/x>3){ if(y%x>3) { x=x+1; } else{

y=y/x; } }

A) 1次 B) 2次 C) 3次 D) 4次 30、Test.java程序代码如下:

1) public class Test{

2) public static void main(String[] args){ 3) System.out.println(args[2]); 4) } 5) }

以上程序编译后用java Test 1 2 3 4运行的输出结果是什么? ( ) A) 1 B) 2 C) 3 D) 4

31、对于异常处理语句try?catch?finally,下面哪个说法是正确的?( ) A) 如果有多个catch语句,对所有的catch都执行一次 B) 如果有多个catch语句,对每个符合条件的catch都执行一次 C) 找到合适的异常类型后就不再执行后面的catch

D) 任何情况下,finally部分都会被执行一次

32、对于异常处理语句try?catch,下面那句话不正确? ( )

A、一个符合条件的catch的处理语句中没有break语句,则执行后会继续执行后续catch B、不管有没有捕获异常,finally部分都会被执行 C、找到合适的异常类型后就不再执行后面的catch D、应该先处理子异常类,再处理父异常类。

33、用文件字节输出流对文件进行写操作时,需要先创建文件输出流对象,文件输出数据流

第 7 页 共 48 页

的构造方法是 public FileOutputStream(String name,Boolean append) throws FileNotFoundException,当参数append的值为true时,表示 ( ) A、创建一个新文件 B、在原文件的尾部添加数据 C、覆盖原文件的内容

D、在原文件的指定位置添加数据

34、下列哪种操作不会抛出异常?( ) A) 浮点数除0

B) 浮点数乘0

C) 打开不存在的文件

D) 用负数索引访问数组

35、在java程序中,下列关于线程的说法错误的是( ) A) 线程启动调用start方法 B) 线程的主体是run方法

C) 线程运行中调用sleep方法可以进入阻塞状态

D) 在java中,优先级的数值为1的线程可以抢占优先级为5的线程的资源 36、下述哪一组方法,是一个类中方法重载的正确写法? ( ) A、int addValue( int a, int b ){return a+b;}

float addValue ( float a, float b) {return a+b;} B、int addValue (int a, int b ){value=a+b; }

float addValue ( int a, int b) {return (float)(a+b);} C、int addValue( int a, int b ){return a+1;} int addValue ( int a, int b) {return a+b;} D、int addValue( int a, int b ) {return a+b;} int addValue ( int x, int y ) {return x+y;} 37、若编译和运行下列代码,出现的结果将是 ( ) class MyClass{ int i = 0;

public int myMethod(int x){ return i+x; }

public static void main(String args[]) { System.out.println(myMethod(10)); } }

A、0 B、10 C、编译出错 D、 以上答案都不对 38、以下是接口I的定义: interface I{

void setValue(int val); int getValue(); }

以下哪个代码能通过编译?( ) A) class A extends I{ int value;

void setValue(int val){value=val;}

第 8 页 共 48 页