java。00.上册笔试

来源:互联网 发布:windows 用户态内核态 编辑:程序博客网 时间:2024/04/27 23:43

嘿。老师竟然把考试电子档都发回来了~

 

测试题(笔试)

Java OO

 

 

 

 

 

 

成都朗沃信息技术有限公司

 

 

 

不定项选择题(50题,每题2分,满分100分,测试时间2小时)

1)

面向对象的特征有哪些?。(多选)【abd

 

a)

封装

 

b)

继承

 

c)

跨平台

 

d)

多态

 

2)

下面说法正确的是()。(单选)【dmain方法错】

 

 

public class A{

        static int x;

       public static void main(String args){

            System.out.println(x);

       }

}

 

a)

正常执行,什么都不打印

 

b)

正常执行,打印0

 

c)

编译错误

 

d)

编译通过,但运行时有错误

 

3)

下面不属于基本类型的是(单选)【c

 

a)

Long

 

b)

Float

 

c)

String

 

d)

Boolean

 

4)

下面哪些属于Java的引用数据类型包括()。(多选)【借口,类,数组】【abcd

 

a)

基本数据类型数组

 

b)

接口

 

c)

字符串

 

d)

引用数据类型数组

 

5)

有一个java文件“Test.java”内容如下:

class   MM{

       public static void main(String[] args){

            System.out.println("hello word");

       }

}

对该文件进行编译和执行的命令为:( )。(单选)

 

a)

编译:  javac  Test.java

执行:  java   Test

 

b)

编译:  javac  Test.java

执行:  java   MM

 

c)

编译:  javac  Test

执行:  java   Test

 

d)

编译:  javac  Test.java

执行:  java   Test.class

 

6)

下面关于Java语言中多态的描述正确的是()。(多选)【134

 

a)

多态是指父类变量可以指向子类对象【S xx=newS();

 

b)

多态是指子类变量可以指向父类对象

 

c)

Java中动态绑定是实现多态的主要手段【调的方法是子类的叫动态绑定】

 

d)

多态是指相同的行为不同的体现。

 

7)

public class  A{

public static void main(String[]  args){

                int a = 1;

               switch(a){

                     case 0:

                           System.out.print("0  ");

              case 1:

                     System.out.print("1  ");

              case 2:

                     System.out.print("2  ");

            break;

              default:

                  System.out.print("default");

       }

}

}

执行的结果是()(单选)【1

 

a)

1  2

 

b)

1

 

c)

1  2   default

 

d)

0  1  2  defalut

 

8)

JAVA中定义一个常量使用什么修饰符()。(单选)【3

 

a)

Public

 

b)

Static

 

c)

Final

 

d)

Friendly

 

9)

在Java中,下列()类不能派生出子类( ) (单选) 【final和构造方法私有的不能写子类】【4】

 

a)

public class MyClass{}

 

b)

class MyClass{}

 

c)

abstract class MyClass{}

 

d)

final class MyClass{}

 

10)

下面关于抽象类和接口的说法哪些是错误的()(多选)【124

 

 

 

 

a)

抽象类中只能包括抽象方法,必须写abstract关键字【可具体方法】

 

b)

接口中的方法只能是抽象的,但不能写abstract关键字【可写可不写】

 

c)

接口中的方法只能是public的【写不写都是public

 

d)

抽象类不能被抽象类继承。

 

11)

当试图编译并运行下面程序时会出现什么结果()(单选)【3

 

 

class A{

         public int getNumber(int a){

            return a+1;

         }

    }

    class B extends A{

         public int getNumber(int a, char c){

            return a+2;

        }

         public static void main(String[] args){

            B b=new B();

            System.out.println(b.getNumber(0));

         }

        }【注意参数】

 

a)

编译错误

 

b)

运行错误

 

c)

1

 

d)

2

 

12)

当编译并运行下面程序时会出现什么结果( )(单选)【2

 

 

public class MyAr{
     public static void main(String argv[]){
          int[] i = new int[5];
          System.out.println(i[5]);
【越界】
     }
}

 

a)

编译错误

 

b)

运行错误

 

c)

输出0

 

d)

输出“null

 

13)

在以下循环中,至少执行一次的循环的是()(单选)2

 

a)

while

 

b)

do……while

 

c)

for

 

d)

if

 

14)

有代码片断:

public static void main(String[] args){

    int i=0;

     while(true){

             System.out.print("*");

           i++;

           if(i<3){

             break;

         }

         }

   }

执行的结果为(       (单选)1

 

a)

*

 

b)

**

 

c)

***

 

d)

死循环,报错

 

15)

Java中,如果父类中的某些方法不包含任何逻辑,并且需要由子类重写,应该使用()关键字来声明父类的这些方法。(单选)【3】【抽象方法,需由它的子类实现这个方法】

 

 

 

 

a)

final

 

b)

static

 

c)

abstract

 

d)

void

 

16)

有代码片断

     int x = 9,y=0;

    if(x>0){

              y = 1;

    }

    else if(x>3){

              y = 2;

    }

    System.out.println(y);

   执行以上代码输出的结果是:()(单选)【2

 

a)

0

 

b)

1

 

c)

2

 

d)

编译错误

 

17)

下面关于构造方法的说法正确的是()(多选)【12】

 

a)

构造方法不能被继承

 

b)

构造方法不能被重写

 

c)

构造方法不能被重载

 

d)

构造方法不能声明为private

 

18)

有以下代码片段:

         double  x = 0.2;

int   y = 8;

    System.out.println((int)x*y);

执行结果是(       )。(单选)1

 

 

 

 

a)

0

 

b)

1

 

c)

2

 

d)

编译错误

 

19)

在Java中,下面关于抽象类的描述正确的是()(多选)【24】

 

 

 

 

a)

抽象类可以被实例化

 

b)

如果一个类中有一个方法被声明为抽象的,那么这个类必须是抽象类

 

c)

抽象类的方法都必须是抽象的

 

d)

声明抽象类必须带有关键字abstract

 

 

20)

给定如下java代码程序片断:

       class A{

              public A(){

                     System.out.print(“A”);

              }

       }

 

       class B extends A{

              public B(){

                     System.out.print(“B”);

              }

 

              public static void main(String[] args){

                     B b=new B();

              }

       }

上述程序将()(单选)【2

 

a)

不能通过编译

 

b)

通过编译,输出为AB

 

c)

通过编译,输出为BA

 

d)

通过编译,输出为B

 

21)

public  static  int test(int a,int b){

           int c = a+b;

            a = 8;

           b = 9;

           return c;

 }

public static void main(String[] args){

int  a = 3,b = 4;

    int  c = test(a,b);

    System.out.print(a+"  "+b+"  "+c);

}

以上代码输出结果为(         )(单选)【3】

 

 

 

 

a)

8   9   17

 

b)

8   9   7

 

c)

3   4   7

 

d)

3   4   17

 

22)

在JAVA中,按东南西北中指定组件位置的布局管理器是()(单选) 【3】

 

 

 

 

a)

FlowLayout   【流,循环,流动,流式布局】

 

b)

GridLayout   【格子】

 

c)

BorderLayout   【边框布局】

 

d)

CardLayout

 

23)

当编译和运行下面程序时,哪项描述可以最准确的表达发生了什么事情( )(单选)【2

 

 

public class MyAr{
       public static void main(String argv[]) {
              MyAr m = new MyAr();
              m.amethod();
       }


public void amethod(){
      int i;
      System.out.println(i);
}

}

 

a)

编译通过,并输出0

 

b)

编译错误

 

c)

编译通过,并输出null

 

d)

运行错误

 

24)

给定JAVA代码如下,编译运行后,输出结果是()(单选)【3

 

 

public class Test{

   static int i;

   public int test(){

    i++;

     return i;

  }

public static void main(String args[]){

 Test test=new Test();

  test.test();1

   System.out.println(test.test());2

  }【执行了2test.test

}

 

a)

0

 

b)

1

 

c)

2

 

d)

3

 

25)

给定JAVA代码如下,关于super的用法,以下描述正确的是( )(单选)【4

 

 

class C extends B

{

    public C()

    {

         super();

    }

}

 

a)

用来调用类B中第一个出现的构造方法

 

b)

用来调用类C中定义的super()方法

 

c)

用来调用类B中定义的super()方法

 

d)

用来调用类B中的无参构造方法

 

26)

给定java代码如下,编译运行结果是()(单选)【1

 

 

public class Test{

   public int count(){

     return 1%9;

   }

   public static void main(String[]args){

     System.out.println(count());

   }

}

 

a)

编译错误【静态方法不能调成员方法】

 

b)

运行错误

 

c)

正常运行,输出1

 

d)

正常运行,输出0

 

27)

class  Person{

public int age;

}

class  Test{

public static void main(String[]  args){

     Person p1 =  new Person();0

     p1.age = 10;10

     Person p2 =  new Person();0

     p2.age = 20;20

     test(p1,p2);

     System.out.println(p1.age+"   "+p2.age);

}

public static void test(Person  p1,Person  p2){

     p1 = p2;

     p1.age = 8;

     p2.age = 6;

}

}

结果是(    )(单选)e

 

a)

10    8

 

b)

10    20

 

c)

8     20

 

d)

8     6

 

e)

10    6

 

28)

表达式5<6?4:3执行的结果是(    )(单选)1

 

a)

4

 

b)

3

 

c)

true

 

d)

false

 

29)

以下哪些是算法的特点()(多选)【123】

 

a)

有穷性

 

b)

有效性

 

c)

确定性【如0不能做除数,不然结果是很多的】

 

d)

至少有一个输入,可以有多个输出。

 

30)

Java代码如下:请问编译出来的类文件的文件名分别是什么()(多选)

 

 

public class One{          abd

    public class Three{

}

}

class Two{

}

 

a)

One.class

 

b)

Two.class

 

c)

Three.class

 

d)

One$Three.class

 

e)

One$Two.class

 

31)

下面关于JAVA特点描述正确的是()(多选)【124】

 

a)

跨平台

 

b)

面向对象

 

c)

是编译型语言【解释性】

 

d)

垃圾回收

 

32)

public class A{

    public static void main(String[]  args){

              int a = 2,b = 4;

              if(a > 2 && (++b)>4) {

                     b++;

              }

           System.out.println(b);

           }

}的结果是()(单选)【2】

 

 

 

 

a)

5

 

b)

4

 

c)

6

 

d)

无法通过编译

 

 

33)

假如函数的定义形式为:

         public static void fun(int a,char b){……}

那么下面哪些调用是正确的(       (多选)34

 

a)

fun(5,”A”);

 

b)

fun(5,’65’);【只能放一个字符】

 

c)

fun(5,'A');      

 

d)

fun(‘5’,65);

 

34)

下面关于switch语句说法不正确的是()(多选)【234】

 

a)

case后面只能跟常量

 

b)

case后面可以跟变量

 

c)

每个case后面必须有break;语句

 

d)

default必须放到最后。

 

35)

下面表示先执行后判断(do…while)类型的流程图正确的是()(单选)【3】

 

a)

 

b)

 

c)

 

d)

 

36)

在java中,已定义两个接口B和C,要定义一个实现这两个接口的类,以下语句正确的是()(单选) 【3】

 

 

 

 

a)

interface A extends B,C

 

b)

interface A implements B,C【只能类实现借口】

 

c)

class A implements B,C

 

d)

class A implements B,implements C

 

37)

给定JAVA代码,如下,编译运行后,结果是( ).(单选) 【2】

public class Test

{

   static String s;【null指针】

   public static void main(String args[])

   {

        boolean c=s.equals("");

        System.out.print(c);

   }

}

 

 

 

 

a)

编译错误

 

b)

运行错误

 

c)

正常运行,输出true

 

d)

正常运行,输出false

 

38)

考虑下面的代码

public   class  ConstOver{

       public  ConstOver(int  x,int  y,int  z){}

}

说出哪些重载了ConstOver构造器?(多选)【13

 

 

【找不是构造方法,bde】【构造方法无返回类型】

 

a)

ConstOver(){}

 

b)

protected  int  ConstOver(){}

 

c)

private  ConstOver(int  z,int  y,byte  z){}

 

d)

public  void  ConstOver(byte  x,byte  y,byte  z){}

 

e)

public  Object  ConstOver(int  x,int  y,int  z){}

 

 

39)

interface A{

    int  x = 8;【接口里public static final

}【基本类型(常量)不能重新赋值】

class B  implements  A{

   public static void main(String[]  args){

        B  b = new  B();

        b.x  = 10;【继承过来的x是常量】

        System.out.println(b.x);

   }

}

以上代码输出结果是()(单选)1

 

a)

编译错误

 

b)

运行错误

 

c)

8

 

d)

10

 

40)

Object o1 = new Object();     // 1

Object o2 = new Object();     // 2

 

o1 = o2;                    //3

o2 = new Object();          //4

o1 = null;                   5

 

以上哪些代码执行了垃圾回收(   )(单选)2

 

a)

1   3

 

b)

3   5

 

c)

3   4

 

d)

4   5

 

41)

class  Person{

   public  int  x = 10;

}

class  Test{

public static void main(String[] args)

{

       final  Person p = new Person();

p.x= 8;

System.out.println(p.x);

   }

}

执行结果是()(单选)3

 

 

 

 

a)

编译错误

 

b)

运行错误

 

c)

8

 

d)

10

 

42)

java注释分为:(多选)【123】

 

 

 

 

a)

单行注释

 

b)

多行注释

 

c)

文档注释

 

d)

类注释

 

43)

生成doc帮助文档,需要使用什么命令()。(单选)【4

 

 

 

 

a)

java

 

b)

jar

 

c)

javac

 

d)

javadoc

 

44)

下面关于数组的说法正确的是()(多选)【234】

 

a)

是一种基本数据类型【引用类型】

 

b)

数组只能存放同一数据类型的数据。

 

c)

数组的大小一旦固定不能改变。

 

d)

数组分配的内存空间是连续的。

 

45)

class  A{

public static void main(String[] args)

{

       int a[]={2, 4, 6, 8, 10} ;

       int y=1 ;

       int x;

      for(x = 0;  x < 3;  x++) {

              y=y+a[x+1];

       }

      System.out.println(y);

   }

}的结果是()(单选)【3】

 

a)

17

 

b)

18

 

c)

19

 

d)

20

 

46)

class A{

   public int a = 9;

   public void ma(){}

}

class B extends  A{

  public int b = 8;

  public void mb(){}

}

class  C{

public static void main(String[] args){

       A  atest = new B();【多态】

   //here

   }

}

下面哪些代码放在"here"处不会报错(  )(多选)13

 

a)

atest.a = 10;【考多态,只能调父类的】

 

b)

atest.b = 10;

 

c)

atest.ma();

 

d)

atest.mb();

 

47)

下列变量命名合法的有(   )(多选)23

 

a)

public

 

b)

var_123

 

c)

 $test

 

d)

123Var

 

48)

class Super{  

     protected  float getNum(){return 3.0f;}

   }

 

  public class Sub extends Super{

       //Here

  }

下面哪些代码可放在Here(    )(多选)c】【需斟酌】

 

a)

public void GetNum(){return 4.0f;}【不可,返回的是float】【去掉花括号里可】

 

b)

public void getNum(String x){return 4.0f;}【同上】

 

c)

public float getNum(){return 4.0f;}

 

d)

private float getNum(){return 4.0f;}【重写修饰符不能小于父类】

 

e)

public void getNum(){return 4.0f;}【不可,返回的是float

 

49)

public class Test{

       public int x = 10;

       public void move(int x){

              System.out.println(x);

              System.out.println(this.x);【打印成员变量】

       }

 

       public static void main(String[] args){

              Test t = new Test();

              t.move(5);

       }

以上代码执行结果为()(单选)【1

 

a)

5    10

 

b)

10   10

 

c)

10   5

 

d)

5    5

 

50)

1、 byte  b = 129;【超了】

2、 byte  b1 = 10;

byte  b2 = 20;

byte  b3 = b1+b2;【不可】

3、 char  c = 90;【可,整型可给char

4、 float  f = 8.0;

以上表达式哪些有编译错误()(单选)4

 

a)

1234

 

b)

234

 

c)

134

 

d)

124