社招JAVA专业题
一、JAVA专业题()
1. xfloat型变量,ydouble型变量,aint型变量,blong型变量, cchar型变量,则表达式x+y*a/x+b/y+c的值为(  )类型。
    Aint        Blong        Cdouble        Dchar
2. 欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?(  )
    AArrayList myList=new Object();            BList myList=new ArrayList();
    CArrayList myList=new List();            DList myList=new List();
3. Java中(    )
    A 一个子类可以有多个父类,一个父类也可以有多个子类
    B、一个子类可以有多个父类,但一个父类只可以有一个子类
    C、一个子类可以有一个父类,但一个父类可以有多个子类
    D、上述说法都不对
4. 以下关于继承的叙述正确的是(    )。
    A、在Java中类只允许单一继承
    B、在Java中一个类只能实现一个接口
    C、在Java中一个类不能同时继承一个类和实现一个接口
    D、在Java中接口只允许单一继承
5. 以下关于构造函数的描述错误的是(  )。
A、构造函数的返回类型只能是void型。
B、构造函数是类的一种特殊函数,它的方法名必须与类名相同。
C、构造函数的主要作用是完成对类的对象的初始化工作。
D、一般在创建新对象时,系统会自动调用构造函数。
6. 声明成员变量时,如果不使用任何访问控制符(public, protected, private),则以下哪种类型的类不能对该成员进行直接访问 (  )
A、同一类  B、同一包中的子类        C、同一包中的非子类  D、不同包中的子类
7. 有以下方法的定义,请选择该方法的返回类型(    )。
ReturnType  method(byte x, double y) {
    return  (short)x/y*2;
}
A、byte                B、short              C、int                  D、double
8. 关于以下程序代码的说明正确的是(  )
1.class  HasStatic{
2.    private  static  int  x=100;
3.    public  static  void  main(String  args[  ]){
4.        HasStatic  hs1=new  HasStatic(  );
5.        hs1.x++;
6.        HasStatic  hs2=new  HasStatic(  );
7.        hs2.x++;
8.        hs1=new  HasStatic( );
9.        hs1.x++;
10.      HasStatic.x- -;
11.      System.out.println(“x=”+x);
12.    }
13. }
A、 5行不能通过编译,因为引用了私有静态变量
B、 10行不能通过编译,因为x是私有静态变量
C、 程序通过编译,输出结果为:x=103
D、 程序通过编译,输出结果为:x=102
9. Test1Test2定义如下:
1public  class  Test1
2{
3.      public  float  aMethodfloat afloat b throws
4    IOException {      }
5 }
6public  class  Test2  extends  Test1{
7
8}
将以下哪种方法插入行7是不合法的。(   )
    Afloat  aMethodfloat  afloat  b{ }
    Bpublic  int  aMethodint aint bthrows  Exception{ }
    Cpublic  float  aMethodfloat  pfloat q{ }
    float型Dpublic  int  aMethodint aint  bthrows IOException{ }
10. 阅读以下代码:
import java.io.*;
import java.util.*;
public class foo{
    public static void main (String[] args){
        String s;//String s=null;
        System.out.println("s=" + s);
    }
}
输出结果应该是:(  )
    A、代码得到编译,并输出“s=
    B、代码得到编译,并输出“s=null
    C、由于String s没有初始化,代码不能编译通过
    D、代码得到编译,但捕获到 NullPointException异常
11. 编译运行以下程序后,关于输出结果的说明正确的是 (  )
public  class  Conditional{
    public  static  void  main(String  args[ ]){
          int x=4;
          System.out.println(“value  is  “+ ((x>4) ? 99.9:9));
        }
}
    A、输出结果为:value  is  99.9            B、输出结果为:value  is  9
    C、输出结果为:value  is  9.0             D、编译错误
12. 有如下程序段:
int total = 0;
for ( int i = 0; i < 4; i++ ){
  if ( i == 1)
continue;
  if ( i == 2)
break;                         
  total += i;
}
    则执行完该程序段后total的值为:(   )。
    A0         B1          C3        D6
13. 执行完以下代码int [ ]  x = new int[10];后,以下哪项说明是正确的( A )
A、x[9]为0          B、x[9]未定义      C、x[10]为0      D、x[0]为空
14. 以下程序的运行结果是:(    )
public class Increment{
    public static void main(String args[]){
int c;
c = 2;
System.out.println(c);
System.out.println(c++);
System.out.println(c);
}
}
A、2 2 2          B、2 3 3          C、2 2 3             D、3 4 4
15. 下面哪一个循环会导致死循环?(  )
A、for (int k = 0; k < 0; k++)      B、for (int k = 10; k > 0; k--)
C、for (int k = 0; k < 10; k--)      D、for (int k = 0; k > 0; k++)
16. 指出下列程序运行的结果 (  )
public class Example{
    String str=new String("good");
    char[] ch = {'a','b','c'};
    public static void main(String args[]){
        Example ex=new Example();
        ex.change(ex.str,ex.ch);
        System.out.print(ex.str+" and ");
        Sytem.out.print(ex.ch);
    }
    public void change(String str,char ch[]){
        str="test ok";
        ch[0]='g';
    }
}
A、 good and abc
B、 good and gbc
C、 test ok and abc
D、 test ok and gbc
17. 给出下面代码段, 哪行将引起一个编译时错误?(  )
1public class Test {
2int n = 0;
3int m = 0;
4public Test(int a) { m=a; }
5public static void main(String arg[]) {
6  Test t1,t2;
7  int j,k;
8  j=3; k=5;
9 t1=new Test();
10 t2=new Test(k);
11}
12}
A、 行1                B、 行4              C、行6              D、行9
18. 下面程序中类ClassDemo中定义了一个静态变量sum,分析程序段的输出结果。(  )
class ClassDemo {
  public static int sum=1;
  public ClassDemo() {
      sum = sum + 5;
  }
}
public class ClassDemoTest{
  public static void main(String args[]) {
      ClassDemo demo1=new ClassDemo();
      ClassDemo demo2=new ClassDemo();
      System.out.println(demo1.sum);
  }
}
A 0                  B 6              C11                 D2

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。