习题
一、选择题
1.如下哪个字符串是Java中的合法标识符?()
A、fieldname
B、super
C、3number
D、#number
2.Java中main()函数的返回值是什么类型? ()
A、String
B、int
C、char
D、void
3.下列哪些语句关于Java内存回收的说明是正确的? ()
A、程序员必须创建一个线程来释放内存
B、内存回收程序允许程序员直接释放内存
C、内存回收程序负责释放无用内存
D、内存回收程序可以在指定的时间释放内存对象
4.以下关于继承的叙述正确的是()。
A、在Java中一个类只能实现一个接口
B、在Java中类只允许单一继承
C、在Java中一个类不能同时继承一个类和实现一个接口
D、在Java中接口只允许单一继承
5.Java Applet中的paint()方法使用哪种类型的参数? ()
A、Graphics
B、Graphics2D
C、String
D、Color
6.在使用interface声明一个接口时,只可以使用()修饰符修饰该接口。
A、private
B、protected
C、private protected
D、public
7.下面()函数是public void example( ){...}的重载函数?
A、public void example( ){...}
B、public void example( int m ){...}
C、public void example2( ){...}
D、public int example ( ){...}
8.在浏览器中执行applet 程序,以下选项中的()方法将被最先执行。
A、init()
B、start()
C、destroy()
D、stop()
9.有程序片段如下,以下表示式的结果为true的是()。
Float s=new Float(0.1f);
Float t=new Float(0.1f);
Double u=new Double(0.1);
A、s= =t
B、s.equals(t)
C、u.equals(s)
D、t.equals(u)
10.关于异常的含义,下列描述中最正确的一个是()。
A 程序编译错误
B 程序语法错误
C 程序运行时的错误
D 程序编译和运行时发生的错误
11.类Panel 默认的布局管理器是()。
A、BorderLayout
B、FlowLayout
C、GridLayout
D、CardLayout
12.下面哪个方法与applet的显示无关? ()
A、update()
B、draw()
C、repaint()
D、paint()
13.已知如下代码:
public class Test{
public static void main ( String arg[] )
{
long a[] = new long[10];
System.out.println ( a[6] );
}
}
请问哪个语句是正确的?()
A 程序输出null
B 程序输出0
C 因为long[]数组声明不正确,程序不能被编译
D 程序被编译,但在运行时将抛出一个ArrayIndexOutOfBoundsException异常
14.Java语言不是
..()
A、高级语言
B、编译型语言
C、结构化设计语言
D、面向对象设计语言
15.关于以下程序段的说明正确的是()
public class ArrayTest {
public static void main(String args[]) {
try {
int x[]=new int[-5];
System.out.println("此行将无法被执行!");
} catch(NegativeArraySizeException e) {
System.out.println("exception: 数组下标不能为负数。");
}
}
}
A、编译通过,输出:
此行将无法被执行!
B、编译通过,输出:
此行将无法被执行!
exception: 数组下标不能为负数。
C、编译通过,输出:
exception: 数组下标不能为负数。
D、编译不能通过
16.Java源文件和编译后的文件扩展名分别为()。
A、.class和 .java
B、.java和.class
C、.class和.class
D、.java和.java
17.以下有关构造函数的说法,正确的是:()。
A、一个类的构造函数可以有多个
B、构造函数在类定义时被调用
C、构造函数只能由对象中的其它方法调用
D、构造函数可以和类同名,也可以和类名不同
18.为类Employee中的一个无形式参数且无返回值的方法method书写方法头,以便使用
类名Employee作为前缀就可以调用它(即可以通过类名调用方法method),该方法头的形式为( )。
A、static void method( )
B、public void method( )
C、final void method( )
D、abstract void method( )
19.下列代码的执行结果是:( )。
public class Test5{
public static void main(String args[]){
String s1=new String("hello");
String s2=new String("hello");
System.out.print(s1==s2);
System.out.print(",");
System.out.println(s1.equals(s2));
}
}
A、true,false
B、true,true
C、false,true
D、false,false.
20.下列不是Java关键字的是( )。
A、final
B、finally
C、null
D、sizeof
21.以下( )是java.io包中的一个兼有输入输出功能的类。
A、Object
B、Serializable
C、RandomaccessFile
D、java.io中不存在这样的类
22.下面哪个语句正确地声明一个整型的二维数组?( )
A int a[][] = new int[][];
B int a[100][100] = new int[][];
C int []a[] = new int[100][100];
D int a[][] = new int[100][100];
23.编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名
为( )。
A .java B.class
C .html
D .exe
24.为读取的内容进行处理后再输出,需要使用下列哪种流?( )
A Filestream
B Pipestream
C Randomstream
D Filterstream
25.下列方法中可以用来创建一个新线程的是。( )
A 实现https://www.wendangku.net/doc/d03043713.html,ng.Runnable 接口并重写start()方法
B 实现https://www.wendangku.net/doc/d03043713.html,ng.Runnable 接口并重写run()方法
C 继承https://www.wendangku.net/doc/d03043713.html,ng.Thread 类并重写run()方法
D 实现https://www.wendangku.net/doc/d03043713.html,ng.Thread 类并实现start()方法
26.给出如下初始化语句
String s1=new String(“Hello”);
String s2=new Strin g(“there”);
String s3=new String();
以下哪种操作是合法的? ( )
A s3=s1+s2;
B s3=s1-s2;
C s3=s1&s2;
D s3=s1&&s2;
27.容器Panel和Applet缺省使用的布局编辑策略是( )
A BorderLayout
B FlowLayout
C GridLayout
D CardLayout
28.给出如下代码:
class Test{
private int m;
public static void fun() {
// some code...
}
}
如何使成员变量m 被函数fun()直接访问? ( )
A将private int m 改为protected int m
B将private int m 改为public int m
C将private int m 改为static int m
D将private int m 改为int m
29.以下有关类的继承的说明中正确的是:( )
A子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性B子类只能继承父类的方法,不能继承父类的属性
C子类只能继承父类的非私有属性,不能继承父类的方法
D子类不能继承父类的私有属性
30.以下语句有语法错的是:( )
A int x=1;y=2;z=3
B for (int x=10,y=0;x>0;x++);
C while (x>5);
D for(; ;);
二、简答题
1、请说明this,super,final各自的作用。
2、试解释方法重构和方法重载的区分。
3、请解释面向对象程序设计相关的几个概念:继承、多态、重载。
4、请说明抽象类和接口的异同点。
5、实例变量与局部变量的区别
三、阅读程序
1.以下程序段的输出结果为。
public class TestArray
{
public static void main(String args[ ]){
int i , j ;
int a[ ] = { 5,9,6,8,7};
for ( i = 0 ; i < a.length-1; i ++ ) {
int k = i;
for ( j = i ; j < a.length ; j++ )