Java笔试题答案
- 格式:doc
- 大小:119.50 KB
- 文档页数:11
一.单选题1)在JAVA中,要判断D盘下是否存在文件abc.txt,应该使用以下()判断语句。
(选择一项)a) if(new File(“d:abc.txt”) .exists() = =1)b) if(File.exists(“d:abc.txt”) = =1)c) if(new File(“d:/abc.txt”) .exists( ) )d) if(File.exists(“d:/abc.txt))答案:C2)在java中,()对象可以使用键/值的形式保存数据。
(选择一项)a)ArrayListb) HashSetc) HashMapd) LinkedList答案:C3)给定java代码,如下:public byte count(byte b1,byte b2){return___;}要使用这段代码能够编译成功,横线处可以填入()。
(选择一项)a)(byte) (b1-b2)b)(byte) b1-b2c) b1-b2d) (byte) b1/b2a)protectedb)privatec)publicd)friendly答案:C5)在Java中,下列()语句不能通过编译。
(选择一项)a) String s=“join”+“was”+“here”;b) String s=“join”+3;c) int a= 3+5d) float f=5+5.5;答案:D6)给定java代码如下,运行时,会产生()类型的异常。
(选择一项)String s=null;s.concat(“abc”);a)ArithmeticExceptionb)NullPointerExceptionc)IOExceptiond)EOFException答案:B7)给定如下java代码,编译运行之后,将会输出()。
public class Test{public static void main(String args[]){int a=5;System.out.println(a%2==1) ?(a+1) /2:a/2);}}(选择一项)a)1b)2c)2.5d)3答案:D8) java程序中,main方法的格式正确的是()。
Java软件开发工程师笔试题(答案)Java工程师笔试题1,填空(此大题10项,每空1分,共20分)1。
Java语言的三个特性是继承性、封装性和多态性2.在Java中,char 使用_ _ _ _ Unicode _ _ _ _ _ _编码方案,因此中文字符和英文字符都占用__2__字节的内存空间3。
当方法由_ _定义时,形参指的是参数行,当方法由_ _调用时,实际参数是传入的变量或值。
4。
JSP内置对象,应用程序对象代表应用程序上下文,它允许JSP 页面与包含在同一应用程序中的任何网络组件共享信息,而会话对象是特定于每个客户的5。
如果你想把一个对象写到一个流中,这个类必须实现Seralizable 接口6。
在程序中实现多线程有两种方法:继承线程类和实现_ _ Runable _ interface7。
在多线程中,线程的相对优先级可以通过调用相应的setPriority()方法来修改8。
面向对象编程的五个设计原则是单一责任、开放和封闭、里氏尺度替换、依赖倒置、接口分离。
通过Ajax,客户端获取的数据主要有两种类型:文本类型和xml 10。
Socket通常也叫socket,用来描述__ ip和_ _ interface2,多项选择题(这个大题20项,每项2分,共40分)1。
在JA V A中,如果父类中的一些方法不包含任何逻辑并且需要被子类重写,那么父类的这些方法应该使用()关键字来声明:a)final b)static c)abstract d)void2。
在JA V A中,已经定义了两个接口b和c。
要定义实现这两个接口的类,下面的语句是正确的()a)接口aextend b,c b)接口a implements b,c c)类a mplements b,c d)类a mplements b,实现c3。
可以在JA V A接口()中定义A)静态方法b)常量c)构造函数d)抽象方法4。
假设A有构造函数A (int a),那么在A类的其他构造函数中调用的构造函数和语句格式应该是()a)a(x)b)this . a(x)c)this(x)d)super(x)5。
java笔试题及答案1. Java中,下列哪个关键字用于定义一个接口?A. classB. interfaceC. abstractD. package答案:B2. 在Java中,下列哪个选项不是访问修饰符?A. publicB. privateC. protectedD. static答案:D3. Java中,下列哪个关键字用于捕获异常?A. tryB. catchC. finallyD. all of the above答案:D4. 在Java中,下列哪个关键字用于定义一个抽象类?A. classB. abstractC. interfaceD. final答案:B5. Java中,下列哪个关键字用于定义一个枚举类型?A. enumB. classC. interfaceD. abstract答案:A6. 在Java中,下列哪个关键字用于定义一个内部类?A. innerB. inner classC. nestedD. inner答案:D7. Java中,下列哪个关键字用于定义一个方法?A. functionB. methodC. defD. void答案:D8. 在Java中,下列哪个关键字用于定义一个泛型类?A. genericB. typeC. classD. <>答案:D9. Java中,下列哪个关键字用于定义一个单例类?A. singletonB. uniqueC. instanceD. none of the above答案:D10. 在Java中,下列哪个关键字用于定义一个线程类?A. threadB. runnableC. synchronizedD. concurrent答案:B11. Java中,下列哪个关键字用于定义一个同步方法?A. synchronizedB. concurrentC. staticD. volatile答案:A12. 在Java中,下列哪个关键字用于定义一个静态方法?A. staticB. dynamicC. instanceD. non-static答案:A13. Java中,下列哪个关键字用于定义一个最终变量?A. finalB. staticC. volatileD. transient答案:A14. 在Java中,下列哪个关键字用于定义一个常量?A. constB. finalC. staticD. abstract答案:B15. Java中,下列哪个关键字用于定义一个线程安全的类?A. synchronizedB. thread-safeC. volatileD. none of the above答案:D。
一:单选题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.没有具体的含义。
java基础笔试题(答案已整理)Java基础试题一、选择题(1*30=30)1.Java提供哪几种运算符?多选(ABCD)A) 算术运算符 B) 位运算符 C) 关系运算符 D) 逻辑运算符E) 条件运算符ng包的哪个方法比较两个对象是否相等返回true?(B)A: toString() B: equals() C: compare D: 以上都不正确3.下列对Java的变量与函数说法正确的是?多选(ACE)A) 变量是用来保存数据的 B) 变量是用来实现操作过程的C) 函数是用来实现操作过程的 D) 函数是用来保存数据的 E)函数的参数是数据的入口4.已知:int[] a = new int[100]。
在下列给出的数组元素中,非法的是?(D)A: a[0] B: a[1] C: a[99] D: a[100]5.在Java中,一个类可同时定义许多同名的方法,在这些方法的形式参数个数、类型或顺序各不相同,传值也可以各不相同。
这种面向对象程序的特性称为?(C)A: 隐藏 B: 覆盖 C: 重载 D: Java不支持此特性6.()是一组常量和抽象方法的集合。
(D)A: 实例 B: 类 C: 包 D: 接口7.下面关于数组说法正确的是?多选(ABCDE)A) 一维数组实质上是相同类型变量的列表 B) 创建一个数组首先定义数组变量所需的类型 C) char c[]=new char[26];可声明一个含有26个元素的char型数组 D) 当为一个多维数组的时候分配内存时,仅需要为第一维指定内存,然后再分配其他维的存 E) int twain[][] = new int[4][5];可声明一个二维数组8.Java源文件和编译后的文件扩展名分别为?(B)A:。
class和.java B:。
java和.class C:。
class和.class D:。
java和.java9.设x=5;则y=x--和y=--x的结果,使y分别为?(C)A: 5,5 B: 5,6 C: 5,4 D: 4,410.若x是float类变量,x=10/4;则x的值是?(B)A: 2 B: 2.0 C: 2,5 D: 编译错误11.下面方法中,用于调度线程使其运行的是?多选(BC)A。
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面向对象程序设计考试卷一、选择题(没有注明多选,则为单选)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.54A. 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. 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); // 二进制按位或操作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答题卡二、编程题注意:书写清晰,看不清楚不给分,注意字体大小,写不下可以写在背面,标清题号。
一:单选题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.没有具体的含义。
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.54A. 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. 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); // 二进制按位或操作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答题卡二、编程题注意:书写清晰,看不清楚不给分,注意字体大小,写不下可以写在背面,标清题号。
1、输出n行n列的空心矩形(要求使用嵌套循环),当n=5时,运行结果显示如下:################程序如下:public class Test {public static void main(String[] args) {int n=5;for (int i=1; i<=n; i++) {for (int j=1;j<=n;j++){if(i==1||i==n||j==1||j==n){ //只有正方形的边缘都为“#”System.out.print("#");}else{ //其他地方都是空System.out.print(" ");}}System.out.println();}}}2、设计Java程序假设有50瓶饮料,喝完3个空瓶可以换一瓶饮料,依次类推,请问总共喝了多少瓶饮料?程序如下:public class Test {public static void main(String[] args){int sum=0;int empty=1;for(int i=50; i>0; i--){if(empty ==3){empty =1;i++;}else{empty++;}sum++;}System.out.println("总共喝了"+ sum +"瓶饮料。
");}}3、设计Java程序,实现如下功能:获取50个0至300之间的随机整数,并输出到屏幕上;取出上面50个整数中的偶数,倒序排列输出到屏幕上。
程序如下:public class Test {public static void main(String[] args){int[] ary = {};int even = 0;for (int i = 0; i <50; i++) {int num = (int)(Math.random()*300);System.out.println("num:"+num);if (num%2==0) {ary = Arrays.copyOf(ary, ary.length+1);ary[even++] = num;}}Arrays.sort(ary);for (int i = ary.length-1; i >=0; i--) {System.out.println("偶数:"+ary[i]);}}}4、编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数wheels和车重weight。
小车类Car是Vehicle的子类,其中包含的属性有载人数loader。
卡车类Truck是Car类的子类,其中包含的属性有载重量payload。
每个类都有构造方法和输出相关数据的方法。
程序如下:class Vehicle{public Vehicle(){}int wheels;int weight;public void print(){System.out.println("汽车车轮个数是:"+wheels+",汽车车重为:"+weight+"。
");}}class Car extends Vehicle{public Car(){super();}int loader;public void print(){System.out.println("小车有载人数是:"+loader+"。
");}}class Truck extends Car{public Truck(){super();}int payload;public void print(){System.out.println("卡车有载重量是:"+loader+"。
");}}public class Test {public static void main(String[] args){ Vehicle v1 = new Vehicle();v1.print();Vehicle v2 = new Car();v2.print();Vehicle v3 = new Truck();v3.print();}}第11 页共11 页。