《现代程序设计》(JAVA)考试复习题
一、选择题
1、关于Java语言叙述错误的是:(C)
A.Java语言具有跨平台性
B.Java是一种面向对象的语言
C.Java语言中的类可以多继承
D.Java的垃圾收集机制自动回收程序已不再使用的对象
2、以下叙述正确的是:(B)
A.构造方法必须是public方法
B.main方法必须是public方法
C.Java应用程序的文件名可以是任意的
D.构造方法应该声明为void类型
3、关于Java中数据类型叙述正确的是:(B)
A、整型数据在不同平台下长度不同B.boolean类型数据只有2个值,true和false
C.数组属于简单数据类型
D.Java中的指针类型和C语言的一样
4、设int x=1,float y=2,则表达式x / y的值是:(D)
A.0
B.1
C.2
D.以上都不是
5、以下语句有语法错的是:(A)
A.int x=1;y=2;z=3
B.for (int x=10,y=0;x>0;x++);
C.while (x>5);
D.for(; ;);
6、关于类和对象的叙述正确的是:(A)
A.Java的类分为两大部分:系统定义的类和用户自定义的类
B.类的静态属性和全局变量的概念完全一样,只是表达形式不同
C.类的成员至少有一个属性和一个方法
D.类是对象的实例化
7、以下有关构造方法的说法,正确的是:(A)
A.一个类的构造方法可以有多个
B.构造方法在类定义时被调用
C.构造方法只能由对象中的其它方法调用
D.构造方法可以和类同名,也可以和类名不同
8、以下有关类的继承的叙述中,正确的是:(D)
A.子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性
B.子类只能继承父类的方法,不能继承父类的属性
C.子类只能继承父类的非私有属性,不能继承父类的方法
D.子类不能继承父类的私有属性
9、void 的含义:(C )
A.方法体为空
B.定义的方法没有形参
C.定义的方法没有返回值
D.方法的返回值不能参加算术运算
10、关于Java中异常的叙述正确的是:(D )
A.异常是程序编写过程中代码的语法错误
B.异常是程序编写过程中代码的逻辑错误
C.异常出现后程序的运行马上中止
D.异常是可以捕获和处理的
11、所有的异常类皆继承哪一个类?(C)
A.java.io.Exception
B.java.lang.Throwable
C.java.lang.Exception
D.java.lang.Error
12、下面哪个不是java语言中的关键字?(B)
A.long
B.sizeof
C.instanceof
D.const
13、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B)。
A. .java
B. .class
C. .html
D. .exe
14、设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是( A)。
A. 3
B. 3. 5
C. 4
D. 5
15、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( D )方法来完成一些画图操作。
A. start( )
B. stop( )
C. init( )
D. paint( )
16、不允许作为类及类成员的访问控制符的是( C )。
A. public
B. private
C. static
D. protected
17、为AB类的一个无形式参数无返回值的方法method
书
关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf
写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A)。
A. static void method( )
B. public void method( )
C. final void method( )
D. abstract void method( )
18、在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行………( A)
A)init() B)start() C)destroy() D)stop()
19、有以下方法的定义,请选择该方法的返回类型(D)
ReturnType method(byte x, double y)
{
return (short)x/y*2;
}
A)byte B)short C)int D)double
20、以下哪项可能包含菜单条( B )。
A)Panel B)Frame C)Applet D)Dialog
21、Java application中的主类需包含main方法,main方法的返回类型是什么?(D)
A)int B)float C)double D)void
22、Java application中的主类需包含main方法,以下哪项是main方法的正确形参?( B )
A)String args B)String ar[] C)Char arg D)StringBuffer args[]
23、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。
A). java B) .class C). html D).exe
24、设int型变量x = 1 , y = 2 , z = 3,则表达式y+=z--/x++ 的值是( A)。
A)3 B)3. 5 C)4 D)5
25、不允许作为类及类成员的访问控制符的是( C )。
A)public B)private C)static D)protected
26、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A)。
A)static void method( ) B)public void method( )
C)final void method( ) D)abstract void method( )
27、以下哪一个不是JA V A的
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
数据流( C)。
A)标准输出数据流B)标准输入数据流C)标准错误数据流D)标准运算数据流
28.设有下面两个赋值语句:
a = Integer.parseInt(“123”);
b = Integer.valueOf(“123”).intV alue();
下述说法正确的是(D)。
A)、a是整数类型变量,b是整数类对象。B)、a是整数类对象,b是整数类型变量。
C)、a和b都是整数类对象并且值相等。D)、a和b都是整数类型变量并且值相等。
29、下列代表十六进制整数的是( D)
A)0123 B)1900 C)fa00 D)0xa2
30、在Java中,实现用户界面功能的包是………………………………………( D)
A)java.applet B)java.transaction C)java.util D)java.awt
31、"++"运算符的操作数个数是( A)
A)1个B)2个C)3个D)4个
32、已知:int[] a = new int[100];在www.gxqingyuan.com下列给出的数组元素中,非法的是( D)
A)a[0] B)a[1] C)a[99] D)a[100]
33、用于输入压缩文件格式的ZipOutputStream 类所属包是( A)
A)、java.util.zip B)、java.io C)、java.nio D)、java.util
34、在Java中,负责对字节代码解释执行的是_ B____。
A)垃圾回收器B)虚拟机C)编译器D)多线程机制
35、下列叙述中,正确的是A
A)Java语言的标识符是区分大小写的B)源文件名与public类名可以不相同
C)源文件扩展名为.jar D)源文件中public类的数目不限
二、填空题
1、面向对象程序设计所具有的基本特征是_ 封装性_,继承性,_ 多态性__,_ 抽象性__
2、数组x定义如下
int x[ ][ ]=new int[3][2]
则x..length 的值为___ 3_______,
x[0].length 的值为____ 2______。
3、Java中实现多线程一般使用两种方法,一是___ __继承Thread类_______,二是_____ 实现Runnable接口_________
4、Java的图形用户界面设计中,有很多布局管理器用来摆放组件的位置,一般用到的布局管理器有(列出四种即可)__
FlowLayout_____,___BorderLayout ____,__ _GridLayout____,___ _CardLayout______
5、Applet常用的方法是:_ init() _、_ run() __、__ stop()__和destroy()。
6、开发与运行Java程序需要经过的三个主要步骤为编译源程序、编译生成字节码、和解释运行字节码。
7、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是Applet类的子类并且存储该源程序文件的文件名为MyApplet
8、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译
器javac.exe编译该源程序文件将产生 3 个文件名与类名相同而扩展名为.class的字节码文件。
9、在Java的基本数据类型中,char型采用Unicode编码
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
,每个Unicode码占
用 2 字节内存空间,这样,无论是中文字符还是英文字符,都是占用 2 字节内存空间。
10、设x = 2 ,则表达式( x + + )/3 的值是0 。
11、若x = 5,y = 10,则x < y和x >= y的逻辑值分别为True 和False。
12、抽象(abstract)方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。
最终(final)方法是不能被当前类的子类重新定义的方法。
13、创建一个名为MyPackage 的包的语句是package MyPackage ,该语句应该放在程序的位置为:应该在程序第一句
14、设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以下几个语句后的输出结果是120。
int s = 0 ;
for ( int i = 0 ; i < MyIntArray.length ; i + + )
if ( i % 2 = = 1 ) s += MyIntArray[i] ;
System.out.println( s );
15、在Java程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现__多___ 重继承关系。
16、抽象类是一种特殊的类,它本身不能够被实例化,但可被继承.
17、设x = 2 ,则表达式( x + + )/3 的值是0
18、执行以下几个语句后的输出结果是This Two
String s = “This one” , s1=”This two”;
int i=5
if (i>10)
System.out.print(s) ;
else
System.out.print(s1) ;
19、程序中,若
int x=667;
int& p=x;
则p= _ 667 ___,
20、继承是面向对象的语言一个重要的机制,通过这种机制可以在一个一般类的基础
上建立新类。
21.、如果类Alpha继承了类Beta,则类Alpha称为_子_类,类Beta称为__ 父_ 类。
22、已知int a,b; 则表达式a=2,b=5,a++;b++;a+b;的值为9 。(这一题有点问题,原题中间打的是逗号,当然是9,但这里分号….是不是2;5;9捏?求解….)
23、Java技术的三大特征分别是继承、多态、封装。跨平台,简单,库类丰富
三、阅读程序,写出程序的输出结果(每题5分,共20分)
1、class A{
private int privateV ar;
A(int _privateV ar){
privateV ar=_privateV ar;
}
boolean isEqualTo(A anotherA){
if(this.privateV ar == anotherA.privateV ar)
return true;
else
return false;
}
}
public class B{
public static void main(String args[]){
A a = new A(1);
A b = new A(2);
System.out.println(a.isEqualTo(b));
}
}
程序的输出结果为:___ false _____
2、class A {
double f(double x, double y) {
return x * y;
}
}
class B extends A {
double f(double x, double y) {
return x + y;
}
}
public class Test {
public static void main(String args[]) {
B obj = new B();
System.out.println("The program output is " + obj.f(4, 6));
}
}
程序的输出结果为:__ The program output is 10_
3、public class Unchecked {
public static void main(String[] args) {
try {
method();
} catch (Exception e) {
System.out.println("A");
} finally {
System.out.println("B");
}
}
static void method() {
try {
wrench();
System.out.println("C");
} catch (ArithmeticException e) {
System.out.println("D");
} finally {
System.out.println("E");
}
System.out.println("F");
}
static void wrench() {
throw new NullPointerException();
}
}
程序的输出结果为:
E
A
B
4、public class Test {
public static void main(String[] args) {
int x;
int a[] = { 0, 0, 0, 0, 0, 0 };
calculate(a, a[5]);
System.out.println("the value of a[0] is " + a[0]); System.out.println("the value is a[5] is " + a[5]);
}
static int calculate(int x[], int y) {
for (int i = 1; i < x.length; i++)
if (y < x.length)
x[i] = x[i - 1] + 1;
return x[0];
}
}
程序的输出结果为:
the value of a[0] is 5
5、import java.io.*;
public class abc
{ public static void main(String args[ ])
{ AB s = new AB("Hello!","I love JAV A.");
System.out.println(s.toString( ));
}
}
class AB {
String s1;
String s2;
AB( String str1 , String str2 )
{ s1 = str1; s2 = str2; }
public String toString( )
{ return s1+s2;}
}
Hello! I love JA V A.
6、import java.io.* ;
public class abc
{
public static void main(String args[ ])
{ int i , s = 0 ;
int a[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 };
for ( i = 0 ; i < a.length ; i ++ )
if ( a[i]%3 = = 0 ) s += a[i] ;
System.out.println("s="+s);
}
}
s=180
7、import java.io.* ;
public class abc
{
public static void main(String args[ ])
)
{ System.out.println("a="+a+"\nb="+b); }
}
class SubClass extends SuperClass
{ int c;
SubClass(int aa,int bb,int cc)
{ super(aa,bb);
c=cc;
}
class SubSubClass extends SubClass
{ int a;
SubSubClass(int aa,int bb,int cc)
{ super(aa,bb,cc);
a=aa+bb+cc;
}
void show()
{ System.out.println("a="+a+"\nb="+b+"\nc="+c); }
}
a=60
b=20
c=30
四写出下列程序完成的功能。
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 ;
System.out.println( "sum="+sum );
}
}
计算1/1+1/2+1/3+...+1/100 的值。
2、import java.io.* ;
public class Reverse
{ public static void main(String args[ ])
{ int i , n =10 ;
int a[ ] = new int[10];
for ( i = 0 ; i < n ; i ++ )
try {
BufferedReader br = new BufferedReader(
new InputStreamReader(System.in));
a[i] = Integer.parseInt(br.readLine( )); // 输入一个整数
} catch ( IOException e ) { } ;
for ( i = n-1 ; i >= 0 ; i ――)
System.out.print(a[i]+" ");
System.out.println( );
}
}
从标准输入(即键盘)读入10个整数存入整型数组a中,然后逆序输出这10个整数。
3、import java.awt.*;
public class abc
{ public static void main(String args[])
{ new FrameOut(); }
class FrameOut extends Frame // Frame为系统定
{ Button btn; // 义的窗框类
FrameOut( )
{ super("按钮");
btn = new Button("按下我");
setLayout(new FlowLayout( ));
add(btn);
setSize(300,200);
show( );
}
}
创建一个标题为"按钮"的窗框,窗框中显示有"按下我"字样的按钮。
4、import java.io.*;
public class abc
{ public static void main(String args[])
{ SubClass sb = new SubClass( );
System.out.println(sb.max( ));
}
}
class SuperClass
{ int a = 10 , b = 20 ; }
class SubClass extends SuperClass
{ int max( ) { return ((a>b)?a:b); } }
求两个数的最大值。
除对象之前对这个对象调用的。