《JAVA程序设计》练习题
一、单选择题
1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。
A. java B. .class C. html D. .exe
2、设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是( A )。 A. 3 B. 3. 5 C. 4 D. 5
3、不允许作为类及类成员的访问控制符的是( C )。 A. public B. private C. static D. protected
4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。
A. static void method( ) B. public void method( ) C. final void method( ) D. abstract void method( ) 5、关于选择结构下列哪个说法正确?( B ) A.if语句和 else语句必须成对出现 B.if语句可以没有else语句对应
C.switch结构中每个case语句中必须用break语句 D.switch结构中必须有default语句
6、while循环和 do…while循环的区别是:( D ) A.没有区别,这两个结构任何情况下效果一样 B.while循环比 do…while循环执行效率高
C.while循环是先循环后判断,所以循环体至少被执行一次 D.do…while循环是先循环后判断,所以循环体至少被执行一次
7、关于 for循环和 while循环的说法哪个正确?( B ) A.while循环先判断后执行,for循环先执行后判断。
B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果 C.两种循环任何时候都不可以替换
D.两种循环结构中都必须有循环体,循环体不能为空
8、下列修饰符中与访问控制无关的是( D ) A.private C.protected
9、 void的含义:( A ) A.方法没有返回值 C.没有意义
10、 return语句:( C ) A.只能让方法返回数值 C.方法中可以有多句return
11、关于对象成员占用内存的说法哪个正确?( B ) A.同一个类的对象共用同一段内存
B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间 C.对象的方法不占用内存 D.以上都不对
12、下列说法哪个正确?( C ) A.不需要定义类,就能创建对象 B.对象中必须有属性和方法
C.属性可以是简单变量,也可以是一个对象 D、属性必须是简单变量
13、下列说法哪个正确?( A ) A、一个程序可以包含多个源文件 B、一个源文件中只能有一个类 C、一个源文件中可以有多个公共类 D、一个源文件只能供一个程序使用
14、关于方法main()的说法哪个正确?( C ) A.方法main()只能放在公共类中 B main()的头定义可以根据情况任意更改
B.方法都必须含有 D.不能用来返回对象
B. 方法体为空 D. 定义方法时必须使用
B.public D.final
C.一个类中可以没有main()方法
D.所有对象的创建都必须放在main()方法中
15、构造函数何时被调用?( A ) A、创建对象时 C、使用对象的方法时
16、 抽象方法:( C ) A、可以有方法体 B、可以出现在非抽象类中 C、是没有方法体的方法
D、抽象类中的方法都是抽象方法
17、关于继承的说法正确的是:( B ) A、子类将继承父类所有的属性和方法。 B、子类将继承父类的非私有属性和方法。 C、子类只继承父类public方法和属性 D、子类只继承父类的方法,而不继承属性
18、关于构造函数的说法哪个正确?( C ) A、一个类只能有一个构造函数 B、一个类可以有多个不同名的构造函数 C、构造函数与类同名
D、构造函数必须自己定义,不能使用父类的构造函数 C
19、 this和super:( ) A、都可以用在main()方法中 B、都是指一个内存地址 C、不能用在main()方法中 D、意义相同
20、关于super的说法正确的是:( C ) A、是指当前对象的内存地址
B、是指当前对象的父类对象的内存地址
B、类定义时
D、使用对象的属性时
C、是指当前对象的父类 D、可以用在main()方法中
21、覆盖与重载的关系是 ( A )
A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中 B.覆盖方法可以不同名,而重载方法必须同名 C.final修饰的方法可以被覆盖,但不能被重载 D.覆盖与重载是同一回事
22、关于接口哪个正确?( A )
A、实现一个接口必须实现接口的所有方法 B.一个类只能实现一个接口 C.接口间不能有继承关系 D.接口和抽象类是同一回事
23、异常包含下列哪些内容?( A )
A.程序执行过程中遇到的事先没有预料到的情况 B.程序中的语法错误 C.程序的编译错误 D.以上都是
24、 对于已经被定义过可能抛出异常的语句,在编程时: ( A ) A、必须使用try/catch语句处理异常,或用throws将其抛出 B.如果程序错误,必须使用 try/catch语句处理异常 C.可以置之不理
D.只能使用try/catch语句处理
25、当某一线程正处于休眠状态,而另一个线程用 Thread 类中的 interrupt() 方法中断它时,抛出的异常类型是( C )。 A) IOException B) RuntimeException C) InterruptedException D) ClassNotFoundException 26、下面的程序段的功能是( D )。
File file1=new File(\
file1.mkdirs();
A)在当前目录下生成子目录:\\xxx\\yyy\\zzz B)生成目录: e:\\xxx\\yyy\\zzz C)在当前目录下生成文件xxx.yyy.zzz D)以上说法都不对
27、应用程序的main方法中有以下语句,则输出的结果是 ( B )。
String s = \int n = s.indexOf(\int k = s.indexOf(\String s2 = s.substring(n+1, k); System.out.println(s2);
A) 123456 B) 123 C) xxxxxxxxxxxxxxx D) zzzzz 28、关于下面的程序Test.java说法正确的是( D )。
public class Test { String x=\ int y;
public static void main(String args[]) { int z=2; System.out.println(x+y+z); } }
A)3 B)102 C) 12 D)程序有编译错误
29、应用程序的main方法中有以下语句,则输出的结果是( A )。
int b[][]={{1, 1, 1}, {2,2}, {3}};
int sum=0;
for(int i=0; i System.out.println(\A) 10 B)6 C) 9 D) 13