1. 下列不可作为java语言标识符的是(D)
A) a1                  B) $1                    C) _1                    D) 11
2. 有一段java 应用程序,它的主类名是a1,那么保存它的源文件名可以是(A)
A) a1.java            B) a1.class            C) a1                    D) 都对
3. 整型数据类型中,需要内存空间最少的是(D)
A) short                B) long                C) int                    D) byte
4. Java 类可以作为(C)
A) 类型定义机制
B) 数据封装机制
C) 类型定义机制和数据封装机制
D) 上述都不对
5. 在创建对象时必须(C)
A) 先声明对象,然后才能使用对象
B) 先声明对象,为对象分配内存空间,然后才能使用对象
C) 先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象
D) 上述说法都对
6. 在调用方法时,若要使方法改变实参的值,可以(B)
A) 用基本数据类型作为参数
B) 用对象作为参数
C) A和B都对
D) A和B都不对
7.  Java中(C)
A) 一个子类可以有多个父类,一个父类也可以有多个子类
B) 一个子类可以有多个父类,但一个父类只可以有一个子类
C) 一个子类可以有一个父类,但一个父类可以有多个子类
D) 上述说法都不对
8. Java语言具有许多优点和特点,哪个反映了Java程序并行机制的特点?(B)如何阅读java源码
A) 安全性            B) 多线性            C) 跨平台            D) 可移植
9. Character流与Byte流的区别是(C)
A) 每次读入的字节数不同                      B) 前者带有缓冲,后者没有
C) 前者是字符读写,后者是字节读写  D) 二者没有区别,可以互换使用
10. 以下声明合法的是(      D    )
A、default  String  s;                    B、public  final  static  native  int  w( )
C、abstract  double  d;                  D、abstract  final  double  hyperbolicCosine( )
11. 关于以下application的说明,正确的是(    C    )
1.  class  StaticStuff
2. {
3.                  static  int  x=10;
4.                  static  { x+=5;}
5.                  public  static  void  main(String  args[ ])
6.                  {
7.                      System.out.println(“x=” + x);
8.                  }
9.                  static  { x/=3;}
10.  }
A、4行与9行不能通过编译,因为缺少方法名和返回类型 
B、9行不能通过编译,因为只能有一个静态初始化器
C、编译通过,执行结果为:x=5
D、编译通过,执行结果为:x=3
12. 关于以下程序代码的说明正确的是(  D  )
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
13. 以下选项中循环结构合法的是(    C    )
A、while (int  i<7)
{    i++;
    System.out.println(“i is “+i);
}
B、 int  j=3;
while(j)
  {  System.out.println(“ j  is “+j);
}
C、int  j=0;
for(int  k=0; j + k !=10; j++,k++)
{    System.out.println(“ j  is “+ j + “k  is”+ k);
}
D、  int  j=0;
do{
              System.out.println( “j  is “+j++);
              if (j = = 3) {continue  loop;}
              }while  (j<10);
14.    类Test1定义如下:
1.public  class  Test1{
2.        public  float  aMethod(float  a,float  b){  }
3.       
4.}     
将以下哪种方法插入行3是不合法的。(    B    )
A、public  float  aMethod(float  a, float  b,float  c){  }
B、public  float  aMethod(float  c,float d){  }
C、public  int  aMethod(int  a, int b){  }
D、private float aMethod(int a,int b,int c){  }
15.    类Test1、Test2定义如下:
1.  public  class  Test1
2.{ public  float  aMethod(float a,float b) throws
3.  IOException {      }
4. }
5. public  class  Test2  extends  Test1{
6.
7.}
      将以下哪种方法插入行6是不合法的。(  A  )
A、float  aMethod(float  a,float  b){ }
B、public  int  aMethod(int a,int b)throws  Exception{ }
C、public  float  aMethod(float  p,float q){ }
D、public  int  aMethod(int a,int  b)throws IOException{ }
16.    关于以下程序段,正确的说法是(  C  )
1.  String  s1=”abc”+”def”;
2.  String  s2=new  String(s1);
3.  if(s1= =s2)
4.    System.out.println(“= = succeeded”);
5.  if (s1.equals(s2))
6.    System.out.println(“.equals()  succeeded”);