关闭

笔试题(2)【Java 】

标签: java
305人阅读 评论(0) 收藏 举报
分类:

新鲜出炉的……好吧……只是我下午刚刚笔试了一个公司,朋友把试卷拍下来了,我就来炒一下冷饭……

一、单选
1、欲构造ArrayList类的一个实例,此类继承了List接口,下列那个方法是正确的?
A.ArrayList myList=new Obiect();
B.List myList=new ArrayList();
C.ArrayList myList=new List ();
D.List myList=new List();
【B】

2、paint()方法使用哪种类型的参数?
A Graphics
B Graphics2D
C String
D Color
【A】

3、指出正确的表达式
A byte=128;
B Boolean=null;
C long l=0xfffL;
D double=0.9239d;
【C】

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
【B
解析:大家可能以为Java中String和数组都是对象所以肯定是对象引用,然后就会选D,其实这是个很大的误区:因为在java里没有引用传递,只有值传递
这个值指的是实参的地址的拷贝,得到这个拷贝地址后,你可以通过它修改这个地址的内容(引用不变),因为此时这个内容的地址和原地址是同一地址,
但是你不能改变这个地址本身使其重新引用其它的对象,也就是值传递——来自敏敏Alexia的新浪博客
说明:不管是对象、基本类型还是对象数组、基本类型数组,在函数中都不能改变其实际地址但能改变其中的内容。

5、运行下面程序,会产生什么结果

public class X extends Thread implements Runable{             
    public void run(){ 
    System.out.println(〃this is run()〃); 
    } 

    public static void main(String args[]) 
    } 
    Thread t=new Thread(new X()); 
    t.start(); 
    } 
}

A.第一行会产生编译错误
B.第六行会产生编译错误
C.第六行会产生运行错误
D.程序会运行和启动
【A
解析:将Runable改为Runnable】

7、给出下面代码

public class Person{ 
  static int arr[] = new int[10];
  public static void main(String a[]) 
  { 
   System.out.println(arr[1]); 
  } 
} 

下面哪个描述是正确的( )
A. 编译时将产生错误;
B. 编译时正确,运行时将产生错误;
C. 输出零;
D. 输出空。
【C
Java中的数据类型必须实例化后才能使用,但是有种情况例外,就是该成员是用static声明的。输出为0。如果没有用 static声明,也没有进行实例化,则不能使用,编译时会产生错误。】

8、哪个关键字可以对对象加互斥锁?
A.transient
B.serialize
C.synchronized
D.static
【C】

9、下列语句关于内存回收的说法是正确的?
A.程序员必须创建一个线程来释放内存;
B.内存回收程序负责释放无用内存
C.内存回收程序允许程序员直接释放内存
D.内存回收程序可以在指定的时间释放内存对象
【B】

10、下列代码哪行会出错:
①public void modify( ){
②int i,j,k;
⑧i=100;
④while(i>0){
⑤j=i*2;
⑥System.out.println(“The value of j is”+j);
⑦k=k+l;
⑧}
⑨}
A.line 4
B.line 6
C.line 7
D.line 8
【C
k没有赋予值】

二、多项选择
1、执行下列代码后,哪个结论是正确的?
String[] s=new String[10]
A.s[10]为””
B.s[9]为null
C.s[0]为未定义
D.s.length为10
【BC
系统给引用类型赋的初值都是NULL而String是一个引用类型】

2、下面的表达式哪个是正确的?
A. String s=”你好”;int i=3; s+=i
B. String s=”你好”;int i=3; if(i==s){ s+=i}
C. String s=”你好”;int i=3; s=i+s
D. String s=”你好”;int i=3; s=i+;
E.String s=null; int i=(s!=null)&&(s.length>0)?s.length():0;
【AC】

3、选出合理的标识符
A. _sys1_lll;
B. 2mail;
C. $change;
D. class
【AC】

4、那个布局管理器使用的是组件的最佳尺寸
A. FlowLayout
B. BorderLayout
C. GridLayout
D. CardLayout
E. GridBagLayout
【AE】

5、下列那个方法可用于创建一个可运行的类?
A public class X implements Runable{ public void run(){ ……} }
B public class X implements Thread{ public void run(){ ……} }
C public class X implements Thread{ public int run(){ ……} }
D public class X implements Runable{ protected void run(){ ……} }
E public class X implements Thread{ public void run(){ ……} }
【A】

6、下面哪个方法可以在任何时候被任何线程调用?
A notify()
B wait()
C notifyAll()
D sleep()
E yield()
F synchronized(this)
【DEF】

7、构造BufferedInputStream的合适参数是哪个?
A. BufferedInputStream
B. BufferedOutputStream
C. FileInputStream
D. FileOutputStream
E. File
【CD】

8、下列说法正确的是
A. java.lang.Clonable是类
B. java.lang.Runnable是接口
C. Double对象在java.lang包中
D. Double a=1.0是正确的java语句
【BCD】

9、指出正确的表达式
A. double a=1.0;
B. Double a=new Double(1.0);
C. byte a = 340;
D. Byte a = 120;
【AB】

10、定义一个类名为”MyClass.java“的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明为:
A. private class MyClass extends Object
B. class MyClass extends Object
C. public class MyClass
D. public class MyClass extends Object
【CD】

11、指出下列哪个方法与方法public void add(int a){}为合理的重载方法。()
A. public int add(int a)
B. public void add(long a)
C. public void add(int a,int b)
D. public void add(float a)
【BCD】

12、如果下列方法能够正常运行,在控制台上将显示什么

public void example(){   
    try{     
        unsafe();     
        System.out.println("Test1");         
    }
    catch(SafeException e)     {
     System.out.println("Test 2");  
     }    
     finally{ 
         System.out.println("Test 3"); 
    }    
    System.out.println("Test 4");  
}

A. Test 1
B. Test 2
C. Test 3
D. Test 4
【ACD】

13、下列哪些情况可以终止当前线程的运行?
A 抛出一个例外时。
B 当该线程调用sleep()方法时。
C 当创建一个新线程时。
D 当一个优先级高的线程进入就绪状态时
【ABD】

三、填空题
1、执行下列代码后的x,a,b,c的结果是什么?
int x, a=2,b=3,c=4;
x=++a+b+++c++;
答:a=3,b=4,c=5,x=10

2、你所使用过的进行单元测试的工具是?
版本管理工具是?
最熟练的Java IDE是?
用过哪些应用服务器?
比如Java单元测试工具JTEST;ALM(QC);NetBeans;Tomcat

以上,有错请提出。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:5070次
    • 积分:131
    • 等级:
    • 排名:千里之外
    • 原创:8篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档