《最新Java软件工程师企业测评测试题.doc》由会员分享,可在线阅读,更多相关《最新Java软件工程师企业测评测试题.doc(60页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateJava软件工程师企业测评测试题Java软件工程师企业测评测试题Java软件工程师企业测评测试题一、选择题:(每题2分)1.名为HelloWorld.java的Java应用程序如下: (B)public class HelloWorld public static void main(String args) System.out.println(Hello Worl
2、d!); 将这个程序放在C:Test下,然后在命令行窗口中,进入到C:Test路径执行如下指令:javac helloworld.java将得到什么结果?A. 编译出错。B. 编译成功,生成名为HelloWorld.class的文件。C. 编译成功,生成名为helloworld.class的文件。D. 找不到名为helloworld.java的文件。 2.下面的程序名为Student.java:Bpublic class Studentprivate String name;public Student(String s_name) /1name = s_name; /2public stat
3、ic void main(String args)Student s = new Student(); /3使用如下指令编译:javac Student.java。将会得到什么结果?A. 将会顺利通过编译,并将产生一个Student.class的类文件。B. 编译时在/3处出错。C. 编译时在/2处出错。D. 编译时在/1处出错。3.关于下面的类描述中正确的是:Cclass Test / 1void test(int i) / 2System.out.println(I am an int.); / 3 / 4void test(String s) / 5System.out.println(
4、I am a string.); / 6 / 7/ 8public static void main(String args) / 9Test t=new Test(); / 10char ch=y; / 11t.test(ch); / 12 / 13 / 14A. 编译出错B. 编译通过,运行出错C. 编译通过,运行时输出“I am an int” ?D. 编译通过,运行时输出“I am a string”4.关于下述程序:Cpublic class Test3public static void main(String agrs)byte b = 2,e =3; /1byte f = b+
5、e; /2System.out.println(f); /3描述正确的是?A. 编译通过,运行时打印出5。B. 编译通过,运行时打印出23。C. 编译不通过,在/2处有错误,因为此处f必须是一个int类型的变量。 ?D. 编译不通过,在/1处有错误,不能这样定义变量5.关于下述程序:public class Dividepublic static void main(String args)System.out.println(17.0/0 = +17.0/3); /1System.out.println(17/0 = +17/3); /2描述正确的是? 编译通过,运行17.0/0=5.666
6、66666666666? 17/0=5A. 编译出错B. 编译通过,运行时/1、/2处均出现异常C. 编译通过,运行时/1处得到一个无穷大值,/2处将出现异常D. 编译通过,运行时/1处出现异常,/2处将得到一个无穷大值6.关于下述程序:Dpublic class Test4public static void main(String agrs)double x = 1.234; /1double y = 2; /2System.out.println(+x+y); /3System.out.println(x+y+); /4描述正确的是?A. 编译出错。B. 编译通过,执行的时候在/2处报错
7、。C. 编译通过,执行时在/3处打印出3.234,在/4处打印出3.234。D. 编译通过,执行时在/3处打印出1.2342.0,在/4处打印出3.234。8.下述程序:Cpublic class Test9static int i = 1;statici+;public Test9()i+;public static void main(String args)Test9 t1 = new Test9();System.out.println(t1.i);/1 2Test9 t2 = new Test9();System.out.println(t2.i);/2编译运行后在/1和/2处分别打
8、印出什么值?A.2和2B.3和3C.3和4D.4和39.关于下述三个接口:Apublic interface IApublic void methodA();public interface IBpublic void methodB();public interface IC extends IA,IBpublic void methodA();正确的是?A. 接口IC不能通过编译,因为它继承了两个接口。B. 接口IC不能通过编译,因为它定义了一个和IA中一样的方法methodA()。C. 接口IC不能通过编译,因为它继承了两个接口,并且还定义了一个和IA一样的methodA()方法。D.
9、接口IC能够顺利通过编译。10.下述语句执行结果为:Aint arr = new int10;A.arr0 是0B.arr9 是0 C.arr10是0D.arr0 是null11.关于break和continue语句,下面哪些说法是错误的?ADA. break只能用于循环语句中。B. continue只能用于循环语句中。C. 在循环语句中,break语句将终止循环;而continue是略过当前循环中剩余的语句进入下一次循环。D. 在循环语句中,continue语句将终止循环;而break是略过当前循环中剩余的语句进入下一次循环。12.下面哪些标识符是合法的?ABDA.IAMAClassB.$b
10、yteC.constD._year13.关于垃圾收集的哪些叙述是对的?BA. 程序开发者必须自己创建一个线程进行内存释放的工作。B. 垃圾收集将检查并释放不再使用的内存。C. 垃圾收集允许程序开发者明确指定并立即释放该内存。D. 垃圾收集能够在期望的时间释放被java对象使用的内存。14.下面的程序的输出结果是:( )Bclass SuperClass static System.out.println(-SuperClass-); SuperClass() System.out.println(SuperClass(); public static void main(String args
11、) SubClass sc = new SubClass(); class SubClass extends SuperClass static System.out.println(-SubClass-); SubClass() System.out.println(SubClass(); A. SuperClass/SubClass/SuperClass()/SubClass()/B. SuperClass/ SuperClass()/SubClass /SubClass()/C. SubClass / SuperClass / SubClass()/SuperClass()/D. Sub
12、Class/ SubClass()/SuperClass / SuperClass()/15.下面程序的运行结果是:( A )class SuperClass public void f() System.out.print(SuperClass.f()/); class SubClass extends SuperClass public void f() System.out.print(SubClass.f()/); class ThirdClass public void g(SuperClass arg) System.out.print(g(SuperClass)/); arg.f
13、(); public void g(SubClass arg) System.out.print(g(SubClass)/); arg.f(); public static void main(String args) ThirdClass tc = new ThirdClass(); SuperClass sc = new SubClass(); tc.g(sc); A.g(SubClass)/SubClass.f()/B.g(SuperClass)/SuperClass.f()/C.g(SuperClass)/SubClass.f()/D.g(SubClass)/SuperClass.f(
14、)/16.取出字符串String target = IbmSunJavaBeaWeblogicOracle.中的子串“Java”的语句是:(B )A.target.substring(5,10);B.target.substring(6,10); javaC.target.substring(5,9);D.target.substring(6,9); jav17.下列描述正确的是:( B )A. hashCode返回是对象在内存唯一的标识,对象不同,hashCode返回值一定不同。B. hashCode方法可以重写,但重写的逻辑要和equals保持一致性。C. 语句System.out.pri
15、ntln(java=java);打印出的结果为“false”。D. HashSet容器在存放某一类的对象时,改变该类的hashCode方法可能会影响到HashSet容器的效率18.属于Collection容器的方法是:( AC)A.iteratorB.hasNextElementC.toArrayD.next19.下列三条输出语句输出的结果为:( C )System.out.print(Math.floor(156.1)+/);System.out.print(Math.ceil(-166.3)+/);System.out.print(Math.round(-123.5)+/);A.156.0
16、/-167.0/-124/B.157.0/-167.0/-123/C.157.0/-166.0/-124/D.156.0/-166.0/-123/20.下面的程序会有编译错误,更正的方法为:( ABC )class OuterClass public void f() String s1 = inner; class InnerClass public void g() System.out.println(s1); A.将变量s1声明为staticB.将变量s1声明为publicC.将变量s1声明为finalD.将内部类InnerClass声明为static21.已有接口定义:Bpackag
17、e test;public interface Role public void action() throws java.io.IOException;下面的类定义不会有编译错误的是:A.package test;public class A implements Role public void action() throws java.io.FileNotFoundException B.package test;public class B implements Role public void action() throws java.io.IOException C.package
18、 test;public class C implements Role public void action() ;D.package test;public class D implements Role public void action() throws Exception 22.下面的程序输出的结果为:public class Test public static void main(String args) StringBuffer buffer = new StringBuffer(); int value = 18; do int temp = value & 0x07; b
19、uffer.append(temp); while(value=3)!=0); System.out.println(buffer.reverse(); A.24B.23C.25D.22 ?二、简答题:(每题4分)1. 简述单例模式的思路,并且写出一种实现方案: 2. 接口,抽象类,具体类如何搭配使用 3. 简述java的异常处理机制 4.写出private、public、protected以及Default各自的访问范围:5.用简短的语言解释下列词汇a) JVMb) 垃圾回收机制c) 多态d) 动态绑定e) 关键字synchronized(同步代码块)三、编程题(每题8分)1.写一个类,当该
20、类的实例创建时即启动一个线程,按照指定格式每隔5秒循环打印出当前的时间(提示:使用Runnable接口或内部类创建线程。(结合run接口和thread) public class ThreatDemo implements Runnablepublic ThreatDemo()Thread t=new Thread(this);t.start();public void run() while (true) Date date=new Date();SimpleDateFormat s=new SimpleDateFormat(yyyy-MM-dd HH:mm:ss); try Thread.
21、sleep(5000); catch(InterruptedException e) e.printStackTrace(); System.out.println(s.format(date); public static void main(String args) ThreatDemo fg = new ThreatDemo();System.out.println(打印当前时间); 2.写一个程序统计输入字符串中以“,”分隔的各种单词出现的次数。例如:输入的字符串为“java,java,j2ee,ibm,j2ee,ibm,j2me,java”,则该程序的输出结果应该为:java3个;j
22、2ee2个;ibm2个;j2me1个。 public static void main(String args) String str = java,java,j2ee,ibm,j2ee,ibm,j2me,java;String s = str.split(,);int a = new ints.length;for(int i = 0;is.length;i+) String temp = new String(String) si);for(int j = 0;js.length;j+)if(temp.equals(sj)ai+;Set set = new HashSet();for(in
23、t i = 0;is.length;i+) set.add(si+ai);Iterator iter = set.iterator();while(iter.hasNext() System.out.println(iter.next()+个); 3.已知在文件路径“c:temptarget.bmp”,写出Java程序将该文件同名拷贝到路径“c:bak”下。注意:由于文件较大,应考虑到程序的效率问题。 public class CopyDemo public static void main(String args) throws Exception File f1=new File(d:+F
24、ile.separator+demo.txt);File f2=new File(c:+File.separator+demo.txt);InputStream input=null;input=new FileInputStream(f1); OutputStream out=null; out=new FileOutputStream(f2); if(input!=null&out!=null) int temp=0; while(temp=input.read()!=-1) 1.f2必须有所考文件名吗 是的2.c盘不需要提前创建所拷贝的文件 是的3.d盘中所要考文件输入内容能否被写入c盘
25、呢,可以 4.f1中的文件名必须与f2中的文件名一致吗 可以不一样。 out.write(temp); System.out.println(拷贝完成!); else System.out.println(拷贝失败!); input.close(); out.close(); 4.写出一段程序,从备选字符串“red”、“green”、“blue”、“black”、“white”中随机选出3个不同的字符串,并打印到控制台。 public class Color public static void main(String args) String str=red,green,blue,black,white;Random r=new Random();String s=str.split(,);Set set=new HashSet();for(int i=0;is.length;i+)set.add(r.nextInt(5);if(set.size()=3)break;Iterator i=set.iterator();while(i.hasNext()/System.out.println(i.next();System.out.println(s(Integer)i.next(); -