java笔试题-11月27日

合集下载

java笔试面试题目(3篇)

java笔试面试题目(3篇)

第1篇一、选择题(每题2分,共20分)1. 下列关于Java虚拟机(JVM)的说法,正确的是()。

A. JVM是Java程序的运行环境B. JVM是Java程序的编写环境C. JVM是Java程序的调试环境D. JVM是Java程序的编译环境解析:A。

JVM是Java程序的运行环境,负责将字节码转换为机器码执行。

2. 下列关于Java数据类型的说法,正确的是()。

A. Java中所有数据类型都是引用类型B. Java中基本数据类型包括int、float、char等C. Java中所有数据类型都是基本数据类型D. Java中基本数据类型包括int、float、char等,引用数据类型包括String、Object等解析:D。

Java中基本数据类型包括int、float、char等,引用数据类型包括String、Object等。

3. 下列关于Java面向对象的说法,正确的是()。

A. Java不支持面向对象编程B. Java支持面向对象编程,但不支持继承和多态C. Java支持面向对象编程,包括继承、多态、封装等特性D. Java支持面向对象编程,但封装不是Java面向对象的核心特性解析:C。

Java支持面向对象编程,包括继承、多态、封装等特性。

4. 下列关于Java异常处理的说法,正确的是()。

A. Java异常处理可以通过try-catch语句实现B. Java异常处理可以通过finally语句实现C. Java异常处理可以通过throw语句实现D. 以上说法都不正确解析:A。

Java异常处理可以通过try-catch语句实现。

5. 下列关于Java集合框架的说法,正确的是()。

A. Java集合框架包括List、Set、Map等接口B. Java集合框架包括List、Set、Map等类C. Java集合框架包括List、Set、Map等接口和类D. 以上说法都不正确解析:C。

Java集合框架包括List、Set、Map等接口和类。

正式应聘的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代码笔试题及答案大全

Java代码笔试题及答案大全Java代码笔试题及答案1、运算符优先级问题,下面代码的结果是多少?publicclassTest {publicstaticvoidmain(String[] args){int k = 0;int ret = ++k + k++ + ++k + k;// ret的值为多少System.err.println(ret);}}解答:主要考察++i和i++的区别。

++在前则先自增再赋值运算,++在后则先赋值再自增运算。

因此,结果为8。

2、在Java中,以下代码( A )正确地创建了一个InputStreamReader对象。

A) InuptStreamReader(new FileInputStream(“1.dat”));B) InuptStreamReader(new FileReader(“1.dat”));C) InuptStreamReader(new BufferReader(“1.dat”));D) InuptStreamReader (“1.dat”);3、下面代码的结果是什么?publicclassTest {publicvoidmyMethod(String str) {System.err.println("string");}publicvoidmyMethod(Object obj) {System.err.println("object");}publicstaticvoidmain(String[] args) {Test t = new Test();t.myMethod(null);}}解答:这道题考察重载方法参数具有继承关系时的调用问题,还有对null 的认识。

如果是一般具有继承关系的对象分别作为参数,看对象的引用,如:classA {}classBextendsA {}publicclassTest {publicstaticvoidmain(String[] args) {A b1 = new B();B b2 = new B();get(b1);// Aget(b2);// B}publicstaticvoidget(A a) {System.out.println("A");}publicstaticvoidget(B a) {System.out.println("B");}}这道题中,Object是一切类的父类,具有继承关系,那null是指向什么呢?null是任何引用类型的初始值,String和Object的初始值都是null,但是null会优先匹配引用类型参数为String的方法,因此这道题答案是string。

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开发工程师招聘笔试题与参考答案(某大型央企)2024年

Java开发工程师招聘笔试题与参考答案(某大型央企)2024年

2024年招聘Java开发工程师笔试题与参考答案(某大型央企)一、单项选择题(本大题有10小题,每小题2分,共20分)1、关于Java语言的特点,以下说法错误的是:A. Java是一种面向对象的编程语言B. Java程序可以在任何操作系统上运行C. Java语言不支持多线程编程D. Java具有自动内存管理功能答案:C解析:Java语言支持多线程编程,这是其重要的特性之一。

因此选项C是错误的。

2、在Java中,关于异常处理的说法错误的是:A. 使用try-catch块可以捕获并处理异常B. 抛出的异常必须在当前方法中处理C. 使用throw关键字可以抛出异常D. 异常是程序运行时可能出现的问题答案:B解析:在Java中,如果某个方法没有处理抛出的异常,可以使用throws关键字声明要抛出的异常,并不一定要在当前方法中处理。

因此选项B是错误的。

3、在Java中,以下哪个关键字用于定义一个接口?A. interfaceB. extendsC. implementsD. abstract答案:A解析:在Java中,interface关键字用于定义一个接口。

接口是一种完全抽象的类,它只能包含抽象方法的声明和常量。

extends关键字用于继承类或接口,implements 关键字用于实现接口,而abstract关键字用于声明抽象方法或抽象类。

4、在Java中,以下哪个注解用于标记一个方法是接口中的默认方法?A. @OverrideB. @DeprecatedC. @FunctionalInterfaceD. @Retention答案:C解析:在Java中,@FunctionalInterface注解用于标记一个方法是接口中的默认方法。

这个注解不是必需的,但它可以帮助编译器检查该接口是否只有一个抽象方法,如果没有,则会报错。

@Override注解用于表示方法重写了父类或接口中的方法,@Deprecated注解用于标记不推荐使用的方法或类,@Retention注解用于指定注解的保留策略。

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

选择题(共50题,每题2分,共100分。

多选题选不全或选错都不得分。

)1.以下属于面向对象的特征的是(C.D )。

(两项)A) 重载B) 重写C) 封装D) 继承2.以下代码运行输出是()public class Person{private String name=”Person”;int age=0;}public class Child extends Person{public String grade;public static void main(String[] args){Person p = new Child();System.out.println();}}A) 输出:PersonB) 没有输出C) 编译出错D) 运行出错3.在使用super 和this关键字时,以下描述正确的是()A) 在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过B) super()和this()不一定要放在构造方法内第一行C) this()和super()可以同时出现在一个构造函数中D) this()和super()可以在static环境中使用,包括static方法和static语句块4.以下对封装的描述正确的是()A) 只能对一个类中的方法进行封装,不能对属性进行封装B) 如果子类继承了父类,对于父类中进行封装的方法,子类仍然可以直接调用C) 封装的意义不大,因此在编码时尽量不要使用D) 封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性5.以下对继承的描述错误的是()A) Java中的继承允许一个子类继承多个父类B) 父类更具有通用性,子类更具体C) Java中的继承存在着传递性D) 当实例化子类时会递归调用父类中的构造方法6.以下程序的运行结果是()class Person{public Person(){System.out.println(“this is a Person”);}}public class Teacher extends Person{private String name=”tom”;public Teacher(){System.out.println(“this is a teacher”);super();}public static void main(String[] args){Teacher teacher = new Teacher();System.out.println();}}A) this is a Personthis is a teachertomB) this is a teacherthis is a PersontomC) 运行出错D) 编译有两处错误7.以下说法错误的是()A) super.方法()可以调用父类的所有非私有方法B) super()可以调用父类的所有非私有构造函数C) super.属性可以调用父类的所有非私有属性D) this和super关键字可以出现在同一个构造函数中8.以下关于final关键字说法错误的是()(两项)A) final是java中的修饰符,可以修饰类、接口、抽象类、方法和属性B) final修饰的类肯定不能被继承C) final修饰的方法不能被重载D) final修饰的变量不允许被再次赋值9.访问修饰符作用范围由大到小是()A) private-default-protected-publicB) public-default-protected-privateC) private-protected-default-publicD) public-protected-default-private10.以下()不是Object类的方法A) clone()B) finalize()C) toString()D) hasNext()11.多态的表现形式有()A) 重写B) 抽象C) 继承D) 封装12.以下对重载描述错误的是()A) 方法重载只能发生在一个类的内部B) 构造方法不能重载C) 重载要求方法名相同,参数列表不同D) 方法的返回值类型不是区分方法重载的条件13.以下()添加到ComputerBook中不会出错class Book{protected int getPrice(){return 30;}}public class ComputerBook extends Book{}A) protected float getPrice(){}B) protected int getPrice(int page){}C) int getPrice(){}D) public int getPrice(){return 10;}14.以下对抽象类的描述正确的是()A) 抽象类没有构造方法B) 抽象类必须提供抽象方法C) 有抽象方法的类一定是抽象类D) 抽象类可以通过new关键字直接实例化15.以下对接口描述错误的有()A) 接口没有提供构造方法B) 接口中的方法默认使用public、abstract修饰C) 接口中的属性默认使用public、static、final修饰D) 接口不允许多继承16.以下代码,描述正确的有()interface IDemo{public static final String name;1void print();2public void getInfo();3}abstract class Person implements IDemo{4public void print(){}}A) 第1行错误,没有给变量赋值B) 第2行错误,方法没有修饰符C) 第4行错误,没有实现接口的全部方法D) 第3行错误,没有方法的实现17.接口和抽象类描述正确的有()(两项)A) 抽象类没有构造函数B) 接口没有构造函数C) 抽象类不允许多继承D) 接口中的方法可以有方法体18.以下描述错误的有()A) abstract 可以修饰类、接口、方法B) abstract修饰的类主要用于被继承C) abstract 可以修饰变量D) abstract修饰的类,其子类也可以是abstract修饰的19.以下描述正确的有()A) 方法的重写应用在一个类的内部B) 方法的重载与返回值类型无关C) 构造方法不能重载D) 构造方法可以重写20.以下程序运行结果是()public class Test extends Father{private String name=”test”;public static void main(String[] args){Test test = new Test();System.out.println(test.getName());}}class Father{private St ring name=”father”;public String getName() {return name;}}A) fatherB) testC) 编译出错D) 运行出错,无输出21.以下对异常的描述不正确的有()A) 异常分为Error和ExceptionB) Throwable是所有异常类的父类C) Exception是所有异常类父类D) Exception包括RuntimeException和RuntimeException之外的异常22.在try-catch-finally语句块中,以下可以单独与finally一起使用的是()A) catchB) tryC) throwsD) throw23.下面代码运行结果是()public class Demo{public int add(int a,int b){try{return a+b;}catch(Exception e){System.out.println(“catch 语句块”);}finally{System.out.println(“finally 语句块”);}return 0;}public static void main(String[] args){Demo demo = new Demo();System.out.println(“和是:”+demo.add(9,34));}}A) 编译异常B) finally语句块和是:43C) 和是:43 finally语句块D) catch语句块和是:4324.以下描述不正确的有()A) try块不可以省略B) 可以使用多重catch块C) finally块可以省略D) catch块和finally块可以同时省略25.以下对自定义异常描述正确的是()A) 自定义异常必须继承ExceptionB) 自定义异常可以继承自ErrorC) 自定义异常可以更加明确定位异常出错的位置和给出详细出错信息D) 程序中已经提供了丰富的异常类,使用自定义异常没有意义26.以下程序运行结果是()public class Test {public int div(int a, int b) {try {return a / b;}catch(Exception e){System.out.println(“Exception”);}catch(NullPointerException e){System.out.println(“ArithmeticException”);}catch (ArithmeticException e) {System.out.println(“ArithmeticException”);} finally {System.out.println(“finally”);}return 0;}public static void main(String[] args) {Test demo = new Test();System.out.println(“商是:” + demo.div(9, 0));}}A) Exception finally 商是:0B) ArithmeticException finally 商是:0C) finally商是:0D) 编译报错27. 以下对TCP和UDP描述正确的是()A) TCP不能提供数据的可靠性B) UDP能够保证数据库的可靠性C) TCP数据传输效率高于UDPD) UDP数据传输效率高于TCP28. 在Java中,下面对于构造函数的描述正确的是()。

(选择一项)A) 类必须显示定义构造函数B) 构造函数的返回类型是voidC) 构造函数和类有相同的名称,并且不能带任何参数D) 一个类可以定义多个构造函数29. 根据下面的代码,String s = null;会抛出NullPointerException异常的有()。

相关文档
最新文档