东软Java笔试题复习答案 .
java笔试题大集合及答案

java笔试题大集合及答案# Java笔试题大集合及答案1. Java中接口和抽象类的区别是什么?- 接口和抽象类都是抽象的,不能直接实例化。
- 接口中所有的方法默认是public的,而抽象类可以包含非public的成员。
- 一个类可以实现多个接口,但只能继承一个抽象类。
- 接口中不能包含构造方法,而抽象类可以。
- 接口中的字段默认是public static final的,而抽象类中的字段可以是任意类型。
2. Java中如何实现单例模式?- 单例模式确保一个类只有一个实例,并提供一个全局访问点。
- 可以通过私有化构造方法,提供一个私有静态变量来保存实例,并提供一个公有静态方法来获取实例。
3. Java中集合框架的层次结构是怎样的?- 集合框架分为两大类:单元素集合和复合元素集合。
- 单元素集合包括List、Set和Queue。
- 复合元素集合包括Map。
- 每个接口都有多个实现类,如ArrayList、LinkedList、HashSet、TreeSet、HashMap、TreeMap等。
4. Java中如何实现多线程?- 可以通过继承Thread类并重写run方法来实现。
- 也可以通过实现Runnable接口并重写run方法,然后创建Thread对象来实现。
- Java 5引入了Executor框架,可以更方便地管理线程。
5. Java中异常处理的机制是什么?- Java使用try-catch-finally块来处理异常。
- try块中编写可能抛出异常的代码。
- catch块中编写处理异常的代码。
- finally块中的代码无论是否发生异常都会执行。
6. Java中StringBuffer和StringBuilder的区别是什么?- StringBuffer是线程安全的,而StringBuilder不是。
- StringBuffer的方法是同步的,StringBuilder的方法不是。
- 在单线程环境下,StringBuilder的性能优于StringBuffer。
东软软件测试工程师20套笔试题及参考答案

东软软件测试工程师20套笔试题及参考答案问题:东软软件测试工程师20套笔试题及参考答案-测试基础(1)回答:试述软件的概念和特点?软件复用的含义?构件包括哪些?瀑布模型和螺旋模型的主要区别是什么?软件生存周期及其模型是什么?什么是软件测试?软件测试的目的与原则净室软件工程的策略是什么?软件配置管理的作用?软件配置包括什么?什么是软件质量?软件包是什么?目前主要的测试用例设计方法是什么?软件的安全性应从哪几个方面去测试?参考答案:答案如下:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、文档的完整集合。
软件复用(Software Reuse)是将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费。
软件复用是提高软件生产力和质量的一种重要技术。
早期的软件复用主要是代码级复用,被复用的知识专指程序,后来扩大到包括领域知识、开发经验、设计决定、体系结构、需求、设计、代码和文档等一切有关方面。
可以被复用的软件成分一般称作可复用构件答案如下:参照TP书上第六章45/46页的讲解,参考一下书上的说法进行对比即可。
考虑弹性、风险、成本,等几个方面。
答案如下:软件生存周期是软件开发全部过程、活动和任务的结构框架,是从可行性研究到需求分析、软件设计、编码、测试、软件发布维护的过程。
在经历需求、分析、设计、实现、部署后,软件将被使用并进入维护阶段,直到最后由于缺少维护费用而逐渐消亡。
这样的一个过程,称为生命周期模型(Life Cycle Model)。
答案如下:使用人工或自动手段,来运行或测试某个系统的过程。
其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
软件测试的目的:测试是程序的执行过程,目的在于发现错误一个成功的测试用例在于发现至今未发现的错误一个成功的测试是发现了至今未发现的错误的测试确保产品完成了它所承诺或公布的功能,并且用户可以访问到的功能都有明确的书面说明。
Java开发工程师招聘笔试题及解答2024年

2024年招聘Java开发工程师笔试题及解答(答案在后面)一、单项选择题(本大题有10小题,每小题2分,共20分)1、以下哪个不是Java中的基本数据类型?A、intB、floatC、StringD、boolean2、在Java中,以下哪个关键字用于声明一个类?A、classB、structC、enumD、interface3、关于Java中的String类,以下描述正确的是:A. String类是final类,无法继承。
B. String类是可变的,可以对其进行修改。
C. String类是可变的,每次对String对象的操作都会创建新的对象。
D. String类是不可变的,每次对String对象的操作都会创建新的对象。
4、关于Java中的垃圾回收机制,以下描述不正确的是:A. 垃圾回收器可以自动回收不再使用的对象占用的内存空间。
B. 垃圾回收机制是Java自动管理内存的一种方式,程序员无需手动释放内存。
C. 垃圾回收器会定期检查并回收那些不再有引用的对象。
D. 堆内存中的所有对象在不再有引用后,会自动关联到垃圾回收机制中,即成为垃圾,等待垃圾回收器来回收。
5、以下哪个Java版本正式支持模块化系统“Java Platform Module System”(JPMS)?A、Java 8B、Java 9C、Java 10D、Java 116、在Java中,以下哪个关键字用来声明一个线程?A、threadB、runC、ThreadD、start7、以下哪个关键字是Java中用于实现多线程的同步机制?A. synchronizedB. transientC. volatileD. static8、以下哪个选项不是Java中的访问修饰符?A. privateB. publicC. protectedD. friendly9、在Java中,以下哪个选项不是访问修饰符?A. publicB. privateC. protectedD. friend 10、下列关于Java异常处理的说法中,哪一个是正确的?A. Java程序必须捕获并处理所有抛出的异常。
JAVA笔试题_附答案版

一:单选题1.下列哪一种叙述是正确的(D)A.abstract修饰符可修饰字段、方法和类B.抽象方法的body部分必须用一对大括号{ }包住没有body部分C.声明抽象方法,大括号可有可无不存在bodyD.声明抽象方法不可写出大括号2.如下代码public class Test {public int aMethod() {static int i = 0;i++;return i;}public static void main (String args[]) {Test test = new Test();test.aMethod();int j = test.aMethod();System.out.println(j);}}输出结果是什么?DA. 0B. 1C. 2D.编译失败3.下列哪种说法是正确的(D)A.实例方法可直接调用超类的实例方法如果超类没有被重写就可以B.实例方法可直接调用超类的类方法有可能是私有方法不可以调用C.实例方法可直接调用其他类的实例方法不可以D.实例方法可直接调用本类的类方法4.在Servlet处理请求的方式为:CA.以进程的方式B.以程序的方式C.以线程的方式Servlet容器默认是采用单实例多线程的方式处理多个请求的:D.以响应的方式5.JDBC中,用于表示数据库连接的对象是:BA.Statement连接的实例,执行sqlB.Connection建立与数据库的连接C.DriverManager该方法将建立与数据库的连接D.PreparedStatement6.用于调用存储过程的对象是:CA.ResultSet返回结果集B.DriverManagerC.CallableStatemetD.PreparedStatement PreparedStatement代替Statement.7.按照MVC设计模式,JSP用于实现:BA.ModelB.ViewC.ControllerD.容器8.如下代码10. public Object m() {11. Object o = new Float(3.14F);12. Object [] oa = new Object[1];13. oa[0] = o;14. o = null;15. oa[0] = null;16. print 'return 0';17. }当Float对象在第11行被创建后, 什么时候能够被垃圾回收?CA. 13行以后.B. 14行以后.C. 15行以后.D. 16行以后.9.如下代码:class Base {Base() { System.out.print("Base"); }}public class Alpha extends Base {public static void main( String[] args ) {new Alpha(); -----调用父类无参的构造方法new Base();}}结果是什么?BA. BaseB. BaseBaseC. 编译失败.D. 代码运行但没有输出.E. 运行时抛出异常10.在J2EE中属于Web层的组件有:AA.ServletB.EJBC.AppletD.HTML11.在Servlet的生命周期中,容器只调用一次的方法是:CA.serviceB.getServletConfigC.initD.destroy12.以下关于异常的说法正确的是:DA. 一旦出现异常,程序运行就终止了非系统异常仍然可以继续运行B. 如果一个方法申明将抛出某个异常,它就必须真的抛出那个异常不一定C. 在catch子句中匹配异常是一种精确匹配exceptionD. 可能抛出系统异常的方法是不需要申明异常的13.如下代码:public class Foo {public static void main(String[] args) {try {return;} finally {System.out.println( "Finally" );}}}输出结果是什么?AA. FinallyB.编译失败C. 代码正常运行但没有任何输出.D. 运行时抛出异常14. jsp指令中isELIgnored="boolean"的意思是(C)A.决定是否实现Servler的单线程模式,B.决定改页面是否是一个错误处理页面,C.决定是否支持EL表示,D.没有具体的含义。
东软培训考核试题答案(内部资料)

东软培训考核试题答案(内部资料)⼀、单选题(共20分,每题1分)1、快速排序的时间复杂度_____。
A)B) O(n*n); C)O(n*n/2); ; D)O(log(n));2、计算程序执⾏完的结果:short a;char *p;a = 1234;p= (char *)&a*p = 56;请问题变量a的数值为______。
A)1234; B) 3456; C)5634;3、判断程序的结果:char * p = “Hello World”;*p = “A”;程序执⾏后的结果_______。
A) p指向的字符串为“Aello World”;“H ello World”;C)D) 结果未知;4、请问这个结构体所占的空间⼤⼩是______。
Typedef {Int a;Char b,Short c,Short d,}AA_t;A)16byte; B) 9 byte; D)85、有下列程序段char a[3],b[]=”China”;a = b;printf(“%s”,a);则______。
A)运⾏后将输出China Ch;C)运⾏后将输出Chi6、若有语句int * point,a =4 ;和point = &a______。
7 、语句int (*ptr)();的含义是______。
A)ptr是指向⼀维数组的指针变量;D)ptr是⼀个函数名,该函数的返回值是指向int类型的指针;8、若有以下定义和语句:struct student{int age;int num;};struct student stu[3] = {{1001,20},{1002,19},{1003,21}};main(){struct student *p;p = stu;...}则以下不正确的引⽤是______。
A)(p++)->num; B)p++; C)(*p).num;9、请正确指出下列指针的最确切的含义,int (*ptr)[3]、int *(*ptr)[4]、void* (*ptr)(void*)______。
java笔试题大全带答案(经典11题)

java笔试题大全带答案(经典11题)1.不通过构造函数也能创建对象吗()A. 是(推荐学习:java面试题大汇总)B. 否分析:答案:AJava创建对象的几种方式(重要):(1) 用new语句创建对象,这是最常见的创建对象的方法。
(2) 运用反射手段,调用ng.Class或者ng.reflect.Constructor类的newInstance()实例方法。
(3) 调用对象的clone()方法(4) 运用反序列化手段,调用java.io.ObjectInputStream对象的 readObject()方法。
(1)和(2)将显式调用构造函数;(3)它是内存中已有对象的副本,所以不会调用构造函数;(4)类的对象是从文件中恢复的,不会调用构造函数。
(1)和(2)将显式调用构造函数;(3)它是内存中已有对象的副本,所以不会调用构造函数;(4)类的对象是从文件中恢复的,不会调用构造函数。
2.下面哪些是对称加密算法()A. DESB. MD5C. DSAD. RSA分析:答案:A分析:常用的对称加密算法有:DES、3DES、RC2、RC4、AES 常用的非对称加密算法有:RSA、DSA、ECC使用单向散列函数的加密算法:MD5、SHA3.下面的代码段,当输入为2的时候返回值是()public static int get Value(int i){int result=0;switch(i){case 1:result=result +icase 2:result=result+i*2case 3:result=result+i*3}return result;}登录后复制A. 0B. 2C. 4D. 10答案:C分析:result = 0 + 2 * 2;4.以下Java代码段会产生几个对象public void test(){String a="a";String b="b";String c="c";c=a+""+b+""+c;System.out.print(c);}登录后复制分析:答案: 一个对象,因为编译期进行了优化,3个字符串常量直接折叠为一个5.Math.round(-11.2)的运行结果是。
东软Java笔试题答案

Java面向对象程序设计考试卷班级:姓名:时间:90分钟一、选择题(没有注明多选,则为单选)1、下列变量定义错误的是A.int a;B.double b=4.5;C.boolean b=true;D.float f=9.8; (9.8f)2、6+5%3+2的值是A. 2B. 1C.9D.103、对于一个三位的正整数 n,取出它的十位数字k(k为整型)的表达式是A.k = n / 10 % 10 //先得到百位和十位 192 19 9B.k = ( n - n / 100 * 100 )%10C.k = n % 10D.k = n / 101.int x=6, y=10, k=5;2.switch( x % y )3.{4. case 0: k=x*y;5. case 6: k=x/y;6. case 12: k=x-y;7. default: k=x*y-x; (default 位置可以改变)8.}B. 5C.0D.541.int i = 10;2.do { i/=2; } while( i-- > 1 ); 10→5→4→2->1->0→-1A. 1B. 5C. 2D.-16、在某个类中存在一个方法:void getSort(int x),以下能作为这个方法的重载的声明的是:(同一个方法中参数不同,返回值类型可以不同也可以相同)A.public getSort(float x) 没有返回类型一定是构造函数不能重载B.int getSort(int y)(参数一样不是重载)C.double getSort(int x,int y) (参数不一样是重载)D.void get(int x, int y)7、下列哪个是合法的Java标识符:(两个答案) B CA.Tree&GlassesB.FirstJavaAppletC._$theLastOneD.273.58、设 a = 8,则表达式 a >>> 2 的值是:C (无符号右移动)左移是乘右是除1000->/2->/2 将一个数8除2,运算最快的方式A. 1B. 2C. 3D. 41.public class Student2.{3.private String name;4.public Student(String s_name) //1 构造函数5.{ = s_name; //27.}8.public static void main(String args[])9.{10.Student s = new Student(); //311.}12.}将会得到什么结果?A.将会顺利通过编译,并将产生一个Student.class的类文件B.编译时在//3处出错C.编译时在//2处出错D.编译时在//1处出错10、下面选项中能把字符串转换成float类型的是?: BA.float value = new Float(str); 创建一个对象B.float value = Float.parseFloat(str);C.float value = Float.floatValue(str);D.float value = (new Float()).parseFloat(str);1.class Base { //父类2. Base() { System.out.print("Base"); } //父类中构造函数3.}4.public class Alpha extends Base {5. public static void main( String[] args ) {6.new Alpha(); //实例化自己首先要实例化其父类7.new Base(); //实例化父类8. }9. }BaseB.BaseBaseC.程序编译失败.D.程序运行但没有任何输出1.public class X {2. private static int a;3. public static void main(String [] args) {4. modify(a);5.System.out.println(a);6.}7. public static void modify(int a) {8.a++;9. }10.}A.0C.程序编译失败D.程序抛出异常1.String s = "Hello" + 9 + 1;+字符连接(9+1+”hello”=10hello(string类型))2.System.out.println(s);Hello10B.Hello91C.Hello10.0D.程序编译失败14、下列说法正确的是? CA.一个子类可以有多个父类,一个父类也可以有多个子类B.一个子类可以有多个父类,但一个父类只可以有一个子类C.一个子类可以有一个父类,但一个父类可以有多个子类D.上述说法都不对1. abstract class AbstrctIt {2. abstract float getFloat ();3. }4. public class AbstractTest extends AbstractIt {5. private float f1= 1.0f;6. private float getFloat () {return f1;} //权限只能扩大不能缩小7. }B.在第6行产生一个运行时异常C.在第6行产生一个编译错误D.在第2行产生一个编译错误1.public class A implements B {2.public static void main(String args[]){3. int i;4. A c1 = new A();5. i= c1.k;6. System.out.println("i="+i);7.}8.}9.interface B {10. int k = 10;接口(抽象方法和静态常量的结合)里的静态常量 public static final11.}i=0B.i=10C.程序有编译错误D.i=true1. public class returnIt{2. returnType methodA(byte x, double y) {3. return (short) x/y * 2;4. }5. }B.byteC.longD.double1. public clast {2. public static void main(string[]args) {3. int x = 3;4. int y = 1;5. if (x = y){ // =:赋值运算符 ==:比较运算符6. System.out.println(“Not equal”);7. }else8. System.out.println(“Equal”);9. }10.}B.Not EqualC.编译失败D.程序没有任何输出结果1. switch (i) { //i可以是byte、char、short、int四种2. default:3. System.out.println(“Hello”);4. }A.charB.byteD.double 不行E.object1.int[] x={122,33,55,678,-987};2.int y=x[0];3.for(int i=1;i<x.length;i++){4.if(x[i]>y)5.y =x[i];6.}7.System.out.println(y);A.678B.122C.-987D.331. public class X {2. public static void main(String [] args) {3. try {4. badMethod(); //调用静态方法,无意义。
东软Java笔试题答案

Java面向对象程序设计考试卷一、选择题(没有注明多选,则为单选)1、下列变量定义错误的就是A.int a;B.double b=4、5;C.boolean b=true;D.float f=9、8; (9、8f)2、6+5%3+2的值就是A. 2B. 1C.9D.103、对于一个三位的正整数 n,取出它的十位数字k(k为整型)的表达式就是A.k = n / 10 % 10 //先得到百位与十位 192 19 9B.k = ( n - n / 100 * 100 )%10C.k = n % 10D.k = n / 10B. 5C.0D.54B. 5C. 2D.-16、在某个类中存在一个方法:void getSort(int x),以下能作为这个方法的重载的声明的就是:(同一个方法中参数不同,返回值类型可以不同也可以相同)A.public getSort(float x) 没有返回类型一定就是构造函数不能重载B.int getSort(int y)(参数一样不就是重载)C.double getSort(int x,int y) (参数不一样就是重载)D.void get(int x, int y)7、下列哪个就是合法的Java标识符:(两个答案) B CA.Tree&GlassesB.FirstJavaAppletC._$theLastOneD.273、58、设 a = 8,则表达式 a >>> 2 的值就是:C (无符号右移动)左移就是乘右就是除1000->/2->/2 将一个数8除2,运算最快的方式A. 1B. 2C. 3D. 4将会得到什么结果?A.将会顺利通过编译,并将产生一个Student、class的类文件B.编译时在//3处出错C.编译时在//2处出错D.编译时在//1处出错10、下面选项中能把字符串转换成float类型的就是?: BA.float value = new Float(str); 创建一个对象B.float value = Float、parseFloat(str);C.float value = Float、floatValue(str);D.float value = (new Float())、parseFloat(str);BaseB.BaseBaseC.程序编译失败、D.程序运行但没有任何输出C.程序编译失败D.程序抛出异常Hello10B.Hello91C.Hello10、0D.程序编译失败14、下列说法正确的就是? CA.一个子类可以有多个父类,一个父类也可以有多个子类B.一个子类可以有多个父类,但一个父类只可以有一个子类C.一个子类可以有一个父类,但一个父类可以有多个子类D.上述说法都不对B.在第6行产生一个运行时异常C.在第6行产生一个编译错误D.在第2行产生一个编译错误i=0B.i=10C.程序有编译错误D.i=trueB.byteC.longD.doubleB.Not EqualC.编译失败D.程序没有任何输出结果A.charB.byteC.float 不行D.double 不行E.objectC.-987D.33B.BDC. EACDD.ABCD22、程序输出的结果就是?System、out、println(4 | 3); // 二进制按位或操作0100 | 0011 0111A.0B. 1C. 5D.7C.private ConstOver (int z, int y, byte x) { }D.public Object ConstOver (int x, int y, int z) { }E.public void ConstOver (byte x, byte y, byte z) { }B.3与3C.3与4D.4与325、下列答案正确的就是:两个答案int[] arr = new int[10];A.arr[0] 就是nullB.arr[10]就是0C.arr[9] 就是0D.arr[0] 就是026、编译器能够为类A分配一个默认构造器的就是?(两个答案)A.class A {}B.class A {public A() { }}C.class A {public A(int x) { }}D.class Z { }class A extends Z {void A() { }}C.程序编译错误D.程序运行时抛出异常C.编译失败,错误在第2行D.编译失败,错误在第6行29、下面表达式计算的结果与返回值类型分别就是?Math、ceil(0、1 + Math、floor(Math、random())); 0-1之间的小数A.0、0B.1、0C.floatD.doubleE.一个随机数B. 1C.42D.43答题卡二、编程题注意:书写清晰,瞧不清楚不给分,注意字体大小,写不下可以写在背面,标清题号。