java笔试题大全带答案(经典11题)

合集下载

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。

正式应聘的JAVA笔试题和答案

正式应聘的JAVA笔试题和答案

正式应聘的JAVA笔试题和答案一:选择题1:List, Set, Map是否继承自Collection接口A:都是,B 都不是 C:List, Set 是 D:Set, Map 是正确答案 C2:下面描述哪个是正确的A:构造器Constructor可被overrideB:可以继承String类C:try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code不会被执行D:两个对象值相同(x.equals(y) == true),那么也有相同的hash code正确答案 D3 abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized A:都能 B:都不能 C:可以为static D:可以为native正确答案 A4:下面的程序中,temp的最终值是什么?long temo=(int)3.9;temp%=2;A: 0 B :1 C :2 D : 3正确答案 B5、请在以下选项中选出非基本数据类型的选项 ( )A: int B:byte C: boolean D:String正确答案 D6、阅读下面代码段, 给出以下代码的输出结果public class Test{public static void main(String args[]){String str1 = "abc";String str = "abc;String str2 = new String("abc");System.out.println(str1 == str2);System.out.println(str1.equals(str2));System.out.println(str == str1);}}A:true,true,true B:true,false,true C:true,true,false D:false,true,true正确答案 D7、阅读下面代码段, 给出以下代码的输出结果:int i=1;switch (i) {case 0:System.out.println("zero");break;case 1:System.out.println("one");case 2:System.out.println("two");default:System.out.println("default");}A: B::D:default 正确答案 C8、阅读下面代码段, 给出以下代码的输出结果public class MyClass{static int i;public static void main(String argv[]){System.out.println(i);}}A: Error Variable i may not have been initialized B:null C:D:0 正确答案 D9、阅读下面代码段, 给出以下代码的输出结果:class A{static{System.out.print( “A1”);}public A(){System.out.print( “A2”);}}class B extends A{static{System.out.print( “B1”);}public B(){System.out.print( “B2”);}}public class Hello{public static void main(String[] args){A ab = new B();ab = new B();}}A:A1B1A2B2B1B2 B:A1B1A2B2A2B2 C:A1B1A2B2B1B2 D:A1A2B1B2A2B2正确答案 B10、阅读下面代码段, 给出以下代码的输出结果public class TestData {public String getValue () {String value = "";try{value = "test1";return value;}catch(Exception e){e.printStackTrace();}finally{value = "test2";}return value;}public static void main(String args[]){ TestData test = new TestData();String a = test.getValue();System.out.println(a);}}A.test1B.test2C.nullD.””正确答案 A二、改错题,如果有错误,请指出并修正。

java软件研发笔试题及答案

java软件研发笔试题及答案

java软件研发笔试题及答案1. Java基础问题1:请解释Java中的“==”和equals()方法的区别。

答案1:在Java中,“==”用于比较两个基本数据类型的值是否相等,或者两个引用是否指向同一个对象。

而equals()方法是一个Object类的方法,用于比较两个对象的内容是否相等。

默认情况下,equals()方法的行为与“==”相同,但是可以被覆写以实现自定义的比较逻辑。

问题2:Java中,什么是接口(Interface)?答案2:接口是Java中的一种引用类型,它是一种完全抽象的结构,可以包含常量、抽象方法和默认方法。

接口不能直接实例化,必须由实现该接口的类来实现其方法。

接口是一种规范,用于规定类必须实现哪些方法。

2. Java集合框架问题3:List接口和Set接口有什么区别?答案3:List接口允许元素重复,并且元素有序,即元素的插入顺序是保持不变的。

Set接口不允许元素重复,并且元素无序,即元素的存储顺序不保证。

问题4:HashMap和Hashtable有什么区别?答案4:HashMap是非线程安全的,允许一个null键和多个null 值;Hashtable是线程安全的,不允许null键和null值。

HashMap通常比Hashtable的性能要好,因为它不是线程安全的,所以没有线程同步的开销。

3. Java多线程问题5:请解释synchronized关键字的作用。

答案5:synchronized关键字用于在Java中实现同步,它可以用来修饰方法或者代码块。

当一个方法或者代码块被synchronized修饰时,同一时刻只能有一个线程执行该段代码,从而保证了线程安全。

问题6:如何创建线程?答案6:创建线程有两种方式:继承Thread类和实现Runnable接口。

继承Thread类需要重写run()方法,然后创建Thread类的实例并调用start()方法。

实现Runnable接口需要实现run()方法,然后创建Thread类的实例,将Runnable对象作为参数传入构造函数,最后调用start()方法。

java笔试题及答案

java笔试题及答案

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。

Java开发工程师招聘笔试题及解答2024年

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笔试题_附答案版

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.没有具体的含义。

Java笔试题库及其答案

Java笔试题库及其答案

一.单选题1)在JAVA中,要判断D盘下是否存在文件abc.txt,应该使用以下()判断语句。

(选择一项)a)if(new File(44drabc.txt,,) .exists() = =1)b)if(File.exists(u drabc.txt,,) = =1)c)if(new File(44d√abc.txt,,) .exists())d)if(File.exists(<4d:/abc.txt))答案:C2)在java中,()对象可以使用键/值的形式保存数据。

(选择一项)a)ArrayListb)HashSetc)HashMapd)LinkedList答案:C3)给定java代码,如下:public byte count (byte b 1, byte b2 ) {return;)要使用这段代码能够编译成功,横线处可以填入O 0 (选择一项)a) (byte) (bl-b2)b ) (byte) b 1 -b2c)bl-b2d) (byte) b 1 ∕b2答案:A4)在Java中,在包com.db下定义一个类,要让包com.util下的所有类都可以访问这个类,这个类必须定义为()。

(选择一项)a)protectedb)privatec)publicd)friendly答案:C5) 在Java中,下列()语句不能通过编译。

(选择一项)a)String s= ςςjoin,,+ 44was,,+ “here”;b)String s= "join”+3;c)int a= 3+5d)float f=5+5.5;答案:D6)给定java代码如下,运行时,会产生()类型的异常。

(选择一项)String s = nulh s.concat (“abc”);a) ArithmeticExceptionb) NullPointerExceptionc) IOExceptiond) EOFException答案:B7)给定如下java代码,编译运行之后,将会输出()。

java基础笔试题(答案已整理)

java基础笔试题(答案已整理)

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。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

java笔试题大全带答案(经典11
题)
1.不通过构造函数也能创建对象吗()
A. 是(推荐学习:java面试题大汇总)
B. 否
分析:答案:A
Java创建对象的几种方式(重要):
(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. DES
B. MD5
C. DSA
D. RSA
分析:答案:A
分析:常用的对称加密算法有:DES、3DES、RC2、RC4、AES 常用的非对称加密算法有:RSA、DSA、ECC
使用单向散列函数的加密算法:MD5、SHA
3.下面的代码段,当输入为2的时候返回值是()
public static int get Value(int i){
int result=0;
switch(i){
case 1:
result=result +i
case 2:
result=result+i*2
case 3:
result=result+i*3
}
return result;
}
登录后复制
A. 0
B. 2
C. 4
D. 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)的运行结果是。

答案: -11
分析:小数点后第一位=5
正数:Math.round(11.5)=12
负数:Math.round(-11.5)=-11
小数点后第一位<5
正数:Math.round(11.46)=11
负数:Math.round(-11.46)=-11
小数点后第一位>5
正数:Math.round(11.68)=12
负数:Math.round(-11.68)=-12
根据上面例子的运行结果,我们还可以按照如下方式总结,或许更加容易记忆:
参数的小数点后第一位<5,运算结果为参数整数部分。

参数的小数点后第一位>5,运算结果为参数整数部分绝对值+1,符号(即正负)不变。

参数的小数点后第一位=5,正数运算结果为整数部分+1,负数运算结果为整数部分。

结局:所有加大于五等于五加正数,无加小于五。

6.Java中int.long占用的字节数分别是
分析:
1:“字节”是byte,“位”是bit ;
2: 1 byte = 8 bit ;
char 在Java中是2个字节。

java采用unicode,2个字节(16位)来表示一个字符。

short 2个字节
int 4个字节
long 8个字节
System.out.println(‘a’+1);的结果是
分析:'a'是char型,1 是int行,int与char相加,char 会被强转为int行,char的ASCII码对应的值是97,所以加一起打印98
7.下列语句那一个正确()
A. java程序经编译后会产生machine code
B. java程序经编译后会产生 byte code
C. java程序经编译后会产生DLL
D. 以上都不正确
答案:B
分析:java程序编译后会生成字节码文件,就是.class文件
8.下列说法正确的有()
A. class中的constructor不可省略
B. constructor必须与class同名,但方法不能与class同名
C. constructor在一个对象被new时执行
D. 一个class只能定义一个constructor
答案:C
9.执行如下程序代码()
a=0;c=0;
do{
——c;
a=a-1;
}while(a>0);
登录后复制
后,c的值是()
A. 0
B. 1
C. -1
D. 死循环
答案:C
do{...}while(...);语句至少执行一次
10.下列哪一种叙述是正确的()
A. abstract修饰符可修饰字段、方法和类
B. 抽象方法的body部分必须用一对大括号{}包住
C. 声明抽象方法,大括号可有可无
D. 声明抽象方法不可写出大括号
答案:D
分析: abstract不能修饰字段。

既然是抽象方法,当然是没有实现的方法,根本就没有body部分。

11.下列语句正确的是()
A. 形式参数可被视为local variable
B. 形式参数可被字段修饰符修饰
C. 形式参数为方法被调用时,真正被传递的参数
D. 形式参数不可以是对象
答案A:
分析:
A:形式参数可被视为local variable。

形参和局部变量一样都不能离开方法。

都只有在方法内才会发生作用,也只有在方法中使用,不会在方法外可见。

B:对于形式参数只能用final修饰符,其它任何修饰符都会引起编译器错误。

但是用这个修饰符也有一定的限制,就是在方法中不能对参数做任何修改。

不过一般情况下,一个方法的形参不用final修饰。

只有在特殊情况下,那就是:方法内部类。

一个方法内的内部类如果使用了这个方法的参数或者局部变量的话,这个参数或局部变量应该是final。

C:形参的值在调用时根据调用者更改,实参则用自身的值更改形参的值(指针、引用皆在此列),也就是说真正被传递的是实参。

D:方法的参数列表指定要传递给方法什么样的信息,采用的都是对象的形式。

因此,在参数列表中必须指定每个所传递对象的类型及名字。

想JAVA中任何传递对象的场合一样,这里传递的实际上也是引用,并且引用的类型必须正确。

相关文档
最新文档