一、选择题(每题2分,共40分)
1、下面哪个是Java语言中正确的标识符( C ) A、3com B、import C、that D、this 2、下面哪个语句(初始化数组)是不正确的:( B )
A.int x[] = {1,2,3}; B.int x[3] = {1,2,3}; C.int[] x = {1,2,3}; D.int x[] = new int[]{1,2,3}; 3、下述概念中不属于面向对象方法的是( D )。
A.对象、消息 B.继承、多态 C.类、封装 D.过程调用
4、下面的代码段中,执行之后i 和j 的值是什么? ( B )
int i = 1; int j;
j = i++*2+3*--i;
A.1, 2 B.1, 5 C. 2, 1 D. 2, 2 5、下面哪条语句把方法声明为抽象的公共方法?( B ) A.public abstract method();
B.public abstract void method(); C.public abstract void method(){}
D.public void method() extends abstract;
6、下面关于java中类的说法哪个是不正确的?( C )
A.类体中只能有变量定义和成员方法的定义,不能有其他语句。 B.构造函数是类中的特殊方法。
C.类一定要声明为public的,才可以执行。 D.一个java文件中可以有多个class定义。 7、假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?( C ) class A { int i;
static String s; void method1() { }
static void method2() { }
}
A、; B、();
C、(); D、()
8、容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小
的变化而改变? ( B ) A、 CardLayout B、 FlowLayout C、 BorderLayout D、 GridLayout 9、下列哪个用户图形界面组件在软件安装程序中是常见的? ( C )
A.滑块 B.进度条 C.按钮 D.标签
10、在Java 中如果要在字符串类型对象s=“JAVA”,中找出‘V’出现的位置可使用下面哪个方法:(B)
A.mid(2,s); B.charAt(2); C.(‘V’); D.indexOf(s,’V’);
11、Java中哪个类提供了随机访问文件的功能。( A )
A. RandomAccessFile类 B. RandomFile类 C. File类 D. AccessFile类
12、下面哪个方法是类的成员方法,用来获取Socket的输入流。( C )
A.getChannel() B.getConnetion() C.getInputStream() D.getStream() 13、给出下面代码:
public class Person{
static int arr[] = new int[10];
public static void main(String a[])
{ } }
哪个语句是正确的? ( B )
A.编译时将产生错误; B.输出零;
C.编译时正确,运行时将产生错误; D.输出空。
14、A派生出子类B ,B派生出子类C,并且在Java源代码中有如下声明:
1) A a0=new A(); 2) A a1 =new B(); 3) A a2=new C();
问以下哪个说法是正确的? ( D ) A.只有第1行能通过编译
B.第1、2行能通过编译,但第3行编译出错
C.第1、2、3行能通过编译,但第2、3行运行时出错 D.第1行、第2行和第3行的声明都是正确的 15、下列哪个方法可用于创建一个可运行的类( A )
A. public class X implements Runable{ public void run(){......} } B. public class X implements Thread{ public void run(){......} } C. public class X implements Thread{ public int run(){......} } D. public class X implements Runable{ protected void run(){......} } 16、哪个关键字可以抛出异常? ( C )
A、 transient B、 finally C、 throw D、 static 17、如果类中的成员变量可以被同一包访问,则使用如下哪个修饰符?( C )
A、 private B、public C、protected D、no modifier
18、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点( B )
A.安全性 B.多线程 C.跨平台 D.可移植 19、编译并运行以下程序段的结果是:( A ) public class MyClass{
final static int i; MyClass(){i =0;}
public static void main(String args[]){
A.编译出错 B、 null C、1 D、0 20、下列哪个方法可以用来加载JDBC驱动程序?( D)
A.类的 getDriver方法 B.类的getDrivers方法 C.类 的connect方法 D.类的 forName方法
二、填空题。(每空2分,共30分)
1. 编译Java Application 源程序文件将产生相应的字节码文件,这些字节码
文件的扩展名为 类名.class 。
2.构造方法是一个特殊的方法,主要用于 创建对象时初始化对象 。构造
方法的方法名要求与 ___类名_____相同,而且无返回值,构造方法无返回值,并不是要在构造方法名前加上 void 。
3.Applet的生命周期是有init()、start()、stop()、destroy()这4个方法构
成的,在程序执行过程中, init() 方法只被调用执行一次,但 start() 方法可以多次被调用执行。
4.我们把awt组件称为重量组件,而把 swing 组件称为轻量组件。在编写swing组件的程序时,很多情况下只要在原有的awt组件的类名前面加上字母 J 。
5. 创建多线程的途径有两种:创建Thread类的子类与实现 Runable 接口。
6. 异常处理过程中,一个try程序块可以对应 多 个catch块。 7. 数据流类分为DataInputStream和 DataOutputStream 。 8. 当两个或多个线程要同时访问共享数据时,一次只允许一个线程访问共享资源,支持这种互斥机制称为 线程锁 。 9. TCP 协议提供的是可靠无差错的数据传输, UDP 协议不保证数据传输的可靠性。
10、基于UDP网络程序设计中,使用 Datagram 类来创建套接字连接。
1、下面哪项可以得到数组元素的个数,java中定义数组名为 abc,( B ) A、( ) B、 C、len(abc) D、ubound(abc) 2、构造方法何时被调用(B )
A.类定义时 B.创建对象时 C.调用对象方法时 D.使用对象的变量时 3、下列语句片段
int a=10,b=4,c=20,d=6;
的结果为( C )
.28 C D.不能执行
4、下面哪个修饰符修饰的方法只能被本类中的其他方法使用( C ) A、protected B、static C、private 5、编译并运行下述程序段的结果是:( A )。
public class Test{
D、public
public static void main(String argv[]){ int[] count = new int[4]; 编译时错误 B.运行时错误 C.输出0 D.输出null 6、下列说法不正确的是( B )
A. IOException必须被捕获或抛出 B. java语言会自动初始化变量的值 C. java语言不允许同时继承一个类并实现一个接口 D. java语言会自动回收内存中的垃圾
7、在java的一个异常处理中,哪个语句块可以有多个 ( A )
A、catch B、finally C、try D、throws
8、若在某一个类定义中定义有如下的方法: final void aFinalFunction( ); 则该方法属于( C )。
A.本地方法 B.静态方法 C.最终方法 D.抽象方法 9、类Test1定义如下:
1) public class Test1{
2) public float aMethod(float a, float b){ }
3)
4) }
将以下哪种方法插入行3是不合法的。( B )
A、public float aMethod(float a, float b, float c){ } B、public float aMethod(float c, float d){ } C、public int aMethod(int a, int b){ }
D、private float aMethod(int a, int b, int c){ }
10、如果希望所有的控件在界面上均匀排列,应使用下列那种布局管理器?( B )
A、BoxLayout B、GridLayout C、BorderLayout D、FlowLayout 11、哪个关键字可以对对象加互斥锁? ( B )
A、 transient B、 synchronized C、 serialize D、 static
12、Java程序的执行过程中用到一套JDK工具,其中是指( B )
文档生成器 解释器 编译器 类分解器 13、下面哪个不是Thread类的方法?( C )
A.yield() B.sleep(long msec) C.go() D.stop() 14、为实现多线程之间的通信,需要使用下列哪种流才合适( D )
A.Filter stream B. File stream C. Random access stream D. Piped stream
15、在异常处理中,如释放资源、关闭文件、关闭数据库等由( C )来完成。
子句 子句 子句 子句
16、定义一个类名为“”的类,并且该类可被一个工程中的所有类访问,那么该
类的正确声明应为:(C)
A. private class MyClass extends Object B. class MyClass extends Object C. public class MyClass
D. protected class MyClass extends Object 17、给出如下代码:
class Test{ private int m;
public static void fun() { . }
}
如何使成员变量m 被函数fun()直接访问? ( C ) 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
18、对象使用时,下面描述错误的是( B )
A.通过“.”运算符调用成员变量和方法
B.通过成员变量的访问权限设定限制自身对这些变量方法的调用 C.将一个对象申明为类的成员时,必须在使用前为其分配内存
java基础测试题及答案
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)