java复习题

更新时间:2024-03-22 09:57:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

期末复习题

一、选择题

1、main方法是Java应用程序执行的入口点,以下哪项是main方法头?( )

A.public static int main(String[ ] arg) B.public static void main(String arg) C.public static void main(String[ ] args) D.public static void main()

2、以下哪个不是Java的关键字?( )

A.do A.String A.final

B.try B.$1 B.static

C.final C.x C.abstract

D.While

D.3_a

3、以下哪项标识符是不合法的。( )

4、以下哪个修饰符可用于定义成员常量?( )

D.const

5、以下关于构造函数的描述正确的是( )。

A.构造函数是特殊的方法,返回类型只能为void B.可以定义多个构造函数,但每个方法名需各不相同 C.在类定义中必须定义构造函数,而且只能定义一个构造函数 D.构造方法与类同名,在创建新对象时系统会自动调用构造函数 6、关于类的继承以下说法错误的是( )。

A.在java中类只允许单一继承 B.被final修饰符修饰的类不能被继承 C.子类不能继承父类中的构造方法 D.java允许多重继承

7、设有下面两个类的定义:

class Person {

class Student extends Person {

long id; // 身份证号

int score; // 入学总分 String name; // 姓名

int getScore(){return score; }

} }

则类Person和类Student的关系是( )。

A、包含关系

B、继承关系

C、关联关系

D、上述类定义有语法错误

8、关于修饰符static以下叙述错误的是( )。

A.static方法不可被覆盖 B.static可以用来修饰类

C.static方法不可以直接访问非静态的方法,否则编译出错 D.static方法只能访问类变量或方法参数,不可直接访问成员变量 9、关于Java的修饰符,以下说法错误的是( )。

A.如果内部类的访问权限修饰符为public则可被外部的类访问 B.final类中的属性和方法都必须被final修饰符修饰 C.类及其属性、方法可以同时有一个以上的修饰符来修饰

D.要使类中某个成员变量只能被该类访问到,该变量只能用private修饰 10、给出如下代码:

class Test{ //定义成员a public static void fun() { // some code... } }

要在函数fun()中直接访问a,以下成员变量a定义正确的是( )。 A.public int a; B.static int a; C.int a; D. protected int a;

11、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为( )。

A、隐藏

B、覆盖

C、重载 D、Java不支持此特性

12、下面哪个函数是public void aMethod(){...}的重载函数?( )

A、void aMethod( ){...} B、public int aMethod(){...} C、public void aMethod ( ){...} D、public int aMethod ( int m){...}

13、A派生出子类B ,B派生出子类C,并且在Java源代码中有如下声明:

1. A a0=new A(); 2. A a1 =new B(); 3. A a2=new C();

问以下哪个说法是正确的? ( )

A、只有第1行能通过编译

B、第1、2行能通过编译,但第3行编译出错 C、第1、2、3行能通过编译,但第2、3行运行时出错 D、第1行、第2行和第3行的声明都是正确的

14、假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?(class A { int i; static String s; void method1() { } static void method2() { } }

A、System.out.println(a.i);B、a.method1(); C、A.method1(); D、A.method2() 15、将以下哪个方法的定义插入第6行后,会引发编译错误?( )

1. class Super{

2. public void a(){ } 3. } 4.

5. public class Sub extends Super{ 6. 7.}

A.float a(){return 1;}

B.public void a(int x){ } C.public void a(float f){}

D.public float a(int x){return (float)x;}

)16、以下方法的返回类型是( )。

ReturnType function( int x , double y ) { return x+y/2; } A.byte B.short C.float 二、写出下列表达式的结果 已知int x=10,y=5;

(1) (x=(x-y))==y; (2) x/y--;

(3) x/2==y || x==y (4) x/2!=y&&x==y (5) ~y (6) x^y (7) x|y (8) x%++y (9) x<>y 三、填空题

D.double

1、面向对象程序设计所具有的基本特征是:__________,继承性和____________。

2、数组x定义为 int x[ ][ ]=new int[4][3]则 x.length 的值为________,x[0].length 的值为________。 3、在子类中使用关键字_______做前缀可调用被子类覆盖的父类中的方法。 4、构造方法的方法名和_______相同。

5、在Java中有两种多态,一种是__________多态,另一种是___________多态。 6、表达式3/6 * 5的计算结果是_______ 。

7、___________语句用来中止本轮循环,转向循环的起始,计算和判断循环条件,决定是否进入下一轮循环。 8、由____________修饰的代码块,称为初始化器,仅在类加载的时候执行一次。

三、程序阅读

1、写出以下程序的运行结果。

public class Test_2 { public static void main(String[ ] args) { System.out.println( fun(3, 4, 5) ); } static int fun(int x, int y, int z) { return fun( x, fun(y,z) ); } static int fun(int x,int y) { return x*y; } }

2、写出以下程序的运行结果。

class OverloadDemo{

void testOverload( int i ){ System.out.println(\ }

void testOverload(String s){ System.out.println(\ }

public static void main(String args[ ]){

OverloadDemo a=new OverloadDemo ( ); char ch=’k’; a.testOverload(ch); } }

3、写出以下程序的运行结果。

class StaticStuff {

static int x; static { x+=7; }

public static void main(String args[ ]){ System.out.println(\

}

static { x%=4;} }

4、写出以下程序的运行结果。

public class Test_3 { static int x; public Test_3( ){ x++; } public static void main(String[ ] args){ Test_3 s1=new Test_3(); System.out.print (s1.x+\ s1=new Test_3(); System.out.println(s1.x+\ s1=new Test_3(); System.out.println(s1.x); } static { x=1; } }

5、写出以下程序的运行结果。

public class Test_3 { public static void main(String[ ] args) { System.out.println( doSth(1, 2, 3) ); } static int doSth(int x, int y, int z) { return doSth( x, doSth(y,z) ); } static int doSth(int x,int y) { return x>y?x:y; } }

6、阅读以下程序,输出结果为 。

class Q1{ public static void main(String args[ ]){ double d=1.23; Dec dec=new Dec( ); dec.decrement(d); System.out.println(d); } classs Dec{

public void decrement(double decMe){ decMe = decMe - 0.1; }

}

7、以下程序段的输出结果为 。

public class C

{ public static void main(String args[ ]){ int i , j ; int a[ ] = { 2,1,4,8,9,5,3}; for ( i = 0 ; i < a.length-1; i ++ ) { int k = i; for ( j = i ; j < a.length ; j++ ) if ( a[j]

8、写出以下程序的功能。 public class ABC {

public static void main(String args[ ]){ int i , j ; int a[ ] = { 9,7,5,1,3}; for ( i = 0 ; i < a.length-1; i ++ ) { int k = i; for ( j = i ; j < a.length ; j++ ) if ( a[j]>a[k] ) k = j; int temp =a[i]; a[i] = a[k]; a[k] = temp; } for ( i =0 ; i

}

9、以下程序段的输出结果为 。 int x=0,y=4, z=5; if ( x>2){ if (y<5){ System.out.println(“Message one”); } else { System.out.println(“Message two”); } } else if(z>5){ System.out.println(“Message three”); } else { System.out.println(“Message four”);

本文来源:https://www.bwwdw.com/article/3ua8.html

Top