




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中关村IT企业Java笔试题本套题目出自中关村知名软件公司笔试考试题以及SCJP认证考题一, 选择题1. 下列数组初始化正确的是:CA int5 a= 1,2,3,4,5;B int22 a = 1,2,3,4;C int a = 2,3,4,5,new int3;D int a = new int5;2. 下面的程序名为Student.java:B构造器重载,可以多样化的创建对象, 构造器是用来创建对象的public class Studentprivate String name;public Student(String s_name) /1name = s_name; /2public static void main(String args)Student s = new Student(); /3使用如下指令编译:javac Student.java将会得到什么结果?A.将会顺利通过编译,并将产生一个Student.class的类文件。B.编译时在/3处出错。C.编译时在/2处出错。D.编译时在/1处出错。3. 关于下述程序:C运行时才会报错public class Dividepublic static void main(String args)System.out.println(17.0/0 = +17.0/0); /1System.out.println(17/0 = +17/0); /2描述正确的是?A.编译出错B.编译通过,运行时/1、/2处均出现异常C.编译通过,运行时/1处得到一个无穷大值,/2处将出现异常D.编译通过,运行时/1处出现异常,/2处将得到一个无穷大值4. 有下面程序:B3,4两个对象,前面的是地址的引用,先创建“ABC”一个串对象,再将ABC的副本COPY给一个NEW的对象,原来的ABC被垃圾回收器回收了。不放在池子里。1,2 是放到池子里的,内存里有一个所谓的池子,创建时要先查池子,池子里有,就拿池里子有的,如果没有新创建一个。这个池子,只有String有,别的类没有,因为它的使用是率最高的。public class TestStringpublic static void main(String args)String str1 = “abcd”;String str2 = “abcd”;String str3 = new String(“abcd”);String str4 = new String(“abcd”);System.out.println(str1=str2);System.out.println(str3=str4);输出结果是?A true true B true false C false true D false false5. 关于下面的类描述中正确的是:C方法的重载,名相同,参数个数和类型不同,方法可以和构造器重名,char和INT,STRING,无任何关系统,CHAR在内存中就是INT类型,键盘上可看见的都有一个整数和他对应,一个字符可存汉字,class Test void test(int i) System.out.println(I am an int.); void test(String s) System.out.println(I am a string.); public static void main(String args) Test t=new Test(); char ch=y; t.test(ch); A. 编译出错B. 编译通过,运行出错C. 编译通过,运行时输出“I am an int”D. 编译通过,运行时输出“I am a string”6. 如希望父类中的某成员变量能被任何包中的子类直接访问,那么定义该变量时使用限定词_最适合。Cprotected就是用来被子类继承的。所以最好是它A. public B private C protected D. default7. 当编译和运行下列程序段时,会发生什么? C人就是人,狗就是狗,原来是父类就是父类,任何子类的对象都可以当成父类来用。本来就是人,非转成动物是不可以的。原来是什么类型就是什么类型,想转是不可能的。父类使用子类一定是安全的,因为子类继承父类,与所谓的对象无关。创建一个旧电视,要把旧电视转成新电视,左边的是引用,右边就是真正的对象,转型就是在换遥控器class Base class Sub extends Base class Sub2 extends Base public class CEx public static void main(String argv) Base b = new Base(); Sub s = (Sub) b; A 通过编译和并正常运行。 B 编译时出现错误。 C 编译通过,运行时出现异常。 D 以上都错8. 下面正确的是: A一个类只有一个父类,但一个父类可有多个儿子接口与接口之间是继承关系一个接口可以继承另外的两个以上的接口接口是一个特别的类,抽象的抽象类,接口就是定义了一个新的类型,不做别的,抽象类,也是类,所以不可以和接口混,方法抽象包括自己定义的和继承过来的。A 在Java中类只允许单一继承B 在Java中一个类只允许实现一个接口C 在Java中类不能同时继承一个类和实现一个接口D 在Java中一个接口只能继承一个接口9. 下面哪些是java语言中的关键字? B关键字都是小写的A sizeof B abstract C NULL D Native 10. 下面语句哪个是正确的? DCHAR也可以给数字,基本类型,BOOLEAN占一位,一字节8位一个整数INT型,一个小数DOUBLE,FLOAT后加F或f,或强转(FLOAT),LONG后加L或l A char c=ab; B int l=0xfffL; C float f=0.23; D double d=0.7E-3; 11. class ExSuper String name; String nick_name; public ExSuper(String s,String t) name = s;nick_name = t; public String toString() return name; public class Example extends ExSuper public Example(String s,String t) super(s,t); public String toString() return name +a.k.a+nick_name; public static void main(String args)ExSuper a = new ExSuper(First,1st);ExSuper b = new Example(Second,2nd);System.out.println(a is+a.toString();System.out.println(b is+b.toString();如果不显示调用TOSTRING()方法,则默认调用TOSTRING()方法。若子类不重写TOSTRING()的时候,才调父类,运行结果是 C A 编译时会出现例外。 B 运行结果为:a is Firstb is second C 运行结果为:a is Firstb is Secong a.k.a 2nd D 运行结果为:a is First a.k.a 1ndb is Second a.k.a 2nd12. abstract class MineBase abstract void amethod(); static int i; public class Mine extends MineBasepublic static void main(String argv)int ar = new int5;for(i = 0;i ar.length;i+)System.out.println(ari);继承过来的方法没实现,还是抽象类,程序编译运行结果是 C A 打印5个0。 B 编译出错,数组ar必须初始化。 C 编译出错, Mine应声明为abstract。 D 出现IndexOutOfBoundes的例外。13. public class Foo public static void main(String args) tryreturn; finallySystem.out.println(Finally); 可以try finally,try catch,try catch finally,但不能只有一个tryRETURN是方法的结束结果是: B A 程序正常运行,但不输出任何结果。 B 程序正常运行,并输出 Finally。 C 编译能通过,但运行时会出现一个例外。 D 因为没有catch语句块,所以不能通过编译。 14. 哪个表达式结果为true? D赋值 比较引用,是不是同一个对象,equals第二步时类型不一样就return了写INT 赋给DOUBLE 默认加个.0Integer i = new Integer(42);Long h = new Long(42);Double d = new Double(42.0);Double dd = new Double(42); A i = h; B d = dd; C i.equals(h); D d.equals(dd); 15. package语句正确的是 AJAVA的标识符,以字母,下划线,$符开头,后面还可放数字 A 必须在程序开头 B 不一定在程序开头 C 可以在import之后 D 包名可以以数字开头 16. 有关类Demo,哪句描述是正确的? A默认出初化,INT0,子类的属性只有子类可以改,public class Demo extends Base private int count; public Demo() System.out.println(A Demo object has been created); protected void addOne() count+; A 当创建一个Demo类的实例对象时,count的值为0。 B 当创建一个Demo类的实例对象时,count的值是不确定的。 C 超类对象中可以包含改变count 值的方法。 D Demo的子类对象可以访问count。 17. java中,关于char类型错误的是C除了char ,int,其他都是首字母大写A 占2字节B 可以存储一个英文字母C 不能存储一个汉字D 其对应的封装类是Character18. 关于接口跟抽象类正确的是C接口是决对的抽象类,可定义方法,接口,可是看成定义一种新的类型,没有方法实现,所有子类都要有具体的实现抽象类,将方法抽象到抽象类,由子类去实现,区别A 接口能够创建对象B 抽象类能够创建对象C 接口中不能定义变量,都是常量D 接口中可以有private 方法19. 关于内部类错误的是:A静内看成静态方法,静态方法不能访问外面的非静态方法或属性,内部类就是成员类,类都可以是final内部类当然也可以定义方法内只可以定义final修饰词A 静态内部类可以访问其外部类的非静态属性B 非静态内部类可以访问其外部类的静态属性C 内部类可以是protectedD 内部类可以是final的20. 异常处理正确的是: B检察异常必须try catch,或throw未检察异常,运行时的可以不用声时抛出,也不用try catch,throw肯定写在方法内部,抛出异常对象throws写在方法签名后,用来声明抛出异常类型父类或声明抛异常,子类重写该方法时只能抛出比父类 类型 更少的异常A 调用任何可能抛出异常方法,都必须捕捉try catch 或者throwsB RuntimeException可以不捕捉或者throwsC throw 跟throws 用法是一样的D try 必须有catch,可以没有finally21. Vector 与 ArrayList正确的是: CCOLLOCION,MAP两个接口是平行的collocion 一个接口,包括LIST有序可以重复,SET无序不可以重复,,collocions 是一个类Link list, Vector,arraylist 没实现线程安全,底层实现是数组,速度快,有序 Vector实现了线程安全,底层实现是数组,先出现的,有序linklist底层实现不是数组是双向链表,内存中存的数据不连续,插入、删除时非常快,只需要找一块就好,但查询很慢。 MAP下层是HASHTREE HASHMAP接口HASHTREE HASHMAP 都实现了MAP接口A ArrayList 出现比Vector早 B ArrayList 速度比Vector慢 C ArrayList 没有同步保护,Vector具有同步保护 (同步块,同步方法syncrinazied)D ArrayList Vector 两者都是无序的集合22. 下面在Java线程同步中已经不推荐使用,应该避免使用的方法是: D A join B notify C wait D suspend 23. Which of the following lines of code will compile without error? BA. int i=0; if (i) System.out.println(“Hi”); JAVA里只有BOOLEAN值,没有O,1的概念B. boolean b=true; boolean b2=true; if(b=b2) System.out.println(“So true”); 表达式的形式 C. int i=1; int j=2; if(i=1! j=2) System.out.println(“OK”); !必须与BOOLEAN类型值连用,D. int i=1; int j=2; if (i=1 &| j=2) System.out.println(“OK”); 24. 下列程序 C启动线程用start()方法,可以直接调用run(),但是调用了就不是线程了。CPU自动调用run()方法。此类只有一个主线程,class A public static void main(String args) B b = new B();b.run();for (int i=0;i30;i+)System.out.println(good);class B extends Threadpublic void run()for (int i=0;i30;i+)System.out.println(hello);A 编译错误B 编译正确,执行时good hello交替输出C 编译正确,执行时先输出30个hello再输出30个goodD 编译正确,程序运行时出现异常25. 关于线程错误的是 D同步锁,从sydofsid 块出来,出来,SFDK 出异常,WAIT四种方法都可以释放同步锁。线程通讯,互相说话,A 多线程共享同一数据可能出现错误,所以读写数据都需要加同步保护B 线程在suspend时,不会释放同步锁,因此可能造成死锁,不推荐使用C 线程在wait时,可以释放同步锁,因此线程通信时推荐使用。D 线程在sleep时,可以释放同步锁。26. FileInputStream和FileOutputStream错误的是C拷贝时不管是什么,都可以拷贝A 是字节流B 是节点流C 用其拷贝文件时,不能拷贝中文D 可以拷贝任何文本文件和2进制文件。27. 下列错误的是 CSTRING是常量,每次都新建一个,拨一个。A String 类对象具有不可改变的特性,对象内容无法改变B StringBuffer 类内容可以改变C 用String类比StringBuffer来做字符串运算比较节约内存D String类对象每次连接都创建一个新的对象28. 一个类中那些内容可以在序列化时写入文件或发送到网络上 D对象序列化时不存方法名,不存STATIC。存的是对象名和属性名。A transient 修饰的属性不想序列化时写的修饰符。B 静态属性C 方法D 类名29. 关于Collection接口错误的是: DA Collection下面分为两个接口Set跟List接口B Set接口的实现类是无序无重复集合例如HashSetC List接口的实现类是有序可以重复集合例如ArrayList与VectorD Map接口也是Collection的子接口,实现类有HashMap和HashtableMAP不是继承Collection的30. What happens when you try to compile and run the following application? Choose all correct options. A1. public class Z 2. public static void main(String args) 3. new Z(); 4. 5. 6. Z() 7. Z alias1 = this; 8. Z alias2 = this; 9. synchronized(alias1) 10. try 11. alias2.wait(); 12. System.out.println(“DONE WAITING”); 13. 14. catch (InterruptedException e) 15. System.out.println(“INTERRUPTED”); 16. 17. catch (Exception e) 18. System.out.println(“OTHER EXCEPTION”); 19. 20. finally 21. System.out.println (“FINALLY”); 22. 23. 24. System.out.println(“ALL DONE”); 25. 26. 同步代码块传值特性,指向当前对象本身。THIS 可以调自己其它购造器 ,对象本身,当前对象调用WAIT等于把KEY放开了,但是没有人叫醒。没加参数也没有notify,所以死锁自己调自己就是反复使用同一个代码块A. The application compiles but doesnt print anything. B. The application compiles and print “DONE WAITING” C. The application compiles and print “FINALLY” D. The application compiles and print “ALL DONE” E. The application compiles and print “INTERRUPTED” 31. 下列关于关系数据库的说法正确的是:A 贮存在列下的数据不必具有相同数据类型。B 行是唯一的(没有完全相同的行)。C 列有顺序。D 行有顺序。32. 以下不属于DML数据操纵语句的是:DDCL 授权DDL CREATE DROP 等查询DML 操作提交,A insertB updateC deleteD commit33. 以下sql语句正确的是:D组函数是在一堆中取一个,组函数不能嵌套,可一连接继A select studentid,depart,count(*) from student group by depart;B select studentid,count(*) from student;C select depart,max(avg(age) from student group by depart;D select studentid,avg(score),max(score) from score group by studentid34. 在oracle中提交之前,下面说法错误的是:DA 当前的用户可以看到DML操作的结果B 其他用户不能看到DML操作的结果C 被操作的数据被锁住,其他用户不能修改这些数据只能查不能改D 所有的 savepoints 被去掉没提交呢,提交后全部消失35. 在JSP中使用标记时,不会出现的属性是:CUSERBEAN 先到SESSION中找,找不到NEW一个 A. nameB. property C. valueD.以上皆不会出现36. JSP内嵌对象session的类型为javax.servlet.http. HttpSession,下述语句会使该对象失效的是:CA session.dispose();B session.clear();C session.invalidate();-有效期。Xml中30分钟,30分钟之内什么都不动才会失效,就是session没有,再动就新给一个session,原来的东西不存在了D session.removeAll();37. 对于JavaBean的属性,下面哪种说法是不正确的: DA JavaBean中不一定要有属性B JavaBean类可以不是public的C 要访问和修改JavaBean的属性,应该通过get/set方法 D 如果一个属性只提供了get方法,那么它是只读的 JAVABEAN没有只读的概念38. 在JSP中调用JavaBean时不会用到的标记是:AA 只有BCD三个B C D 39. Page指令用于定义JSP文件中的全局属性,下列关于该指令用法的描述不正确的是:D天天用,自动生成的,JSP中第一条A 作用于整个JSP页面。B 可以在一个页面中使用多个指令。C 为增强程序的可读性,建议将指令放在JSP文件的开头,但不是必须的。D 指令中的所有属性只能出现一次。40. 标签中scope的范围由小到大是 DA page session request applicationB application page request sessionC application session request pageD page request session application41. 要让不同用户共享一个JavaBean的对象则该对象的范围应该设置为:CA session 一个用户有一个自己的对象B pageC application 一个应用里只有一个对象D request42. 关于 与的区别下面错误的是:B静态包函,直接把文件贴过来,一个文件动态包函 JSP 把编译后的结果贴过来,A 用 被包含的页面和本页面将分别生成两个servletB 用 被包含的页面和本页面将分别生成两个servletC 可以包含jsp和html文件编译成SERVLET,将结果COPY过来,servlet调用servlet,!定义变量,适用于servlet,直接在中定义的变量是一个局部变量。D 可以包含jsp和html文件不编译,只COPY文本,生成一个servlet43. 下面为部署文件中的Servlet影射代码片段,正确的是:CAABC/ABCBABC/ABCC ABC/ABC/*DNone of these. 44. 关于自定义标签的使用不正确的是:BA 必须在JSP页面中使用B 必须经过web.xml映射 没这说法C 必须存在tld文件D 自定义标签的类必须是public的45. response.sendRedirect()跳转与跳转错误的是D前:重定向、可转向多个服务器,后:转发、服务器内部转的A sendRedirect() 地址栏中显示跳转后的地址B forward跳转 地址栏中显示跳转前的地址C forward的时候可以用传递参数D sendRedirect() 不能跳转到servletE sendRedirect() 实际上是两次请求46. 下列,那几句话会造成空指针异常(NullPointerException) C本身是个NULL还调用他的方法。 String s = null; 1. if(s!=null) & (s.length()0) 按位与 2. if(s!=null) &(s.length()0) 逻辑与:左边的表达试已经能得到结果时。不判断后面的。 3. if(s=null) | (s.length()=0) 4. if(s=null) | (s.length()=0)A 1B 2C 1 和 3D 2 和 447. public class Foo public static void main (String args) StringBuffer a = new StringBuffer (A);原来的基础上加一个 StringBuffer b = new StringBuffer (B); operate (a,b); 自己定义的把两串连在一块 System.out.println(a + “,” +b); ) static void operate (StringBuffer x, StringBuffer y) x.append (y); y = x; X,Y,A001地址 B003地址 编译运行以上程序,结果是那种?D A. The code compiles and prints “A,B”. B. The code compiles and prints “A,A”. C. The code compiles and prints “B,B”. D. The code compiles and prints “AB,B”. E. The code compiles and prints “AB,AB”. F. The code does not compile because “+” cannot be overloaded for StringBuffer.48. struts框架中,关于FormBean,下列说法正确的是:AA FormBean是一种数据bean,主要用来封装表单提交上来的数据,并把这些数据传递给ActionB 在FormBean中可以对页面上传递来的参数进行一下格式上的验证,这种验证是一种客户端的验证FormBean是服务器端的C 用户每次提交表单,都会产生一个新的FormBean实例input重写validate时写,出错时反回此页,写什么都可以D 动态FormBean不能进行验证操作不用自己写,配置一下就行,即不用写get,set方法,使用别人写好的validater做服务器端验证49. struts框架中,在一个Action的配置信息中,name属性指的是:CA 当前action实例的名字B 当前action所在的类的名字C 该Action中调用的FormBean的实例的名字就是我们说的逻辑名D 该Action中调用的FormBean的类的所在包名50. struts框架,那些说法正确?B每块做什么。struts工作流程(课件里有)。与MVC区别,流程 :请求中控找路径若使用FORM先到指定范围找,给ACTION创建FORWORD对象。A Struts中无法完成上传功能B Struts框架基于MVC模式C Struts框架容易引起流程复杂、结构不清晰等问题D Struts可以有效地降低项目的类文件数目51. 关于struts项目中的类与MVC模式的对应关系,说法错误的是?DA Jsp文件实现视图View的功能B ActionServlet这一个类是整个struts项目的控制器C ActionForm、Action都属于Model部分Servlet是CONTROLD 一个struts项目只能有一个Servlet可以有多个中央控制器52. 使用EJB的好处错误的是:DA EJB的结构决定编写分布式程序无须关注事务,安全,多线程问题,可以提高开发效率,但降低运行效率B EJB开发人员与和底层中间件相隔离,便于开发和分别改进C EJB服务器端仅编写一次,即可随处运行D EJB可以从结构上保证了一台服务器崩溃时其他服务器可以正常运行D中说的是应用服务器做的事情53. 关于RMI错误的是DA RMI中不能直接对对象实现实施远程调用,只能对对象的接口操作B RMI底层通过存根stub(客)和框架skeleton(服)实现C RMI中方法调用参数传递为值传递,传递参数必须可以序列化D RMI的服务器与客户机中内存地址完全互相映射,保证两边同步54. 关于无状态会话Bean错误的是:DA 不保存和客户的状态信息B 包括主接口,远程接口,Bean类和部署描述文件C 部署时,EJB容器会为这个Bean分配几个实例到组件池中,并由组件池动态管理组件数量无论是无状态,有状态,BMP,CMP都有一个池D 生命状态有四种,存在,不存在,钝化,激活55. 关于有状态会话Bean错误的是:CA 在客户端程序引用期间维护Bean中所有实例数据的状态值B 多个客户不会同时共享同一个有状态SessionBean实例一对一的C 钝化过程就是容器调用ejbremove删除多余EJB实例的过程持久化到硬盘。D 有状态会话Bean的生命状态包括不存在,准备好和钝化 放一块了,准备好,56. 关于有状态和无状态会话Bean错误的是:DA 有状态会话Bean实例和客户端是一对一关系B 有状态会话Bean需要的系统资源相对更多要维护与客户的一种状态C 有状态会话Bean执行速度相对更慢D 无状态会话Bean生命周期更加复杂57. 关于实体Bean错误的是BA 可以分为容器管理持久性(CMP)和Bean管理持久性(BMP)B CMP中变量和数据库中的字段对应关系由Bean类中的代码表示属性在配置文件中写 ,get,set方法是抽象的。所有的都在配置文件中。C CMP中可以不用编写对数据库操作的代码,比较简单D BMP中必须有开发者编写数据库操作代码 58. 实体Bean中基本的数据库操作对应中的方法中错误的是:CA 插入对应ejbCreate(),ejbPostCreate()B 读取 ejbLoad()C 修改 ejbUpdate() ejbStore()方法D 删除 ejbRemove()59. 关于BMP和CMP比较错误的是:DA BMP和CMP的声明周期管理机制是相同的,不同的是BMP的事务持久性管理机制交给Bean的开发者B CMP编程方便但是降低了Bean的开发能力C BMP比CMP灵活,常用来映射复杂的数据视图或者很难用CMP实现的复杂逻辑处理D 在客户端的调用BMP和CMP的方法是不相同的都是找JNDI的名字60. 面向对象语言的三个特征 ABDA 封装B 继承C 抽象不是特征,是个具体的过程D 多态61. 构造一个ArrayList 类的实例,哪个方法正确:BA ArayList
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025国际科技展馆智能灯光及音效系统安装服务合同
- 2025年度新型能源技术研发中心设备采购与维护合作协议
- 2025年跨境电商物流仓储租赁合作协议物流仓储一体化服务
- 2025年度综合物流园区运营管理委托合同
- 2025年度车绿本新能源抵押贷款违约责任及赔偿细则合同
- 2025年智能化车棚租赁及全方位物业管理服务协议
- 2025年茶叶出口贸易合作框架协议书
- 2025年商业地产项目融资保证金质押合同
- 2025年度医疗健康虚拟现实(VR)诊断与治疗辅助系统开发合同
- 2025年国际教育机构外教选拔与绩效评估合同
- CJ/T 3085-1999城镇燃气术语
- 停产报告管理制度
- DB31/T 636.2-2015会议经营与服务规范第2部分:会议场所服务机构
- 云南二级建造师b证试题及答案
- 电解铝公司工程项目投资估算
- 钣金工考试试题及答案
- 2025护士招聘笔试题目及答案
- 沟通与策略式家庭治疗
- 合同质保期更改补充协议
- GB/T 45381-2025动梁式龙门电火花成形机床精度检验
- 防腐涂层新技术及其应用前景
评论
0/150
提交评论