System.out.print(s.charAt(i));
}
A)acegB)ACEGC)abcdefgD)abcd
18.下面程序段执行后b的值是(B)。
Integerinteg=newInteger(9);
booleanb=integinstanceofObject;
A)9B)trueC)1D)false
19.应用程序的main方法中有以下语句,则输出的结果是(A)。
Strings1="0.5",s2="12";
doublex=Double.parseDouble(s1);
inty=Integer.parseInt(s2);
System.out.println(x+y);
A)12.5B)120.5C)12D)“12.5”
20.应用程序Test.java的源程序如下,在命令行键入:
javaTestaaabbc
回车后输出的结果是(A)。
publicclassTest{
publicstaticvoidmain(Stringargs[]){
intk1=args.length;
intk2=args[1].length();
System.out.print(k1+""+k2);
}
}
A)32B)12C)13D)33
21.程序Test.java编译运行后输出的结果是(A)。
publicclassTest{
Strings1="java";
publicstaticvoidmain(Stringargs[]){
intz=2;
Testt=newTest();
System.out.println(t.s1+z);
}
}
A)java2B)2C)没有输出结果D)java
22.关于方法main()的说法哪个正确?
(C)
A)方法main()只能放在公共类中
B)main()的头定义可以根据情况任意更改
C)一个类中可以没有main()方法
D)所有对象的创建都必须放在main()方法中
23.下列说法哪个正确?
(A)
A)一个程序可以包含多个源文件
B)一个源文件中只能有一个类
C)一个源文件中可以有多个公共类
D)一个源文件只能供一个程序使用
1.在Java的基本数据类型中,char型采用Unicode编码方案,无论是中文字符还是英文字符,都是占用
(2)字节内存空间。
2.如果将类MyClass声明为public,它的文件名称必须是(MyClass.java)才能正常编译。
3.Java程序中的单行注释符是(//),多行注释符是(/**/)。
4.Java中布尔类型的常量有两种,它们是(true)和(false)。
5.Java中用于定义小数的关键字有两个:
(float)和(double),后者精度高于前者。
6.Java中用于两个数相等比较的运算符是:
(==),用于不相等比较的运算符是(!
=)。
7.定义一个具有10个元素的整型数组a的语句是:
(int[]arr=newint[10];)。
8.创建类对象的运算符是(new)。
9.在Java语言中,所有的数组都有一个lenght属性,这个属性存储了该数组的(元素个数)。
10.Java的复合数据类型有:
类、数组和(接口)等。
Java的简单数据类型有:
数值类型(整型和浮点类型),字符类型和(布尔)类型
11.数组x定义如下intx[][]=newint[3][2]则x..length的值为(3),x[0].length的值为
(2)。
12.创建一个名为MyPackage的包的语句是(packageMyPackage;),该语句应该放在程序的位置为:
(程序第一句)。
13.导入mypackage包中的所类的命令是(importmypackage.*;)。
14.定义类的保留字是(class),定义接口的保留字是(interface)。
面向对象基础
1.关于类和对象的叙述正确的是:
(A)
A)Java的类分为两大部分:
系统定义的类和用户自定义的类
B)类的静态属性和全局变量的概念完全一样,只是表达形式不同
C)类的成员至少有一个属性和一个方法
D)类是对象的实例化
2.被声明为private,protected及public的类成员,在类外部_____________。
(A)
A)只能访问声明为public的成员B)都可以访问
C)只能访问到声明为protected和public的成员D)都不能访问
3.下列修饰符中与访问控制无关的是(D)
A)privateB)public
C)protectedD.)final
4.下列选项中,用于在定义子类时声明父类名的关键字是(C)。
A)interfaceB)packageC)extendsD)class
5.定义类头时能使用的修饰符是(C)。
A)privateB)staticC)abstractD)protected
6.Java语言的类间的继承关系是(B)。
A)多重的B)单重的C)线程的D)不能继承
7.不允许作为类及类成员的访问控制符的是(C)。
A)publicB)private
C)staticD)protected
8.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(A)。
A)staticvoidmethod()B)publicvoidmethod()
C)finalvoidmethod()D)abstractvoidmethod()
9.下面的哪些java源文件代码片断是不对的?
(B)
A)packagetestpackage;
publicclassTest{//dosomething...}
B)importjava.io.*;
packagetestpackage;
publicclassTest{//dosomething...}
C)importjava.io.*;
classPerson{//dosomething...}
publicclassTest{//dosomething...}
D)importjava.io.*;
importjava.awt.*;
publicclassTest{//dosomething..}
10.下面的代码(A)
publicclassPerson{
intarr[]=newint[10];
publicstaticvoidmain(Stringa[]){
System.out.println(arr[1]);
}
}
A)编译时出错。
B)编译时正确而运行时出错。
C)输出0。
D)输出null。
11.下面关于变量及其范围的陈述哪些是不对的?
(B)
A)实例变量是类的成员变量。
B)实例变量用关键字static声明。
C)在方法中定义的局部变量在该方法被执行时创建
D)局部变量在使用前必须被初始化。
12.类B是一个抽象类,类C是类B的非抽象子类,下列创建对象x1的语句中正确的是(B)。
A)Bx1=newB();B)Bx1=newC();
C)Cx1=newB();
13.下面关于外部类和内部类成员的相互访问的规则中,正确的选项是(D)。
A)内部类不可以直接访问外部类的成员
B)外部类可以直接访问内部类的成员
C)外部类不能访问内部类的成员
D)外部类可通过创建内部类的实例来访问内部类的成员
14.关于对象成员占用内存的说法哪个正确?
(B)
A)同一个类的对象共用同一段内存
B)同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间
C)对象的方法不占用内存
D)以上都不对
15.下列说法哪个正确?
(C)
A)不需要定义类,就能创建对象
B)对象中必须有属性和方法
C)属性可以是简单变量,也可以是一个对象
D)属性必须是简单变量
16.以下有关构造方法的说法,正确的是:
(A)
A)一个类的构造方法可以有多个
B)构造方法在类定义时被调用
C)构造方法只能由对象中的其它方法调用
D)构造方法可以和类同名,也可以和类名不同
17.关于构造函数的说法哪个正确?
(C)
A)一个类只能有一个构造函数
B)一个类可以有多个不同名的构造函数
C)构造函数与类同名
D)构造函数必须自己定义,不能使用父类的构造函数
18.this和super:
(C)
A)都可以用在main()方法中
B)都是指一个内存地址
C)不能用在main()方法中
D)意义相同
19.构造函数何时被调用?
(A)
A)创建对象时B)类定义时
C)使用对象的方法时D)使用对象的属性时
20.设i、j、k为类x中定义的int型变量名,下列类x的构造函数中不正确的是(B)。
A)x(intm){...}B)voidx(intm){...}
C)x(intm,intn){...}D)x(inth,intm,intn){...}
21.类Teacher和Student都是类Person的子类
Personp;
Teachert;
Students;
若p,t和s都是非空值,并且new时声明的都是本类;
if(tinstanceofPerson){s=(Student)t;}
这个语句导致的结果是什么?
(C)
A)将构造一个Student对象
B)表达式合法
C)编译时非法
D)编译时合法而在运行时可能非法
22.抽象方法:
(C)
A)可以有方法体
B)可以出现在非抽象类中
C)是没有方法体的方法
D)抽象类中的方法都是抽象方法
23.关于继承的说法正确的是:
(B)
A)子类将继承父类所有的属性和方法。
B)子类将继承父类的非私有属性和方法。
C)子类只继承父类public方法和属性
D)子类只继承父类的方法,而不继承属性
24.覆盖与重载的关系是(A)
A)覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中
B)覆盖方法可以不同名,而重载方法必须同名
C)final修饰的方法可以被覆盖,但不能被重载
D)覆盖与重载是同一回事
25.关于接口哪个正确?
(A)
A)实现一个接口必须实现接口的所有方法
B)一个类只能实现一个接口
C)接口间不能有继承关系
D)接口和抽象类是同一回事
1.构造方法是一种特殊的成员方法,构造方法名与(类名)相同。
2.构造方法没有(返回值)。
3.面向对象程序设计所具有的基本特征是:
(抽象性),(封装性),(继承性),(多态性)。
4.(抽象)方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。
5.(final)方法是不能被当前类的子类重新定义的方法。
6.接口中的成员只有静态常量和(抽象方法)。
7.若有类定义:
classBextendsA{…}则类B是类A的(子类)。
8.在Java程序中,通过类的定义只能实现(单)重继承。
9.通过接口的定义可以实现(多)重继承关系。
10.Java源文件中最多只能有一个(public)类,其它类的个数不限。
11.在子类中使用关键字(super)做前缀可调用被子类覆盖的父类中的方法。
异常
1.如果程序段中有多个catch语句,程序会__________。
(C)
A)每个catch语句都执行一次
B)将每个符合条件的catch语句都执行一次
C)找到适合的异常类型后就不再执行其它的catch语句
D)找到适合的异常类型后继续执行后面的catch语句
2.下面关于Java中异常处理try块的说法正确的是(A)?
A)try块后通常应有一个catch块,用来处理try块中抛出的异常。
B)catch块后必须有finally块。
C)可能抛出异常的方法调用应放在catch块中
D)对抛出的异常的处理必须放在try块中
3.以下关于java异常说法不正确的是(D)。
A)Throwable类是Java语言中Error类和Exception类的父类。
B)当异常对象是Exception类(或其子类)的实例时,能通过Java虚拟机或者throw语句抛出该异常对象,并能通过try…catch…finally处理。
C)如果只用一个catch块捕捉多个异常对象,则catch子句中的参数类型应是所有异常对象的父类。
D)以上说法都不对。
4.异常包含下列哪些内容?
(A)
A)程序执行过程中遇到的事先没有预料到的情况
B)程序中的语法错误
C)程序的编译错误
D)以上都是
5.对于已经被定义过可能抛出异常的语句,在编程时:
(A)
A)必须使用try/catch语句处理异常,或用throws将其抛出
B)如果程序错误,必须使用try/catch语句处理异常
C)可以置之不理
D)只能使用try/catch语句处理
6.所有的异常类皆继承哪一个类?
(C)
A)java.io.Exception
B)java.lang.Throwable
C)java.lang.Exception
D)java.lang.Error
7.关于Java中异常的叙述正确的是:
(D)
A)异常是程序编写过程中代码的语法错误
B)异常是程序编写过程中代码的逻辑错误
C)异常出现后程序的运行马上中止
D)异常是可以捕获和处理的
8.给出下面的不完整的方法
1
2{success=connect();
3if(success==-1){
4thrownewTimedOutException();
5}
6}
已知TimedOutException不是一个RuntimeException。
下面的哪些声明可以被加入第一行完成此方法的声明(B)
A)publicvoidmethod()
B)publicvoidmethod()throwsTimedOutException
C)publicvoidmethod()throwTimedOutException
D)publicthrowTimedOutExceptionvoidmethod()
1.异常处理是由(try).(catch)和(finally)块三个关键所组成的程序块。
2.Java语言中,通常把可能发生异常的方法调用语句放到try块中,并用紧跟其后的(catch)块来捕获和处理异常。
1.下列属于容器的组件有:
(B)
A)JbuttonB)JpaneC)CanvasD)JTextArea
2.在复选框中移动鼠标,然后单击一选项,要捕获所选项必需实现哪个接口?
(D)
A)ActionListenerB)MouseListenerC)MouseMotionListernD)ItemListener
3.如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是(C)
A)p.add(b);B)p.add(b,"North");C)p.add(b,"South");D)b.add(p,"North");
4.声明并创建一个按钮对象b,应该使用的语句是(A)
A)Buttonb=newButton();B)buttonb=newbutton();
C)Buttonb=newb();D)b.setLabel(“确定”);
5.Frame对象默认的布局管理器是(B)
A)FlowLayoutB)BorderLayoutC)CardLayoutD)null
6.要返回事件源,可以使用事件类的__________方法。
A.publicObjectgetSource()
B.publicComponentgetComponent()
C.publicStringgetActionCommand()
D.publicintgetID()
1.Frame的默认布局管理器为(边界)布局管理器,Panel的默认布局管理器为(流式)布局管理器,
2.Java的图形用户界面设计中,有很多布局管理器用来摆放组件的位置,一般用到的布局管理器有(列出四种即可)(FlowLayout),(GridLayout),(BorderLayout),(CardLayout)
1.创建一个多线程的程序有_________种方式。
(B)
A)1种B)2种C)3种D)3种以上
2.下面________方法是线程的主体方法。
(B)
A)start()B)run()C)sleep()D)init()
3.下列哪个方法可用于创建