《JAVA语言程序设计》期末考试模拟试题
、单选择题(每小题2分,共10分)
编译 Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为
B. .class A. .java
D. .exe C. .html
,则表达式 y + = z ―― / + + x 的值是(A )
A. start() C. init()
A. 3 C. 4
在 Java Applet
B. 3. 5 D. 5
程序用户自定义的 Applet 子类中,一般需要重载父类的(D )
B. stop() D. pai nt()
方法来完成一些画图操
4、不允许作为类及类成员的访问控制符的是
A. public B. private
C. static D. protected
method书写方法头,使得使用类名 AB作为前缀就可以调用它, 5、为AB类的一个无形式参数无返回值的方法
该方法头的形式为(A )
B. public void method() A. static void method()
D. abstract void method()
C. final void method() 20分)
二、填空题(每空格 程序需要经过的三个主要步骤为1分,共 编辑源程序 1、开发与运行Java 编译生成字节码 和 解释运行字节码 。 2源程序文件只定义有一个类,该类的类名为 MyApplet,则类 MyApplet必须是 、 如果一个 Java Applet Applet _______ 类的子类并且存储该源程序文件的文件名为 MyApplet _____________ 。 3、 如果一个Java Applet 程序文件中定义有 3个类,则使用 Sun公司的JDK编译 器javac.exe _________ 编译该源程序文件将产生 J _______________ 个文件名与类名相同而扩展名为 .
class 的字节码文件。
4、在Java的基本数据类型中, char型采用Un icode编码方案,每个 Uni code码占 用 ______________ 字节内存空间,这样,无论是中文字符还是英文字符,都是占
用 2 字节内存空间。
5、 设x = 2 ,则表达式(x + + ) / 3的值是_1 __________ 。 6、 若x = 5 ,y = 10,贝U x < y 和x >= y 的逻辑值分别为 true ____ 和 false ___________ 。
7、 抽象(abstract) 方法 方法是一种仅有方法头, 没有具体方法体和操作实现的方法, 该方法必须在 抽象类之中定义。 最终(final) 方法 方法是不能被当前类的子类重新定义的方法。 8、 创建一个名为 MyPackage 的包的语句是 package MyPackag ______________________ ,
该语句应该放在程序的位置为: ___________ 应该在程序第一句 ________________ 。
9、 设有数组定义:int Myln tArray[ ] = { 10,20,30,40,50,60,70};
后的输岀结果是 120 。
int s = 0 ;
for ( int i = 0 ; i < MylntArray.length ; i + + )
if ( i % 2 = = 1 )
s += Myl ntArray[i];
则执行以下几个语句
10、在Java程序中,通过类的定义只能实现
单 重继承,但通过接口的定义可以实现 多 重继承关
系。
三、写岀下列程序完成的功能。 (每小题5分,共20分)
1、 public class Sum
{ public static void main( String args[]) { double sum = 0.0 ;
for ( int i = 1 ; i <= 100 ; i + + ) sum += 1.0/(double) i ; }
}答:计算 1/1+1/2+1/3+... + 1/100 的值
2、 import java.io.* ; public class Reverse
{ public static void main( Str ing args[]) { int i , n =10 ;
int a[ ] = new in t[10]; for ( i = 0 ; i < n ; i ++ ) try {
BufferedReader br = new BufferedReader(
new In putStreamReader(System.i n)); a[i] = In teger.parseI nt(br.readL ine( )); // } catch ( IOException e ) { }; for ( i = n — 1 ; i >= 0 ; i
----- )
} }
答:从标准输入(键盘)读入10个整数存入整型数组
3、 import java.awt.*; public class abc
{ public static void mai n( Stri ng args[]) { new FrameOut(); } }
class FrameOut exte nds
Frame
// Frame
{ Button btn; //
FrameOut()
{
super(\
按钮\
btn = new Butt on(”
按下我\;
setLayout (new FlowLayout()); add(bt n); setSize(300,200); show(); } }
答:创建一个标题为“按钮“的窗框,窗框中显示有
4、import java.io.*; public class abc
{ public static void main( Stri ng args[])
{ SubClass sb = new SubClass(); } }
class SuperClass { int a = 10 , b = 20 ; }
输入一个整数
a中,然后逆序输岀这
10个整数为系统定
义的窗框类
“按下我“字样的按钮
class SubClass exte nds SuperClass { int max( ) { return ((a>b)?a:b); } } 答:求两个数的最大值。
四、 写岀下面程序的运行结果 (每小题10分,共30分)
1、 import java.io.*;
public class abc
{ public static void mai n( Stri ng args[])
{ AB s = new AB(\} }
class AB { Stri ng s1; Stri ng s2;
AB( Stri ng str1 , Stri ng str2 ) { s1 = str1; s2 = str2; } public Str ing toStri ng() { return s1+s2;}
}答:1、Hello! I love JAVA. 2、 import java.io.* ; public class abc
{
public static void mai n(Stri ng args[])
{ int i , s = 0 ;
int a[ ] = { 10,20,30,40,50,60,70,80,90 }; for ( i = 0 ; i < a.len gth ; i ++ )
if ( a[i]%3 = = 0 ) s += a[i];
}
} 答:s = 180
五、 使用Java语言编写程序。(每小题10分,共20分) 1、编写一个字符界面的 Java Application 程序,接受用户输入的
10个整数,并输岀这和最小值。 答:import java.io.* ; public class abc {
public static void main( Str ing args[]) { int i , n = 10 , max = 0 , min = 0 , temp = 0;
try {
BufferedReader br = new BufferedReader(
new In putStreamReader(System.i n));
max = min = In teger.parse In t(br.readL ine()); } catch ( IOExcepti on e ) { }; for ( i = 2 ; i <= n ; i ++ ) { try {
BufferedReader br = new BufferedReader (new In putStreamReader(System.i n)); temp = In teger.parse In t(br.readL ine()); if (temp > max ) max=temp;
个整数的最大值
10