东软Java面向对象程序设计笔试题
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分,共30分)1.在MyEclipse中,()视图可以将项目中包含的文件及层次结构展示出来。
CA) Package B)Declaration C)Navigator D) Console2.下列标识符中,正确的是()。
CA)class B) 123_rr C) _lei D) test&123.下列的()选项可以正确用以表示八进制值8。
0x代表16进制,0代表8进制 D A)0x8 B)0x10 C)08 D)0104.以下哪个不是Java的原始数据类型()DA) int B) boolean C) float D) Char引用数据类型5.下列有关Java布尔类型的描述中,正确的是()AA)一种基本的数据类型,它的类型名称为booleanB)用int表示类型C)其值可以赋给int类型的变量D)有两个值,1代表真,0代表假6.在Java中,不属于整数类型变量的是( ) AA) double 浮点型B) long C) int D) byte7.以下do-while语句构成的循环执行次数是()。
Bint k=0;do { ++k ;}while(k<1);A) 一次也不执行B) 执行1次C) 无限次D) 有语法错误,不能执行8.表达式(1/0<1)&& (12==0) 的值为()。
逻辑运算结果只有true和false两种 BA) true B) false C) 0 D) 运行时抛出异常9.以下()表达式不可以作为循环条件 AA) i=5 B )i<3 C) count==i D) bEqual=str.equals("q") 10.下列数组初始化正确的是() DA) int score[5] = {90,12,34,77,56};B) int[5] score = new int[];C) int[] score = new int[5]{90,12,34,77,56};D) int score[] = new int[]{90,12,34,77,56};11.若有定义:byte[] x={11,22,33,-66};其中0≤k≤3,则对x数组元素错误的引用是() CA) x[5-3] B) x[k] C) x[k+5] D) x[0]12.以下代码的输出结果是()。
东软java笔试题
HashMap 类没有分类或者排序。它允许一个 null 键和多个 null 值。
Hashtable 类似于 HashMap,但是不允许 null 键和 null 值。它也比 HashMap 慢,因为它是同步的。
16,Collection 和 Collections的区别。
Collections是个java.util下的类,它包含有各种有关集合操作的静态方法。
断言可以有两种形式:
assert Expression1 ;
assert Expression1 : Expression2 ;
Expression1 应该总是产生一个布尔值。
Expression2 可以是得出一个值的任意表达式。这个值用于生成显示更多调试信息的 String 消息。
12,谈谈final, finally, finalize的区别。
final?修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。
3. 垃圾回收的优点和原理。并考虑2种回收机制。
Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。
东软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试题东软JAVA试题一单选题(本大题6小题,每小题2分,共12分)1.下列语句执行后,变量a,c的值分别是(没结果,编译不过啊,如果把a 和 c的位置换了,得出 a 为82,c为0 )。
int x=182; 正确的样子是:int x=182; int a ,c; a = x%100;c = a/100;int a,c;c = a/100;a = x%100;A)1, 2 B)2, 1 C) 1.82, 2 D)100,822.下面哪个表达式可以用来得到X和Y的最大值(B)A)X>Y?Y:X B)XY?(X+Y):(X-Y) D)X==Y?Y:X3.应用程序的main方法中有以下语句,则输出的结果是(A)double x= 1234.1234567;DecimalFormat form1 = new DecimalFormat("0.00");System.out.println("PI="+form1.format(x));A)1234.12 B) 4.12 C) 1234.1234567 D) 1234.004.应用程序的main方法中有以下语句,则输出的结果是(C)int[] x={122,33,55,678,987};int y=x[0];for(int i=1;i<x.length;i++){< p="">if(x[i]>y)y = x[i];}System.out.println(y);A)678 B) 122 C) 987 D) 335. 下列语句序列执行后,K的值是(C)int x=2,y = 5,k = 0;switch(x%y){case 0: k = x+y;break;case 1: k = x-y;break;case 2: k = x*y;break;default: k=x/y;break;}System.out.println(k);A)2 B) 5 C) 10 D) 06.下面的程序输出的结果是(B)public class A implements B{public static void main(String[] args) {int i;A c1 = new A();i = c1.k;System.out.println("i="+i);}}interface B{int k = 10;}A)i=0 B) i=10 C) 编译错误 D) i = true二多选题(本大题6小题,每小题2分,共12分)1.下面说法正确的是(ABCD)A)final 可修饰类,属性变量,方法B)abstract 可修饰类,方法C) 抽象方法只有方法头,没有方法体D) 关键字final和abstract不能同时使用2.下面关于外部类和内部类成员的相互访问的规则中,正确的选项是(AD)A)内部类可以直接访问外部类的成员B)外部类也可以直接访问内部类的成员C)外部类不可以直接访问内部类的成员D)外部类可以通过创建内部类的实例来访问内部类的成员3.下面关于JAVA中输入/输出流的说法正确的是(ABCD)A)FileInputStream与 FileOutputStream类用读,写字节流B)Reader与 Writer 类用来读,写字符流C)RandomAccessFile 既可以用来读文件,也可以用来写文件D)File 类用来处理与文件相关的操作4.下面关于JAVA中的线程的说法正确的是(ABD)A)Java提供了 Thread类,支持多线程机制。
东软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.程序没有任何输出结果B.byteC.float 不行D.double 不行E.objectC.-987D.33B.BDC. EACDD.ABCD22、程序输出的结果是?| 3); // 二进制按位或操作0100 | 0011 0111A.0B. 1C. 5D.723、关于下述程序哪个是正确的构造器重载(两个正确)C.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() { }}27、下面程序运行的结果是:C.程序编译错误D.程序运行时抛出异常C.编译失败,错误在第2行D.编译失败,错误在第6行29、下面表达式计算的结果和返回值类型分别是?Math.ceil(0.1 + Math.floor(Math.random())); 0-1之间的小数A.0.0B. 1.0C.floatD.doubleE.一个随机数A.0B. 1C.42D.43答题卡二、编程题注意:书写清晰,看不清楚不给分,注意字体大小,写不下可以写在背面,标清题号。
东软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 % 10B.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 (无符号右移动)左移是乘右是除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.程序没有任何输出结果D.double 不行E.objectC.-987D.33B.BDC. EACDD.ABCD22、程序输出的结果是?System.out.println(4 | 3); // 二进制按位或操作A.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答题卡二、编程题注意:书写清晰,看不清楚不给分,注意字体大小,写不下可以写在背面,标清题号。
面向对象程序设计考试模拟题(附参考答案)
面向对象程序设计考试模拟题(附参考答案)一、单选题(共10题,每题1分,共10分)1、下面关于javac命令作用的描述中,正确的是()。
A、可以执行java程序B、可以将编写好的Java文件编译成.class文件C、可以把文件压缩D、可以把数据打包正确答案:B答案解析:javac命令将java文件编译成java字节码文件。
2、下列关于构造方法的描述,错误的是()A、在构造方法中不能使用return语句返回一个值,但是可以单独使用return作为方法的结束B、一个类中只能定义一个空参数的构造方法C、构造方法的方法名前面没有返回值类型的声明D、一个类中可以定义多个构造方法正确答案:B3、以下关于成员属性与成员方法的描述中,错误的是()A、成员属性我们也叫成员变量,它就是描述对象的特征。
它可以定义在类中,也可以定义在方法中B、成员方法用于描述对象的行为C、在类中定义的变量,我们称为成员变量D、在类中定义的方法,我们称变成员方法正确答案:A答案解析:类中可以定义成员变量和成员方法,其中成员变量用于描述对象的特征,也被称作属性,成员方法用于描述对象的行为,可简称为方法。
定义在类中的变量被称为成员变量,定义在方法中的变量被称为局部变量。
4、FileWriter类的write(int c)方法的作用是()A、写出单个字符B、写入多个C、写入一个整形数据D、写入单个字符正确答案:D答案解析:write(int c)方法用于写入单个字符。
5、下列关于集合的描述中,哪一个是错误的()A、集合按照存储结构可以分为单列集合Collection和双列集合Map。
B、List集合的特点是元素有序、元素可重复。
C、Set集合的特点是元素无序并且不可重复。
D、集合存储的对象必须是基本数据类型。
正确答案:D答案解析:集合可以存储多种数据类型的数据,包括引用数据类型。
6、下列关键字中,哪个不能修饰接口中的成员变量?()A、publicB、staticC、finalD、private正确答案:D答案解析:接口中的成员变量其实是一个常量,用public static final 修饰,所以,用private修饰是错误的。
最新东软-java方向综合笔试题2
东软-java 方向综合 笔试题 2最新好资料推荐-如有侵权请联系网站删除姓名:________ 性别:_______ 联系电话:__________ E-mail:______________ 学校:___________ 专业:__________ 学历:______ 籍贯:________ 在校职务:___________ 期望工作地:__________ 应聘职位/方向:(开发、技术支持、销售、其他:____) 父母所在地: __________ 考试科目:JAVA 语言方向综合笔试题(试卷二) 满分 100 分 共 35 题序号答案 (不定项选择)序号答案 (不定项选择)答案答案序号序号(不定项选择)(不定项选择)1112131212223231323334142434515253561626717278182891929102030阅卷人:______ 阅卷时间:________ 对_____题 错_____题 成绩:______________说明:考试时间为一个小时,不定项选择题,答案请写到答题卡上,答题卡空白者算零分 1. 使用白盒测试方法时,确定测试数据应根据_______和指定的覆盖标准。
A.程序的内部逻辑 B.程序的复杂结构 C.使用说明书精品好资料-如有侵权请联系网站删除最新好资料推荐-如有侵权请联系网站删除D.程序的功能2. 原型化方法是用户和设计者之间执行的一种交互构成,适用于______系统。
A.需求不确定性高的B.需求确定的C.管理信息D.实时3. 变更控制是一项最重要的软件配置任务,其中“检出”和______处理实现了两个重要的变更控制要素,即存取控制和同步控制。
A.登入B.管理C.填写变更要求D.审查4. UML 提供了 4 种结构图用于对系统的静态方面进行可视化、详述、构造和文档化。
其中______是面向对象系统规模中最常用的图,用于说明系统的静态设计视图A.构件图B.类图C.对象图D.部署图5. 在面向对象软件开发过程中,采用设计模式______。
面向对象程序设计考试模拟题含参考答案
面向对象程序设计考试模拟题含参考答案一、单选题(共50题,每题1分,共50分)1、下列数据结构中,哪一个是ArrayList类的底层实现()A、数组结构B、链表结构C、哈希表结构D、红黑树结构正确答案:A答案解析:ArrayList的底层是数组实现的。
2、Java属于以下哪种语言()A、机器语言B、汇编语言C、高级语言D、以上都不对正确答案:C答案解析:Java是一门高级编程语言。
3、下面关于path和classpath的说法中,错误的是()A、path用来指定java虚拟机(JVM)所在的目录B、classpath用来指定我们自己所写的或要用到的类文件(.jar文件)所在的目录C、在dos命令行中,classpath和path环境变量的查看与配置的方式不相同D、只要设置了classpath这个环境变量系统就不会再在当前目录下查询某个类正确答案:C答案解析:classpath和path环境变量的查看与配置的方式完全相同,都是通过 set关键字实现的。
4、若double val = Math.ceil(-11.9);,则val的值是()A、11.9B、-11.0C、-11.5D、-12.0正确答案:B答案解析:ceil是天花板的意思,表示向上取值,永远是得到大于参数的最小整数。
5、下列集合中,不属于Collection接口的子类的是()A、ArrayListB、LinkedListC、TreeSetD、Properties正确答案:D答案解析:Properties集合属于Map集合的子类。
6、下列关于类与对象的说法中,错误的是()A、类是对某一类事物的抽象描述,而对象则是该类事物的个体。
B、对象是类的实例化。
C、类用于描述多个对象的共同特征,它是对象的模板。
D、类与对象没有什么实际关系。
正确答案:D答案解析:对象是通过类来创建的。
7、下列关于List接口的描述中,错误的是()A、List接口继承自Collection接口,是单列集合。
java笔试题目及答案
java笔试题目及答案1. 题目:请简述Java语言的特点及优势。
Java语言的特点及优势主要有以下几点:(1)面向对象:Java是一种纯粹的面向对象编程语言,支持类、继承、封装、多态等面向对象的特性,使得程序具有更好的结构性、可扩展性与可维护性。
(2)可移植性:Java语言通过编译成字节码,然后在Java虚拟机(JVM)上运行,实现了平台无关性。
只需在不同的平台上安装对应的JVM即可运行Java程序,方便实现跨平台开发。
(3)自动内存管理:Java语言通过垃圾回收机制实现自动内存管理,不需要开发者手动进行内存的申请和释放,降低了内存泄漏和野指针的风险。
(4)丰富的类库:Java拥有庞大的类库,为开发者提供了丰富的工具和类,简化了程序的编写过程,提高了开发效率。
(5)多线程支持:Java语言提供了多线程的支持,可以方便地实现并发编程,充分发挥多核CPU的计算能力。
(6)安全性:Java通过安全管理器对代码进行安全控制,提供了安全可靠的运行环境,可以防止潜在的恶意代码对系统造成危害。
2. 题目:请解释Java中的封装性及其优势。
封装是面向对象编程的核心概念之一,指将数据和对数据的操作进行封装,通过对外提供公共接口来控制对数据的访问和操作。
封装的优势主要有以下几点:(1)数据隐藏:通过封装,将数据隐藏在对象内部,外界无法直接访问和修改对象的数据,只能通过封装的方法来间接访问和操作数据。
这样可以保护数据的完整性和安全性,避免数据被误用或修改。
(2)代码复用:封装可以将一组相关的属性和方法封装到一个对象中,实现代码的复用。
其他程序可以通过实例化对象来直接使用对象中封装好的属性和方法,而无需重复编写相同的代码。
(3)模块化开发:封装可以将一个大型的程序拆分成多个小的模块,每个模块都可以独立进行设计、开发和测试,提高了代码的可读性和可维护性。
同时,封装还可以隐藏具体实现的细节,提供简单的接口供其他模块使用,降低了模块之间的耦合度。
东软面试笔试题祝你成功
东软笔试题++或Java中的异常处理机制的简单原理和应用。
当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常。
违反语义规则包括2种情况。
一种是JAVA类库内置的语义检查。
例如数组下标越界,会引发IndexOutOfBoundsException;访问null的对象时会引发NullPointerException.另一种情况就是JAVA允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw关键字引发异常。
所有的异常都是的子类。
2. Java的接口和C++的虚类的相同和不同处。
由于Java不支持多继承,而有可能某个类或对象要使用分别在几个类或对象里面的方法或属性,现有的单继承机制就不能满足要求。
与继承相比,接口有更高的灵活性,因为接口中没有任何实现代码。
当一个类实现了接口以后,该类要实现接口里面所有的方法和属性,并且接口里面的属性在默认状态下面都是public static,所有方法默认情况下是public.一个类可以实现多个接口。
3. 垃圾回收的优点和原理。
并考虑2种回收机制。
Java语言中一个显着的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。
由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。
垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。
垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。
回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。
4. 请说出你所知道的线程同步的方法。
wait():使一个线程处于等待状态,并且释放所持有的对象的lock.sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉InterruptedException异常。
java笔试题及答案
java笔试题及答案题目:Java 笔试题及答案一、基础语法1. 请解释 Java 中的接口和抽象类的区别。
答:接口(Interface)是一种完全抽象的类,它允许声明方法,但不允许实现这些方法。
接口中的方法默认是 public 和 abstract 的,且从 Java 8 开始,接口也可以包含默认方法和静态方法。
抽象类(Abstract Class)可以包含抽象方法和非抽象方法,允许有构造器,成员变量,以及具体的方法实现。
一个类可以实现多个接口,但只能继承一个抽象类。
2. 请解释 Java 中的集合框架。
答:Java 集合框架是 Java 中存储和处理一组对象的一套标准接口和类。
集合框架分为两大类:不包含重复元素的集合(如 List、Set)和可能包含重复元素的集合(如 Map、Bag)。
集合框架提供了一系列的接口和实现类,如 List 接口的实现类有 ArrayList 和LinkedList,Set 接口的实现类有 HashSet 和 TreeSet 等。
二、面向对象1. 请解释封装、继承和多态的概念。
答:封装是将对象的状态信息隐藏在对象内部,并通过公共方法对外提供服务。
继承允许新的类(子类)继承现有类(父类)的属性和方法,实现代码的复用。
多态是指允许使用子类的对象来替代父类的对象,子类可以重写父类的方法,从而在运行时表现出不同的行为。
2. 请解释抽象类和接口在实现多态中的作用。
答:抽象类通过定义抽象方法来规定子类必须实现的功能,而接口则通过声明方法签名来规定实现类必须提供的方法实现。
抽象类和接口都可以被子类继承或实现,这样可以确保子类具有某些共同的行为,是实现多态的基础。
三、异常处理1. 请解释 Java 中的异常处理机制。
答:Java 中的异常处理机制是通过 try-catch-finally 结构来实现的。
当 try 块中的代码可能会抛出异常时,catch 块用来捕获并处理这些异常。
东软java笔试题附答案
1、public static const int num = 9; 判断题const 成员变量是静态的不需要加static修饰2、C#中接口和类的主要区别问答接口只包含方法或属性的声明,不包含具体实现方法的代码,接口可以实现多继承(可以实现多个接口),而类只能是单继承,继承(实现)接口的类必须实现接口中声明的方法或属性3、用sealed修饰的类有什么特点问答不可被继承4、找错误指出下面程序的错误public class MyTest{public void Test(ref int i){i = 1;}public void Test(int i){i = 1;}public void Test(out int i){i = 1;}}Out 和 ref 不能用来重载方法compiler error CS0663: "cannot define overloaded methods that differ only on ref and out"5、什么类型的变量可以用foreach 来遍历?问答In C#, it is not strictly necessary for a collection class to inherit from IEnumerable and IEnumerator in order to be compatible with foreach; as long as the class has the required GetEnumerator, MoveNext, Reset, and Current members, it will work with foreach. Omitting the interfaces has the advantage of allowing you to define the return type of Current to be more specific than object, thereby providing type-safety.6、读程序写出输出结果读程序public class MyTest{static void Main(string[] args){MyTest mt = new MyTest();}public void Test(){StructPoint sp = new StructPoint();sp.x = 9;sp.y = 10;StructPoint retSp = RefreshStructPoint(sp);OutputStructPointResult(ref retSp);OutputStructPointResult(ref sp);retSp = RefreshStructPoint(ref sp);OutputStructPointResult(ref retSp);OutputStructPointResult(ref sp);ClassPoint cp = new ClassPoint(10, 12);ClassPoint retCp = RefreshClassPoint(cp);OutputClassPointResult(ref retCp);OutputClassPointResult(ref cp);}public void OutputStructPointResult(ref StructPoint sp){Console.WriteLine(sp.x);Console.WriteLine(sp.y);}public void OutputClassPointResult(ref ClassPoint cp){Console.WriteLine(cp.X);Console.WriteLine(cp.Y);}private StructPoint RefreshStructPoint(ref StructPoint point) {point.x++;point.y++;return point;}private StructPoint RefreshStructPoint(StructPoint point){point.y++;return point;}private ClassPoint RefreshClassPoint(ClassPoint point) {point.X = 0;point.Y = 0;return point;}}public struct StructPoint{public int x;public int y;}public class ClassPoint{private int x = 0;private int y = 0;public ClassPoint(int x, int y){this.x = x;this.y = y;}public int X{get{return x;}set{x = value;}}public int Y{get{return y;}set{y = value;}}}输出结果1011910101110117、string 是值类型还是引用类型?下面的代码Main方法中在调用第一个Method 和第二个Method方法后str变量结果分别是什么,是否会被改变class RefExample{static void Method(ref string s){s = "changedRef";}static void Method(string s){s = "changed";}static void Main(){string str = "original";Method(str);Method(ref str);}}第一个方法后str = “original”第二个方法后str = “changed Ref”8、out和ref关键字的作用,有什么不同?表示参数是传递引用,out传递前不需要初始化,执行的函数返回前必须赋值,ref传递前必须初始化。
东北师范大学22春“计算机科学与技术”《Java程序设计》作业考核题库高频考点版(参考答案)试题号1
东北师范大学22春“计算机科学与技术”《Java程序设计》作业考核题库高频考点版(参考答案)一.综合考核(共50题)1.设有如下变量说明:byte myByte; int myInt; long myLong; char myChar; float myFloat; double myDouble; 以下赋值语句哪个需要强制转换?()A.myInt=myLongB.myInt=myCharC.myFloat=myDoubleD.myByte=3参考答案:AC2.Java包中包含了URL类和URLConnection类,这些类具有强大的功能。
()A.错误B.正确参考答案:B3.利用Session和Application对象存储变量,可创建作用域跨页、甚至跨用户的变量。
()A.正确B.错误参考答案:B4.Java中数组的元素可以是简单数据类型的量,也可以是某一类的对象。
()A.正确B.错误参考答案:BA.FileInputStreamB.FileC.BufferedOutputStreamD.BufferedInputStream参考答案:BD6.阅读下面的代码,第10行的语句将调用哪个方法?() 1.class Person{ 2.public void printValue(int i, int j) {/*...*/} 3.public void printValue(int i){/*...*/} 4.} 5.public class Teacher extends Person{ 6. public void printValue() {/*...*/} 7. public void printValue(int i) {/*...*/} 8. public static void main(String args[]){ 9. Person t=new Teacher(); 10. t.printValue(10); 11.} 12.}A.行2B.行3C.行6D.行7参考答案:D7.线程开始运行时,是从下列哪一个方法开始执行的?()A.main()B.start()C.run()D.init()参考答案:C8.java中一个子类可以有多个父类,并可以为一个(父)类定义多个子类。
东北师范大学22春“计算机科学与技术”《Java程序设计》作业考核题库高频考点版(参考答案)试题号5
东北师范大学22春“计算机科学与技术”《Java程序设计》作业考核题库高频考点版(参考答案)一.综合考核(共50题)1.线程开始运行时,是从下列哪一个方法开始执行的?()A.main()B.start()C.run()D.init()参考答案:C2.下面哪些说法是正确的?()A.Http Servlet.service() thrwos Servlet Exception anIOExceptionB.Http Servlet.init() throws Servlet ExceptionC.Http Servlet.do Head() throws Servlet ExceptionD.Http Servlet.destroy() throws Servlet Exception参考答案:AB3.为了使包ch4在当前程序中可见,可以使用的语句是()。
A.import ch4.*B.package ch4.*C.ch4 imporlD.ch4 package参考答案:D4.下面哪些是short型的取值范围?()A.-27——27-1B.-231——231-1C.-215——215-1D.0——216-1参考答案:C5.下面哪个方法与applet的显示无关?()A.update()B.repaint()C.paint()D.draw()参考答案:D6.指出下列哪个方法与方法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)参考答案:CD7.指出正确的表达式()。
A.long l=0xfffLB.double=0.9239dC.byte=128D.Boolean=null参考答案:A8.在Java语言中强制类型转换是指从在机器中占位多的类型向占位少的类型方向进行转换,但boolean 类型可以转换成int。
东北师范大学22春“计算机科学与技术”《Java程序设计》作业考核题库高频考点版(参考答案)试题号2
东北师范大学22春“计算机科学与技术”《Java程序设计》作业考核题库高频考点版(参考答案)一.综合考核(共50题)1.指出正确的表达式()。
A.long l=0xfffLB.double=0.9239dC.byte=128D.Boolean=null参考答案:A2.Http Servlet Request类的get Session(true),如果session存在,还会创建新的session。
()A.错误B.正确参考答案:A3.下面哪个方法可以在任何时候被任何线程调用?()A.wait()B.sleep()C.notifyAll()D.notify()参考答案:AB4.UDP协议是用户数据报协议。
()A.错误B.正确参考答案:B以下AWT类中哪些实现部件的布局?()A.FlowLayoutB.GridBagLayoutC.ActionListenerD.WindowAdapter参考答案:AB6.利用Session和Application对象存储变量,可创建作用域跨页、甚至跨用户的变量。
()A.正确B.错误参考答案:B7.以下哪项可能包含菜单条?()A.PanelB.FrameC.AppletD.Dialog参考答案:B8.接口是特殊的类,所以接口也可以继承,子接口将继承父接口的所有常量和抽象方法。
()A.错误B.正确参考答案:B9.为了区分重载多态中同名的不同方法,要求()。
A.返回值类型不同B.调用时用类名或对象名做前缀C.形式参数名称不同D.形式参数个数或者类型不同10.布局管理器不包括()。
A.FlowLayoutB.GridLayoutC.SetLayoutD.BorderLayout参考答案:B11.Applet可以做下列哪些操作?()A.读取客户端部分系统变量B.读取客户端文件C.在客户端装载程序库D.在客户端主机上创建新文件参考答案:A12.下面哪些是合法的标识符?()A.$personsB.TwoUsersC.*pointD.this参考答案:AB13.下面关于类的封装的描述,哪两个是正确的?()A.成员变量没有访问控制符B.成员变量可以直接访问C.成员变量的访问控制符是privateD.提供方法对数据进行访问和修改参考答案:CD接口是由常量和抽象方法组成的特殊类。
东北师范大学22春“计算机科学与技术”《Java程序设计》期末考试高频考点版(带答案)试卷号1
东北师范大学22春“计算机科学与技术”《Java程序设计》期末考试高频考点版(带答案)一.综合考核(共50题)1.Java中,并非每个事件类都只对应一个事件。
()A.错误B.正确参考答案:B2.Applet可以做下列哪些操作?()A.读取客户端部分系统变量B.读取客户端文件C.在客户端装载程序库D.在客户端主机上创建新文件参考答案:A3.paint()方法使用哪种类型的参数?()A.StringB.Graphics2DC.GraphicsD.Color参考答案:C4.java中一个子类可以有多个父类,并可以为一个(父)类定义多个子类。
()A.正确B.错误参考答案:BTCP/IP方案中有三个最常用的协议,分别是IP、TCP和UDP。
()A.错误B.正确参考答案:B6.在浏览器中执行applet程序,以下选项中的哪个方法将被最先执行?()A.init()B.start()C.destroy()D.stop()参考答案:A7.Applet是一种特殊的Panel,它是Java Applet程序的最外层容器。
()A.错误B.正确参考答案:B8.Java Applet是由独立的解释器程序来运行的。
()A.正确B.错误参考答案:B9.下面哪个选项表示八进制数?()A.010B.0x10C.08D.0x8参考答案:A10.与Java application相同,applet也有main方法作为程序的入口。
()A.正确B.错误参考答案:B11.Session对象所存储的变量,在当前用户所请求的每个页面中,均有效。
()A.错误B.正确参考答案:B12.不使用static修饰符限定的方法称为对象(或实例)方法,下列哪一个说法是正确的?()A.实例方法可以直接调用父类的类方法B.实例方法可以直接调用父类的实例方法C.实例方法可以直接调用本类的类方法D.实例方法可以直接调用其他类的实例方法参考答案:AC13.构造BufferedInputStream的合适参数是哪个?()A.BufferedInputStreamB.BufferedOutputStreamC.FileInputStreamD.File参考答案:AD14.实现一个线程有几种方法:()A.两种B.三种以上参考答案:A15.下面代码的执行结果是什么?() x=,A.x=5,7B.x=5,3C.x=3,7D.x=3,5参考答案:B16.while语句是循环结构中的一种。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java面向对象程序设计
考试卷
一、选择题(没有注明多选,则为单选)
1、下列变量定义错误的是D
A.int a;
B.double b=4.5;
C.boolean b=true;
D.float f=9.8; (9.8f)
2、6+5%3+2的值是 D 3%5=3
A. 2
B. 1
C.9
D.10
3、对于一个三位的正整数 n,取出它的十位数字k(k为整型)的表达式是
A.k = n / 10 % 10
B.k = ( n - n / 100 * 100 )%10
C.k = n % 10
D.k = n / 10
B. 5
C.0
D.54
B. 5
C. 2
D.-1
6、在某个类中存在一个方法: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 C
A.Tree&Glasses
B.FirstJavaApplet
C._$theLastOne
D.273.5
8、设 a = 8,则表达式 a >>> 2 的值是:C (无符号右移动)左移是乘右是除
A. 1
E. 2
B. 3
C. 4
将会得到什么结果?
A.将会顺利通过编译,并将产生一个Student.class的类文件
F.编译时在//3处出错
B.编译时在//2处出错
C.编译时在//1处出错
10、下面选项中能把字符串转换成float类型的是?: B
A.float value = new Float(str); 创建一个对象
B.float value = Float.parseFloat(str);
C.float value = Float.floatValue(str);
D.float value = (new Float()).parseFloat(str);
2
东软集团培训事业部
第 3 页 共 9 页
B. BaseBase
C. 程序编译失败.
D. 程序运行但没有任何输出
B. 1
C. 程序编译失败
D. 程序抛出异常
B. Hello91
C. Hello10.0
D.
程序编译失败
14、 下列说法正确的是? C
A. 一个子类可以有多个父类,一个父类也可以有多个子类
B. 一个子类可以有多个父类,但一个父类只可以有一个子类
C. 一个子类可以有一个父类,但一个父类可以有多个子类
D. 上述说法都不对
15、 下面程序运行的结果是?
B. 在第6行产生一个运行时异常
C. 在第6行产生一个编译错误
D. 在第2行产生一个编译错误
B. i=10
C. 程序有编译错误
D. i=true
B. byte
C. long
D. double
第 5 页 共 9 页
B. Not Equal
C. 编译失败
D. 程序没有任何输出结果
B. byte
C. float 不行
D. double 不行
E. object
B. 122
C. -987
D. 33
B.BD
C.ACD
D.ABCD
22、程序输出的结果是?B
System.out.println(4 | 3);: 二进制安位与
A.0
B. 1
C. 5
D.7
B.protected int ConstOver ( ) { } 构造函数没有返回类型
C.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和3
6
东软集团培训事业部
第 7 页共 9 页
C.3和4
D.4和3
25、下列答案正确的是:两个答案 A B
int[] arr = new int[10];
A.arr[0] 是null
B.arr[10]是0
C.arr[9] 是0
D.arr[0] 是0
26、编译器能够为类A分配一个默认构造器的是?(两个答案) A D
A.class A {}
B.class A {
public A() { }
}
C.class A {
public A(int x) { }
}
D.class Z { }
class A extends Z {
void A() { }
}
B.i = 0.
C.程序编译错误
D.程序运行时抛出异常
B.exception caught
C.编译失败,错误在第2行
D.编译失败,错误在第6行
29、下面表达式计算的结果和返回值类型分别是?(两个答案) B D
Math.ceil(0.1 + Math.floor(Math.random())); 0-1之间的小数
A.0.0
B. 1.0
C.float
D.double
E.一个随机数
B. 1
C.42
D.43
答题卡
8
第 9 页 共 9 页
二、编程题
注意:书写清晰,看不清楚不给分,注意字体大小,写不下可以写在背面,标清题号。
1、
输出n 行n 列的空心矩形(要求使用嵌套循环),当n=5时,运行结果显示如下: ##### # # # # # # #####
2、 设计Java 程序
假设有50瓶饮料,喝完3个空瓶可以换一瓶饮料,依次类推,请问总共喝了多少瓶饮料?
3、 设计Java 程序,实现如下功能:
获取50个0至300之间的随机整数,并输出到屏幕上; 取出上面50个整数中的偶数,倒序排列输出到屏幕上。
4、 编写一个Java 应用程序,设计一个汽车类Vehicle ,包含的属性有车轮个数
wheels 和车重weight 。
小车类Car 是Vehicle 的子类,其中包含的属性有载人数loader 。
卡车类Truck 是Car 类的子类,其中包含的属性有载重量payload 。
每个类都有构造方法和输出相关数据的方法。