JAVA基础部分-选择题
(单选)1.Java语言中,字符串Java程序员在内存中所占用的字节数是:()。
A.10
B.7
C.13
D.14
2. (单选)下列表达式中,可以得到精确结果的是()。
A.double d1 = 3.0 - 2.6;
B.double d4 = 2.5 * 1.5;
C.double d2 = 30/300;
D.double d3 = 1/2 + 0.5;
3.(多选)所谓水仙花数是一个整数等于各位数字立方的和,例如:153 = 111+555+333,下面的程序用于输出2~1000内的水仙花数:
for (int n = 2; n <= 1000; n++) {
    空白处 
    if (s == n) {
        System.out.println(n);
    }
下列选项中,空白处可以填入的代码是:()。 A.int s = 0, n1 = n; while (n1 > 0) { int t = n1 % 10; s += t * t * t; n1 /= 10; }
B.int s = 0, n1 = n; while (n1 > 0) { int t = n1 / 10;s+= t * t * t; n1 %= 10; }
C.int s = 0; for(int n1 = n; n1>0; n1 /= 10) { int t = n1%10; s += t * t * t; }
D.int s = 0; for(int n1 = n; n1>0; n1 %= 10) { int t = n1 / 10; s += t * t * t; }
4.下列语句序列执行后,k 的值是 ( )
  int  x=6, y=10, k=5;
  switch( x % y )
  {
      case 0:  k=x*y;
      case 6:  k=x/y;
      case 12:  k=x-y;
      default:  k=x*y-x;
  }
A.60
B.5
C.0
D.54
5. a = 8,则表达式 a >>> 2 的值是: (无符号右移动)( )
A.1
B.2
C.3
D.4
6.下列程序
class Test{
    public static void main(String[] args){
        doSomething(1);
        doSomething(1,2);
    }
    //insert code here
}
在程序中插入下列哪一行代码可以编译通过: A static void doSomething(int[] args){}
B static void args){}
C static coid args,int x){}
D static void doSomething(int args){}
简答题
java的基本框架
1.现有一个长度为20的数组,数组内的数字0-9之间的任意数字,统计出数组中每个元素出现的次数?
现有一个字符串"fdasafdasfdasa",现统计出子串"as"出现的次数.
2.请描述冒泡排序算法的基本思想。
3.一个数组中只有01两种数字,进行排序,0全部在前,1全部在后
OOP部分
1.(单选)关于下列代码说法正确的是:
public class A {
    private int counter = 0;
    public static int getInstanceCount() {
        return counter;
    }
    public A() {
        counter++;
    }
    public static void main(String[] args) {
        A a1 = new A();
        A a2 = new A();
        A a3 = new A();
        System.out.InstanceCount());
    }
}
A.该类编译失败
B.输出:1
C.输出:3
D.输出:0
2.试图编译和运行以下代码,将获得什么结果(JAVA)
class Base {
    int i = 99;
    public void amethod() {
        System.out.println("Base.amethod()");
    }
    Base() {
        amethod();
    }
}
public class RType extends Base {
    int i = -1;
    public static void main(String argv[]){
        Base b = new RType();
        System.out.print(b.i+"\t");
        b.amethod();
        RType r = (RType)b;
        System.out.print(r.i+"\t");
    }
    public void amethod(){
        System.out.print("RType.amethod()"+"\t");
    }
}
A RType.amethod -1 RType.amethod -1
B RType.amethod 99 RType.amethod -1
C 99 RType.amethod 99
D 编译时错误(Compile time error)
3、下边程序运行的结果是? ( )
class Base {
Base() { System.out.print("Base"); }
}
public class Alpha extends Base {
  public static void main( String[] args ) {
        new Alpha();
        new Base();
  }
}
A.Base
B.BaseBase
C.程序编译失败.
D.程序运行但没有任何输出
4.指出下列程序运行的结果
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 ");
        System.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
OOP部分-简答题
1.抽象类和接口的区别
2.静态变量和实例变量的区别?
3.String s = new String("xyz");创建了几个String Object
4.字符串连接时为什么推荐使用StringBuffer而不是直接用String+String的方式,请简述原因?
5.final, finally, finalize的区别。
6.线程
继承Thread 如果某个类继承了Thread,那么此时这个类就是一个线程类,如果要创建此类的线程对象 A extends Thread A a = new A(); a.start()

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