一、选择题(每题2分,共20分)
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项的标记写在答案表格中
1.以下的变量定义语句中,合法的是( )。
A) float $_*5= 3.4F; B) byte b1= 15678;
C) double a =Double. MAX_VALUE; D) int _abc_ = 3721L;
2.Java语言的类间的继承关系是( )。
A) 多重的 B) 单重的 C) 线程的 D) 不能继承
3.下列选项中,用于在定义子类时声明父类名的关键字是( )。
A)interface B) package C) extends D) class
4.若已定义 byte[ ] x= {11,22,33,-66} ;
其中0≤k≤3,则对x数组元素错误的引用是( )。
A) x[5-3] B) x[k] C) x[k+5] D) x[0]
5.下列语句序列执行后,k 的值是( )。
int i=10, j=18, k=30;
switch( j - i ){
case 8 : k++;
case 9 : k+=2;
case 10: k+=3;
default : k/=j;
}
A)1 B) 2 C) 35 D) 30
6.定义类头时能使用的修饰符是( )。
A) private B) static C) abstract D) protected
7. 下列类定义中,不正确的是( )。
A) class x { .... } B) class x extends y { .... }
C) static class x implements y1,y2 { .... }
D) public class x extends Applet { .... }
8. 用于定义类成员的访问控制权的一组关键字是( )。
A) class, float, double, public B) float, boolean, int, long
C) char, extends, float, double D) public, private, protected
9.现有两个类A、B,以下描述中表示B继承自A的是( )。
A) class A extends B B) class B implements A
C) class A implements B D) class B extends A
10.若一个类中对某个方法进行了重载,能够区分这些重载方法的手段是 ( )。
A)它们的返回值类型的不同 B)它们的名称的不同
C) 它们的参数表的不同 D) 它们的修饰符不同
二、多项选择题(每题2分,共10分)
在每小题的五个备选答案中选出正确答案,并将正确答案的序号答案表格中,错选多选,漏选均不得分。
1.下面哪个语句是创建数组的正确语句?
A、 float f[][] = new float[6][6]; B、float []f[] = new float[6][6];
C、float f[][] = new float[][6]; D、float [][]f = new float[6][6];
E、float [][]f = new float[6][];
2.已知如下代码:
switch (m)
{
case 0: System.out.println("Condition 0");
case 1: System.out.println("Condition 1");
case 2: System.out.println("Condition 2");
case 3: System.out.println("Condition 3");break;
default: System.out.println("Other Condition");
}
当m 的值是何值时能输出"Condition 2"?
A、 0 B、1 C、2 D、3 E、4
3.在如下源代码文件Test.java中, 哪个是正确的类定义?其中T1,T2是已知的类。
A、 public class test {
public int x = 0;
public Test(int x){
this.x = x;
}
}
B、public class Test{
public int x=0;
public Test(int x) {
this.x = x;
}
}
C、public class Test extends T1, T2 {
public int x = 0;
public Test (int x) {
this.x = x;
}
}
D、 public class Test extends T1{
public int x=0;
public Test(int x){
this.x = x;
}
}
E、protected class Test implements T2{
public int x=0;
public Test(int x){
this.x=x;
}
}
4.当Frame改变大小时,放在其中的按钮大小不变,则使用如下哪个layout?
A、 FlowLayout B、CardLayout C、North and South of BorderLayout
D、East and West of BorderLayout E、GridLayout
5.下面哪个不是Java中的容器?
A、 ScrollPane B、Canvas C、Scrollbar D、Applet E、Dialog
三、判断题( 每小题1分,共10分 )
下列各题中,你认为正确的就在答案表格中打"√",错误的打"×"。
1.Java中的的字符使用的是 16 位的Unicode 编码。
2.接口是由常量和抽象方法组成的特殊类。
3.构造函数的方法名可由编程人员任意命名。
4.类的私有属性和私有方法可以被其子类访问。
5.abstract 是抽象修饰符,可以用来修饰类及其属性和方法。
6.一个 Java 源程序中允许有多个公共类。
7.Java 程序可以划分为两大类: Application 和 Applet。
8.用static修饰的方法称为静态方法,它不属于类的一个具体对象,而是整个类的类方法。
9.java语言中的接口可以继承,一个接口通过关键字extends可以继承另一个接口。
10.声明为final的方法不能在子类中重载。
四、填空题( 每题3分,共30分 )
请将正确答案填写在答题纸相应位置上,答在试卷上不得分。(一题多空时,答案用分号隔开)
1.下面是用户程序对 Applet 类中方法 action( ) 的重新定义,功能为从单行文本编辑区 input 中输入数据赋给k。TextField
类的对象input和int型变量k已在类体中正确说明。
public ___________ action( Event e, Object o ){
if( e.target==input )
k=Integer.parseInt( _______.getText( ) );
repaint( );
return true;
}
2.分析下面的Java程序:
public class yy {
public static void main(String[] ards) throws Exception {
try {
throw new Exception();
}catch(Exception e){
System.out.println("Caught in main()");
}
System.out.println("nothing");
}
}
输出结果为__________
3.下面程序的功能为计算数组各元素的和。
import java.awt.Graphics;
import java.applet.Applet;
public class SumArray extends Applet {
int a[] = { 1, 3, 5, 7, 9, 10 };
int total;
public void init(){
total = 0;
for ( int i = 0; ___________; i++ )
total=______________;
}
public void paint( Graphics g ){
g.drawString( "Total of array elements: " +total, 25, 25 );
}
}
4.下面Calculation类中的重载函数add分别计算整型、浮点型和字符串的和。
class Calculation {
public void add(_____) {
int c = a + b;
System.out.println("两个整数相加得 "+ c);
}
public void add(________){
float c = a + b;
System.out.println("两个浮点数相加得"+c);
}
public void add( ________) {
String c = a + b;
System.out.println("两个字符串相加得 "+ c);
}
}
5.下面程序是方法覆盖示例,其运行的结果是_______________.
class SuperClass {
int a;
SuperClass(){ a = 10;}
public void printA(){System.out.println("父类中a ="+a);}
}
class SubClass extends SuperClass {
int a;
SubClass(int a){ this.a = a;}
public void printA(){ System.out.println("子类中a = "+a); }
}
public class OverrideDemo {
public static void main(String args[]) {
SuperClass s1 = new SubClass(10);
s1.printA();
}
}
6.下面程序定义一接口A,类B实现了接口A
________ A {
double g=9.8;
void show( );
}
class B ______ A {
public void show( ) {
System.out.println(“g=“+g);
}
}
7.给出下面程序运行结果___________
public class ExceptionDemo {
public static void main(String args[]) {
try {
int c= calculate(9,0);
System.out.println(c);
}
catch (Exception e) {
System.err.println("发生异常");
}
}
static int calculate(int a, int b) {
int c = a/b; return c;
}
}
8.下面程序运行的结果是:_______________.
public class TestString {
public static void main(String args[ ]) {
String s1="Java", s2="Java";
String s3=new String(s1);
System.out.println(" s1==s2 is "+(s1==s2));
System.out.println(" s1==s3 is "+(s1==s3));
}
}
9.下面程序定义了一个二维数组a,给出程序运行结果___________.
public class Test_Array{
public static void main(String [ ] args){
int a[ ][ ];
a=new int[2][ ];
a[0]=new int[3];
a[1]=new int[6];
System.out.println(" a 的长度 = " + a.length );
System.out.println("a[0] 的长度 = " + a[0].length );
System.out.println("a[1] 的长度 = " + a[1].length );
}
}
10.下面程序运行的结果是____________.
class test{ int x; }
public class Test_Paras {
static test fun(test o,int y){
o.x=20;
y=1;
return o;
}
public static void main(String [ ] args){
test obj1 , obj2;
int Val = 3;
obj1=new test( ) ;
obj1.x=100;
obj2=fun(obj1,Val);
System.out.println(obj1.x+","+ obj2.x+","+Val);
}
}
五、(每题6分,共30分)
将下面程序中标号①②③处的代码补齐,完成程序的功能
1.下面程序实现了一个标题为“我的窗口”的框架Frame,其背景颜色为Color.red。
______①_______;
class FrameTest {
public static void main(String args[]) {
Frame f=_____②________;
f.setSize(300,200);
________③__________;
f.setVisible(true);
}
}
2.下面程序实现如下界面:
import java.awt.*;
class Qualification extends Frame {
Checkbox t1=new Checkbox("Visual Basic");
Checkbox t2=new Checkbox("Visual C++");
Checkbox t3=new Checkbox("Java");
_________①___________;
Checkbox r1=new Checkbox("专科",cg,false);
Checkbox r2=new Checkbox("本科",cg,false);
Checkbox r3=new Checkbox("硕士",cg,false);
Checkbox r4=new Checkbox("博士",cg,false);
Label lb1=new Label("您的学历为:" );
Label lb2=new Label("您精通的语言为:" );
public Qualification(String s ) {
super(s);
setLayout(_____②_________);
add(lb1);
add(r1);add(r2);add(r3);add(r4);
add(lb2);
add(t1);add(t2);add(t3);
}
public static void main(String args[]) {
Qualification q=________③___________
q.setSize(400,250);
q.show( );
}
}