2021年java应届毕业生笔试题
- 格式:docx
- 大小:17.44 KB
- 文档页数:12
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笔试题和答案一:选择题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二、改错题,如果有错误,请指出并修正。
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基础语法1. 请解释Java中的变量和常量有什么区别?2. 请问Java中的关键字有哪些?请列举出来。
3. 请解释Java中的注释有哪几种形式?4. 请说一下Java的数据类型有哪些?5. 请解释Java中的运算符有哪些?二、面向对象1. 请解释面向对象的三大特性是什么?2. 请解释Java中的继承,多态,封装和抽象类分别是什么?3. 请解释Java中的接口是什么?4. 请解释Java中的重载和重写有什么区别?5. 请解释Java中的构造方法和普通方法有何区别?三、异常处理1. 请解释Java中的异常处理机制是什么?2. 请解释Java中的异常分类有哪些?3. 请解释Java中的异常处理关键字try,catch,finally的作用分别是什么?4. 请解释Java中的自定义异常是什么?5. 请解释Java中的异常链是什么?四、集合类1. 请解释Java中的集合类有哪些?2. 请解释Java中的ArrayList和LinkedList的区别。
3. 请解释HashSet和TreeSet的区别。
4. 请解释HashMap和TreeMap的区别。
5. 请解释Java中如何遍历一个集合?五、多线程1. 请解释Java中的线程是什么?2. 请解释Java中的线程实现方式有哪些?3. 请解释Java中的线程池是什么?4. 请解释Java中的synchronized关键字是做什么的?5. 请解释Java中的volatile关键字是做什么的?六、IO流1. 请解释Java中的IO是什么?2. 请解释Java中的字节流和字符流有什么区别?3. 请解释Java中的输入流和输出流有什么区别?4. 请解释Java中的文件读写操作步骤是什么?5. 请解释Java中的RandomAccessFile是什么?以上是java常见基础知识笔试题。
希望这些问题能够帮助读者熟悉Java的基础语法、面向对象、异常处理、集合类、多线程以及IO流的相关知识,在笔试中更好地发挥自己的能力。
以下是一份Java高级开发的笔试题,包含了从基础知识到高级特性的各种问题。
1. 什么是Java?请简要描述其特点。
2. Java的主要应用领域有哪些?3. 什么是面向对象编程(OOP)?请列举Java中的几个主要面向对象特性。
4. 什么是垃圾回收(Garbage Collection)?它在Java中是如何工作的?5. 请解释Java中的异常处理机制。
6. Java中的继承和多态是什么?请给出一个示例。
7. 请描述Java中的泛型和它在集合框架中的应用。
8. 请解释Java中的Lambda表达式及其用途。
9. Java中的并发编程有哪些工具和技术?请列举几个。
10. 请解释Java中的Stream API及其用途。
11. 如何使用Java中的注解(Annotations)?请给出一个示例。
12. 请解释Java中的反射(Reflection)及其用途。
13. 请描述Java中的泛型擦除(Type Erasure)及其影响。
14. 如何使用Java中的序列化(Serialization)和反序列化(Deserialization)?请给出一个示例。
15. Java中的装饰器模式是什么?请给出一个示例。
16. 如何使用Java中的静态导入(Static Imports)?请给出一个示例。
17. Java中的接口和抽象类有什么区别?请给出一个使用场景。
18. 如何使用Java中的Optional类来避免空指针异常?请给出一个示例。
19. 请解释Java中的final、finally和finalize关键字的作用和区别。
20. 请描述Java中的JVM参数及其对应用程序性能的影响。
这只是一个基础的Java高级开发的笔试题,可以根据需要进行适当的扩展和深化,以满足不同公司和项目的需求。
大学java笔试题库及答案1. 以下哪个选项是Java语言的特点?A. 面向过程B. 面向对象C. 面向组件D. 面向服务答案:B2. Java中,用于定义类的关键字是:A. classB. publicC. privateD. interface答案:A3. 在Java中,下列哪个关键字用于声明一个方法?A. classB. methodC. functionD. void答案:D4. Java中,下列哪个关键字用于声明一个私有变量?A. publicB. privateC. protectedD. static答案:B5. 在Java中,下列哪个关键字用于声明一个静态变量?A. publicB. privateC. protectedD. static答案:D6. Java中,下列哪个关键字用于声明一个接口?A. classB. interfaceC. abstractD. final答案:B7. 在Java中,下列哪个关键字用于声明一个抽象类?A. abstractB. finalC. staticD. interface答案:A8. Java中,下列哪个关键字用于实现多态性?A. extendsB. implementsC. overrideD. super答案:A9. 在Java中,下列哪个关键字用于声明一个异常?A. throwB. throwsC. tryD. catch答案:B10. Java中,下列哪个关键字用于声明一个同步方法?A. synchronizedB. staticC. finalD. abstract答案:A11. 在Java中,下列哪个关键字用于声明一个内部类?A. innerB. nestedC. classD. private答案:C12. Java中,下列哪个关键字用于声明一个枚举类型?A. enumB. listC. setD. map答案:A13. 在Java中,下列哪个关键字用于声明一个泛型?A. genericB. typeC. extendsD. <>答案:D14. Java中,下列哪个关键字用于声明一个注解?A. annotationB. commentC. noteD. @interface答案:D15. 在Java中,下列哪个关键字用于声明一个线程?A. threadB. runnableC. synchronizedD. concurrent答案:B。
Java常见笔试题及答案一、单选择题(每小题2分,共10分)1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。
A. .javaB. .classC. .htmlD. .exe2、设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是( A )。
A. 3B. 3. 5C. 4D. 53、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( D )方法来完成一些画图操作。
A. start( )B. stop( )C. init( )D. paint( )4、不允许作为类及类成员的访问控制符的是( C )。
A. publicB. privateC. staticD. protected5、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。
A. static void method( )B. public void method( )C. final void method( )D. abstract void method( )二、填空题(每空格1分,共20分)1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、编译生成字节码、和解释运行字节码。
2、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是 Applet、类的子类并且存储该源程序文件的文件名为MyApplet。
13、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译器javac.exe 编译该源程序文件将产生 3 个文件名与类名相同而扩展名为 . class 的字节码文件。
4、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用2 字节内存空间,这样,无论是中文字符还是英文字符,都是占用2 字节内存空间。
校招Java工程师笔试题请在1个小时内完成测试题,题目较多,注意把控时间。
基本信息:[矩阵文本题] *一、单选题1. 关于Spring的事务传播特性,以下描述错误的是()。
[单选题] *A. PROPAGATION_REQUIRED:支持当前事务,如果当前没有事务,就抛出异常;(正确答案)B. PROPAGATION_SUPPORTS:支持当前事务,如果当前没有事务,就以非事务方式执行;C. PROPAGATION_REQUIRES_NEW:新建事务,如果当前存在事务,把当前事务挂起;D. PROPAGATION_NESTED:支持当前事务,新增Savepoint点,与当前事务同步提交或回滚;2. 关于线程和线程状态的描述,以下错误的是()。
[单选题] *A. 调用sleep()方法时,当sleep()时间结束或被打断后,线程重新回到运行状态;(正确答案)B. 调用join()方法时,当join()中断或IO完成,线程重新回到可运行状态;C. 调用 wait()方法后,线程处于等待锁定池,直到notify()或notifyAll(),线程被唤醒放到锁定池;D. 对运行状态的线程加同步锁,会使其进入锁定池。
当同步锁被释放后进行可运行状态;3. 关于线程同步的描述,以下错误的是()。
[单选题] *A. volatile可用于修饰共享变量,其保证了线程的可见性且提供了一定的有序性,但是无法保证原子性。
使用了此修饰符可禁止CPU指令重排序;(正确答案)B. synchronized用来修饰一个方法或者代码块时,能够保证在同一时刻最多只有一个线程能执行该段代码,且在获锁的的过程中线程是不能被中断的;C. lock比synchronized更灵活,性能更高。
lock()和unlock()必须成对出现,否则将会导致程序出现重大问题;D. 某个类中存在多个synchronized方法,当一个线程正在执行其中一个方法时,该方法将被锁定,其他线程不能执行该方法,只能执行其他方法;4. 关于JAVA异常类的描述,以下正确的是()。
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)的运行结果是。
1. 填空题:Java中的类是对象的________。
答案:模板/蓝图
2. 填空题:在Java中,用于访问数组元素的语法是________。
答案:arrayName[index]
3. 填空题:Java中,用于声明一个整型变量的关键字是________。
答案:int
4. 填空题:Java中,用于实现多态性的关键字是________。
答案:extends
5. 填空题:Java中,用于抛出异常的关键字是________。
答案:throws
6. 简答题:请简述Java中的四种访问修饰符及其作用范围。
答案:Java中有四种访问修饰符,分别是public、protected、default(无修饰符)和private。
它们的作用范围如下:
- public:公共访问级别,可以在任何地方访问;
- protected:受保护访问级别,只能在同一个包内或者子类中访问;
- default(无修饰符):默认访问级别,只能在同一个包内访问;
- private:私有访问级别,只能在本类中访问。
7. 简答题:请简述Java中的继承和接口的区别。
答案:Java中的继承和接口都是实现代码复用的方式,但它们之间有以下区别:
- 继承是一种“是一个”的关系,子类继承了父类的属性和方法,可以对父类的方法进行重写或扩展;而接口是一种“能做什么”的关系,类可以实现多个接口,需要实现接口中定义的所有方法。
- 继承支持多层继承,即一个子类可以继承多个父类;而接口不支持多重继承,一个类只能实现一个接口。
- 继承使用关键字extends表示,而接口使用关键字implements表示。
长春位智天下技术开发有限公司
应届毕业生面试题(Java工程师岗位)
时间:90分钟内
一、选取题(单选)
1package语句对的是:( )
A 必要在程序开头
B 不一定在程序开头
C 可以在import之后
D 包名可以以数字开头
2 java中,关于char类型错误是:( )
A 占2字节
B 可以存储一种英文字母
C 不能存储一种中文
D 其相应封装类是Character
3 关于内部类错误是:( )
A 静态内部类可以访问其外部类非静态属性
B 非静态内部类可以访问其外部类静态属性
C 内部类可以是protected
D 内部类可以是final
4 异常解决对的是: ( )
A 调用任何也许抛出异常办法,都必要捕获try catch 或者throws
B RuntimeException可以不捕获或者throws
C throw 跟throws 用法是同样
D try 必要有catch,可以没有finally
5 Vector 与 ArrayList对的是:( )
A ArrayList 浮现比Vector早
B ArrayList 速度比Vector慢
C ArrayList 没有同步保护,Vector具备同步保护
D ArrayList Vector 两者都是无序集合"
6 关于XML和HTML语言错误是:( )
A HTML语言不具备扩展性,XML语言具备较好扩展性
B HTML侧重构造话描述内容,XML侧重体现信息形式
C HTML内容与显示为一体,XML则内容与显示相分离
D HTML语言浮现比XML语言早
7 一种表字段为varchar,如果建表时没有指定长度,则默认长度为 ( )
A 1
B 25
C 38
D 255
E 4000
F 建表时varchar类型字段必要指定长度
8 A 表字段a类型int中有100条记录,值分别为1至100,如下语句select a from
A where a between 1 and 50 or (a in (25,70,95) and a between 25 and 75),则如下哪个值在这个sql语句返回成果集中 ()
A 30
B 51
C 75
D 95
二、简述题
1、请回答如下几种名词意思
JVM:
JDK:
JRE:
J2SE:
J2EE:
JNDI:
GC:
2、
short s1 = 1;
s1 = s1 + 1;
和
short s1 = 1;
s1 += 1;
比较,哪个不能得到对的运营成果?为什么?
3、抽象类和接口区别?
4、两个servlet间对象传递办法
5、Servlet生命周期,越详细越好
6、java中实现多态机制是什么?
7、jsp有哪些内置对象和惯用办法?
8、简略回答如下问题
①数组有length()这个办法吗?
②与否可以继承String类?
③try {}里有一种return语句,那么紧跟在这个try后finally {}里code会不
会被执行,什么时候被执行,在return前还是后?
④swtich与否能作用在byte上,与否能作用在long上,与否能作用在
String上?
三、SQL题,如下是一种数据库建表语句,请按规定写出查询语句。
/*
dept:部门表
emp:职工表
Deptno:部门编号
建表:
dept:
deptno(primary key),dname,loc
emp:
empno(primary key),name,job,mgr,sal,deptno */
create table dept
(
deptno varchar(10) primary key,
dname varchar(10)
);
create table emp
(
empno varchar(10) primary key,
name varchar(10),
job varchar(10),
mgr varchar(10),
sal varchar(10),
deptno varchar(10) references dept(deptno) );
insert into dept values ('1','事业部');
insert into dept values ('2','销售部');
insert into dept values ('3','技术部');
insert into emp values ('01','jacky','clerk','tom','1000','1'); insert into emp values ('02','tom','clerk','','','1');
insert into emp values ('07','biddy','clerk','','','1');
insert into emp values ('03','jenny','sales','pretty','600','2'); insert into emp values ('04','pretty','sales','','800','2');
insert into emp values ('05','buddy','jishu','canndy','1000','3'); insert into emp values ('06','canndy','jishu','','1500','3'); select * from dept;
select * from emp;
1、列出emp表中各部门部门号,最高工资,最低工资
2、列出emp表中各部门job为'CLERK'员工最低工资,最高工资
3、对于emp中最低工资不大于部门,列出job为'CLERK'员工部门号,最低工资,最高工资
4、依照部门号由高而低,工资有低而高列出每个员工姓名,部门号,工资
5、对于emp中有管理者员工,列出姓名,管理者姓名(管理者外键为mgr)
6、对于工资高于本部门平均水平员工,列出部门号,姓名,工资,按部门号排序
三、程序阅读题
写出运营成果:
四、常用代码题
1、写出一种JavaScript表单验证,验证HTML表单中<input type=”text”name=”num”id=”num”/>输入项必要为数字。
2、请写出int型转Integer型,String型转int型,int型转String型原则写法。
int num = 5;
String str = “10”;
3、写出一段完整JDBC方式连接本机MySql数据库代码。
4、写出一种单例,即一种Singleton类,只能被实例化一次。
五,java算法应用题
1、将某网页评论提交给后台字符串str中,如果包具有“\”,“<”,“>”,“=”四种符
号,过滤掉以防止系统被执行恶意代码。
写出你java代码。
String str = “<<楼主说非常对!\\和谐社会,科学上网>=。
”;
2、从前,有一种数组,这个数组里面是1到10阿拉伯数字,但是是乱序。
你敢不敢写一种冒泡帮那个数组排序一下。