电大《JA V A语言与面向对象程序设计》
一、单选择题(每小题2分,共30分)
1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。
(A).java (B).class (C).html (D).exe
2、已知表达式int m[] = {0, 1, 2, 3, 4, 5, 6 };下面哪个表达式的值与数组元素个数相等?( )。
(A) m.length() (B) m.length (C) m.length()+1 (D) m.length+1
3、在Java Applet程序用户自定义的Applet子类中,一般需要覆盖父类的( )方法来完成一些画图操作。
(A)start( ) (B)stop( ) (C) init( ) (D) paint( )
4、如下哪个字符串是Java中的标识符?( )。
(A) fieldname (B) super (C) 3number (D) #number
5、关于被私有访问控制符private修饰的成员变量,以下说法正确的是()
(A)可被三种类引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
(B)可以被两种类访问和引用:该类本身、该类的所有子类
(C)只能被该类自身所访问和修改(D)只能被同一个包中的类访问
6、Java中main()函数的值是什么类型?()
(A) String (B) int (C) char (D) void
7、执行完代码int [ ] x = new int[25];后,以下哪项说明是正确的()
(A)x[24]为0 (B)x[24]未定义(C)x[25]为0 (D)x[0]为空
8、以下代码段执行后的输出结果为()
int x=3;int y=10;
System.out.println(y%x);
(A)0 (B)1 (C)2 (D)3
9、已知如下代码:
public class Test
{
long a[] = new long[10];
public static void main ( String arg[] ) {
System.out.println ( a[6] );
}
}
请问下面哪个语句是正确的()
(A) Output is null.
(B) Output is 0.
(C) When compile, some error will occur.
(D) When running, some error will occur.
10、给出下面的代码段:
public class Base{
int w, x, y ,z;
public Base(int a,int b)
{
x=a; y=b;
}
public Base(int a, int b, int c, int d)
{
// assignment x=a, y=b
w=d;
z=c;
}
}
在代码说明// assignment x=a, y=b处写入如下哪个代码是正确的?()
(A) Base(a,b); (B) x=a, y=b; (C) super(a,b); (D) this(a,b);
11、给出如下代码:
class Test{
private int m;
public static void fun() {
// some code...
}
}
如何使成员变量m 被函数fun()直接访问()
(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
12、下面哪个函数是public void example(){...}的重载函数()
(A)public double example2(int m){...} 4(B)public int example(){...}
(C)public void example2(){...} (D)public int example ( int m, float f){...}
13、以命令”java MyTest a b c”执行文件MyTest.class后,表达式()为真
(A)args[0] = "MyTest a b c" (B)args[0] = "MyTest"
(C)args[0] = "a" (D)args[1]= 'b'
14、当包含applet 的页面被重新加载时会自动调用以下哪个函数?()
(A) init() (B) start() (C) stop() (D) destroy()
15、在编写Java Applet程序时,若需要对发生的事件作出响应和处理,一般需要在程序的开头写上( )语句
(A)import java.awt.*;
(B)import java.applet.* ;
(C) i mport java.io.* ;
(D) import java.awt.event.* ;
二、判断题(每小题2分,共20分)
1、Java的字符类型采用的是ASCII编码。
2、class A{...}等价于class A extends Object{...}。
3、抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。
4、Java中数组的元素可以是简单数据类型的量,也可以是某一类的对象。
5、一个Java类可以有多个父类。
6、子类的域和方法的数目一定大于等于父类的域和方法的数目。
7、System类不能实例化,即不能创建System类的对象。
8、接口里的方法必须全部都声明成abstract。
9、最终类不能派生子类,最终方法不能被重载。
10、设String对象s=”Hello ”,运行语句System.out.println(s.concat(“World!”));后String对象s的内容为”Hello world!”,所以语句输出为:Hello world!。
三、填空题(每空格2分,共20分)
1、根据程序的构成和运行环境的不同,Java源程序分为两类:_______________程序和_____________程序。
2、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用_____________字节内存空间。
3、在Java程序中,通过类的定义只能实现__________重继承,但通过接口的定义可以实现_________重继承关系。
4、______方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类或接口之中定义。______方法是不能被当前类的子类重新定义的方法。
5、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是______类的子类并且存储该源程序文件的文件名为______。
6、Java中所有类都是类_______________ 的子类。
四、写出下列程序的输出。(每小题5分,共20分)
1、
class Parent{
void printMe(){
System.out.println(“parent”);
}
}
class Child extends Parent{
void printMe(){
System.out.println(“child”);
}
void printAll(){
super.printMe();
this.printMe();
printMe();
}
}
public class Test_this{
public static void main(String args[ ]){
Child myC=new Child();
myC.printAll();
}
}
2、
public class Test {
public static void main(String[] args) {
int a[]=new int[5];
for(int i=0;i<5;i++) a[i]=i;
for(int i=a.length-2;i>0;i--)
System.out.println("a["+i+"]="+a[i]); }
}
3、
public class BreakLoop{
public static void main(String args[])
{
int num=5;
for (num=1;num<5;num++)
System.out.println("num1="+num);
System.out.println("------------");
for (num=1;num<5;num++) {
if (num==3) break;
System.out.println("num2="+num);
}
System.out.println("------------");
for (num=1;num<5;num++) {
if (num==3) continue;
System.out.println("num3="+num);
}
}
}
4、
public class Cruncher{
Crunch( int i ){
System.out.println(“int version”);
}
Crunch(String s){
System.out.println(“String version”);
}
public static void main(String args[ ]){
new Cruncher (1);
}
}
五、使用Java语言编写程序。(共10分)
1、编写一个字符界面的Java Application 程序,接受用户输入的10个整数,并输出这10个整数的最大值和最小值。
《JA V A语言与面向对象程序设计》标准答案
一、单选择题(每小题2分,共30分)
1. B
2. B
3. D
4. A
5. C
6. D
7. A
8. B
9. C 10. D 11. C 12. D 13. C 14. B 15. D
二、判断题(每小题2分,共20分)
1. ╳
2. √
3. ╳
4. √
5. ╳
6.╳
7.√
8.√
9. √10. ╳
三、填空题(每空格2分,共20分)
1. Application Applet
2. 2
3. 单重多重
4. 抽象最终
5. Applet MyApplet.java 4. Object
四、写出下列程序的输出。(每小题5分,共20分)
1.parent
child
child
2.a[3]= 3
a[2]= 2
a[1]= 1
3.num1=1
num1=2
num1=3
num1=4
------------------------
num2=1
num2=2
------------------------
num3=1
num3=2
num3=4
4.int version
五、使用Java语言编写程序。(共10分)
import java.io.*;
public class maxandmin
{
public static void main(String args[])
{
int max=0, min=0, value=0;
for (int i=1; i<=10; i++)
{
try{
System.out.println("输入第" + i + "个整数:");
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine();
value = Integer.parseInt(s);
if(i==1)
{
max=min=value;
}
else
{
max = value>max ? value : max;
min = value } } catch(NumberFormatException enf) { System.out.println("整数格式输入错误,请重新输入。\n"); i--; } catch(IOException ioe) { System.out.println("一般输入输出错误,程序终止。"); System.exit(0); } }// end of for System.out.println("最大数为:" + max); System.out.println("最小数为:" + min); }// end of method }// end of class