1、选择题(20分)
本题共有10个小题,每个小题都有4个答案,但只有1个是正确的,请把正确答案的代码填入小题后的空格中,每个小题2分,共20分。
(1)在下列说法中,最正确的一项是( )。
A、Java语言是以类为程序的基本单位的 B、Java语言是不区分大小写的
C、多行注释语句必须以//开始 D、在Java程序中,主类的源文件名和该类名可以不相同
(2)在Java语言中,下面概念的哪一个是最基本的元素?( )
A、线程 B、包 C、对象 D、接口
(3)编译一个定义了5个类和10个方法的Java源文件后,会产生多少个字节码文件,扩展名是什么?( )
A、15个字节码文件,扩展名是.class B、1个字节码文件,扩展名是.class
C、5个字节码文件,扩展名是.java D、5个字节码文件,扩展名是.class
(4)下列哪一项不属于Applet中的显示方法?( )
A、update() B、repaint() C、drawLine() D、paint()
(5)下列哪一项不是Applet的生命周期方法?( )
A、start() B、getCodeBase() C、destroy() D、init()
(6)编写AWT图形用户程序的时候,一定要import的语句是( )。
A、import java.awt; B、import java.awt.*;C、import javax.awt.*;D、import javax.swing.*;
(7) Frame 的默认的布局管理器是下列哪一个?( )。
A.FlowLayout B.BorderLayout C.GridLayout D.CardLayout
(8)下列选项中,哪一个属于输出流?( )
A、从打印机流向控制器的数据流 B、从键盘流向内存的数据流
C、从内存流向控制器的数据流 D、从内存流向网络的数据流
(9)关于容器类(container)下列说法正确的是( )。
A.容器本身不是一个组件 B.是component类的子类
C.不具有构件的所有性质 D.不能在容器中放置其他组件或容器
(10)下列程序执行的结果是( )。
public class ex{
public static void main(String args[ ])
{ int a=3;
int b=4;
int x=5:
if(a*a+b*b= =x*x)
x=x<<(b— a);
System.out.print(x);}
A、5 B、6 C、10 D、3
2、填空题(20分)
本题共有10个小题,请把合适的内容填到每个小题的空白处,每小题2分,共20分。
(1)每个Java Application程序可以包括许多方法,但是必须有且只能有一个__ ______方法,统一格式为_ ____________,它是程序执行的入口 。
(2)Java源程序文件和字节码文件的扩展名分别为__ ____和_____________。
(3)一般Java程序的类体由两部分组成:一部分是 _,另一部分是 ______。
(4)Java 中的字符使用的是16位的____ _____编码。
(5)在Java语言中,用来分配内存的运算符是___ _____。
(6)当子类的成员变量与父类的成员变量名字相同时,子类的成员变量会__ _______父类的成员变量。
(7)顺序执行下面两个语句,输出的结果是:__ _______。
String s= “Hello!利奇”;
System.out.println(s.1ength( ));
(8)设有数组定义:int MyIntArray[ ]={1,2,3,4,5,6,7};
则执行F面几个语句后的输出结果是___ ____。
int s=0;
for(int i=0; i<MyIntArray.1ength;i++)
s+=MyIntArray[i];
System.out.println(s);
(9)表达式7/6*5的计算结果是___ _ __。
(10)ByteArraylnputStream以__ _ _作为输入流。
3、判断题(10分)
本题共有10个小题,请判断说法的正误,正确的说法在小题后括号中打√号,否则打×号,每个小题1分,共10分。
(1)Java语言没有指针的概念。 ( )
(2)Java是面向对象语言,它兼容C++语言。 ( )
(3)Java程序可以划分为两大类:Application和Applet。 ( )
(4)布局管理器体现了Java的平台无关性。 ( )
(5)Applet不需要全部重写其生命周期方法。 ( )
(6)getDocumentBase( )用于获取包含Applet的HTML文件的URL。 ( )
(7)FileOutputstream类的父类是OutputStream 。 ( )
(8)iava.uti1 包给出了 Runnable接口的定义。 ( )
(9)若要编写出色的图形用户界面程序,不需要让组件响应用户的操作。 ( )
(10)AWT的低级事件是在组件或者容器上发生的事件。 ( )
4、读程序题(每题6分,本大题共30分)
(1)阅读程序,给出程序的运行结果。
public class Person
{ String name;
int age;
public Person(String name,int age)
{ this.name=name;
this.age=age;
}
public static void main(String args[])
{ Person c=new Person("Peter",17);
System.out.println(c.name+" is "+c.age+" years old!");
}
}
(2)阅读程序给出程序的正确输出结果
class MyClass
{
int a[]={1,2,3,4,5};
void out()
{
for(int j=0;j<a.length;j++)
System.out.print(a[j]+” ”);
}
public static void main(String[] args)
{
MyClass my=new MyClass();
my.out();
}
}
(3)现有一个类定义如下:
class student
{
String name;
int age;
int score=88;
student(String a1,int a2,int a3)
{
name=a1; age=a3; score=a2;
}
}
在使用该类时,已使用下面语句生成了该类的对象:
student s1,s2;
s1=new student("张三",20,21);
s2=new student();
问题:
1、 s1.name,s1.age,s1.score的值各是什么?
2、 s2.name,s2.age,s2.score的值各是什么?
(4)现有类说明如下:
class A
{
int x=100;
int GetA(){return x;}
}
class B extends A
{
int x=10;
int GetB(return x;}
}
问题:
1类B是否能继承类A的属性x?
2若b是类B的对象,则b.GetB()的返回值是什么?
3若b是类B的对象,则b.GetA()的返回值是什么?
4类A和类B都定义了x属性,这种现象称为什么?