Java经典笔试题02

合集下载

Java笔试题共23题(附答案)

Java笔试题共23题(附答案)
4、遍历第二个集合,并用第一个集合判断是否包含第一个
集合的元素,如果不包含就向集合一添加元素
5、打印集合1,就是想要的结果
*/
//导包
import java.util.List;
import java.util.ArrayList;
import java.util.Iterator;
class Test {
import java.io.File;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.Arrays;
System.out.println(str+"---"+map.get(str));
}
System.out.println("----------------------");
//获取map的键值对集合
Set<Entry<String, String>> mset = map.entrySet();
}
}
System.out.println(list1);
}
}
/////////////////////////////////////////////////////////////////////
"3
/*
题目:
已知文件a.txt文件中的内容为“bcdeadferwplkou”,请编写程序读取该文件内容,
//高效字符输入流得到数据源

正式应聘的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中级笔试题及答案2020

java中级笔试题及答案2020

java中级笔试题及答案20201. 题目一:Java 基础问题:请写出Java中实现多态的三种方式。

答案:在Java中实现多态主要有以下三种方式:1. 方法重载(Overloading):在同一个类中定义多个同名方法,但参数列表不同。

2. 方法重写(Overriding):子类覆盖父类的方法,子类方法与父类方法具有相同的方法名、返回类型和参数列表。

3. 接口实现:通过实现接口中的方法来实现多态。

2. 题目二:Java 集合框架问题:简述ArrayList和LinkedList的区别。

答案:ArrayList和LinkedList都是实现了List接口的集合类,它们的区别主要体现在:1. ArrayList是基于动态数组实现的,而LinkedList是基于双向链表实现的。

2. ArrayList在随机访问时速度更快,因为链表需要从头开始遍历。

3. LinkedList在添加和删除元素时速度更快,因为链表可以直接在任意位置添加或删除节点。

4. LinkedList比ArrayList更占内存,因为LinkedList需要存储额外的节点指针。

3. 题目三:Java 异常处理问题:请解释Java中的checked异常和unchecked异常的区别。

答案:Java中的异常分为checked异常和unchecked异常:1. Checked异常:编译器在编译时会检查的异常,必须在方法声明中使用throws关键字抛出或在方法体内使用try-catch语句捕获处理。

2. Unchecked异常:编译器不会检查的异常,包括RuntimeException及其子类。

它们在运行时才会被抛出,不需要在方法声明中使用throws关键字。

4. 题目四:Java 线程问题:描述Java中实现线程同步的两种方式。

答案:Java中实现线程同步主要有两种方式:1. 使用synchronized关键字:可以修饰方法或代码块,确保同一时间只有一个线程执行该段代码。

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经典面试笔试题及答案

1.什么是对象序列化,为什么要使用?所谓对象序列化就是把一个对象以二进制流的方式保存到硬盘上。

好处:方便远程调用。

2.值传递与引用传递的区别?所谓值传递就是把一个对象的值传给一个新的变量,但是系统会给这个新的变量开辟一个新的内存空间。

不会改变原有的值所谓引用传递就是把一个对象在堆中保存的数据传递给一个变量,此时新的变量与原有的变量对应同一个内存存储空间,当新的变量修改对象的属性时,内存中的数据也会修改。

3.接口与抽象类的区别?1:接口里面不可以实现方法体,抽象类可以实现方法体。

2:接口可以多继承接口,抽象类不可以。

3:接口需要被子类实现,抽象类是要被子类继承(单一继承)。

4:接口中只能有公有的方法和属性而且必须赋初始值,抽象类中可以有私有方法和属性.5: 接口中不能存在静态方法,但属性可以和final,抽象类中方法中可以有静态方法,属性也可以。

4.谈谈继承,为什么要使用继承?所谓继承就是找出几个类中共同的部分,提取出来作为父类。

而子类只需要继承父类,就可以共享父类的方法。

使用继承能够减少重复的代码。

5.方法重载的好处?所谓重载就是在一个类中可以定义多个相同的方法,但是方法的参数类型和参数的个数以及顺序要不同。

重载的好处就是能够让我们很快的掌握该方法的功能,我们只要要记住该方法就能很快的理解该方法的参数以及参数的作用6.项目中印象最深的部分?我觉得在该项目中我体现到了反射技术的强大之处,原来我一直不清楚反射是一种什么样的技术,只知道一些概念上的知识,经过这个项目之后,终于知道该怎样灵活运用反射,以及在什么时候运用。

谈谈你对面向对象的理解与认识?我觉得使用面向对象这种思维的方式比较符合我们人类的思想,不需要去学习一些什么新的思考方式,就按照现实生活做的一些故事就能让人理解该内容的知识以及他们的作用。

我的看法就是:1:当加入新的功能的时候不会修改原有的代码。

(面向接口编程) 2: 当我们写的一个类可以重复的运用在其他项目中。

Java笔试题以及答案

Java面试题以及答案1.J2EE是什么?答:Je22是Sun公司提出的多层(multi-diered),分布式(distributed),基于组件(component-base)的企业级应用模型(enterpriese application model).在这样的一个应用系统中,可按照功能划分为不同的组件,这些组件又可在不同计算机上,并且处于相应的层次(tier)中。

所属层次包括客户层(clietn tier)组件,web层和组件,Business 层和组件,企业信息系统(EIS)层。

2.J2EE是技术还是平台还是框架?答:J2EE本身是一个标准,一个为企业分布式应用的开发提供的标准平台。

J2EE也是一个框架,包括JDBC、JNDI、RMI、JMS、EJB、JTA等技术。

3.MVC的各个部分都有那些技术来实现?如何实现?答:MVC是Model-View-Controller的简写。

"Model" 代表的是应用的业务逻辑(通过JavaBean,EJB 组件实现),"V iew" 是应用的表示面(由JSP页面产生),"Controller" 是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。

这些组件可以进行交互和重用。

6.C/S 与B/S 区别:答:有如下八个方面的不同:(1)硬件环境不同: (2)对安全要求不同(3)对程序架构不同(4)软件重用不同(5)系统维护不同(6)处理问题不同(7)用户接口不同(8)信息流不同7.什么是JNDI答:(Java Naming & Directory Interface)JA V A命名目录服务。

主要提供的功能是:提供一个目录系统,让其它各地的应用程序在其上面留下自己的索引,从而满足快速查找和定位分布式应用程序的功能。

8.什么是JMS答:(Java Message Service)JA V A消息服务。

交行java开发笔试题

交行java开发笔试题近年来,随着互联网的快速发展,各行各业对于技术人才的需求也越来越大。

作为一名Java开发工程师,我有幸参加了交通银行的Java开发笔试。

下面我将分享一下这次笔试的题目和我的思考。

笔试题目一:请编写一个Java程序,实现一个简单的计算器功能,能够进行加、减、乘、除四则运算。

这是一道经典的面试题,要求我们能够熟练运用Java的基本语法和面向对象的思想。

我首先创建了一个Calculator类,其中包含了四个方法:add、subtract、multiply和divide,分别用于实现加法、减法、乘法和除法运算。

在每个方法中,我使用了if-else语句来判断用户输入的运算符,并根据不同的运算符执行相应的运算操作。

最后,我在主函数中调用这些方法,实现了一个简单的计算器功能。

笔试题目二:请编写一个Java程序,实现一个简单的学生信息管理系统,能够实现学生信息的录入、查询、修改和删除功能。

这道题目考察了我们对于Java集合类的运用能力。

我首先创建了一个Student类,其中包含了学生的姓名、年龄和学号等属性。

然后,我创建了一个ArrayList集合,用于存储学生对象。

在主函数中,我使用了一个while循环,不断接收用户的输入,根据用户的选择执行相应的操作。

例如,当用户选择录入学生信息时,我通过Scanner类接收用户输入的学生信息,并创建一个新的学生对象,将其添加到ArrayList集合中。

当用户选择查询学生信息时,我通过遍历ArrayList集合,找到对应的学生对象,并将其信息打印出来。

当用户选择修改学生信息时,我通过遍历ArrayList集合,找到对应的学生对象,并根据用户的输入修改相应的属性。

当用户选择删除学生信息时,我通过遍历ArrayList集合,找到对应的学生对象,并将其从集合中移除。

通过这样的方式,我成功地实现了一个简单的学生信息管理系统。

通过这次笔试,我深刻体会到了Java开发的重要性和挑战性。

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

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

1. public class test {
2. public static void add3 (Integer i) }
3. int val = i.intValue ( );
4. val += 3;
5. i = new Integer (val);
6. }
7.
8. public static void main (String args [ ] ) {
9. Integer i = new Integer (0);
10. add3 (i);
11. system.out.printIn (i.intValue ( ) );
12. }
13. )
What is the result?
A. Compilation will fail.
B. The program prints “0”.
C. The program prints “3”.
D. Compilation will succeed but an exception will be thrown at line 3.
1. public class IfTest (
2. public static void main(string[]args) {
3. int x = 3;
4. int y = 1;
5. if (x = y) //if里面是布尔型
6. system.out.printIn(“Not equal”);
7. else
8. system.out.printIn(“Equal”);
9. }
10. )
What is the result?
A. The output is “Equal”.
B. The output in “Not Equal”.
C. An error at line 5 causes compilation to fall.
D. The program executes but does not print a message.
1. switch (i) { //switch里面只能是byte,int,char,short
2. default:
3. System.out.printIn(“Hello”);
4. )
What is the acceptable type for the variable i?
A.byte
B.long
C.float
D.double
E.object
F.A and B
G.C and D
1. public class Test {
2. public static void leftshift(int i, int j) {
3. i<<=j; //左移乘二
4. }
5. public static void main(String args[]) {
6. int i = 4, j = 2;
7. leftshift(i, j);
8. System.out.printIn(i);
9. }
10. }
What is the result?
A.2
B.4
C.8
D.16
E.The code will not compile
115. What is the numerical range of a char?
A. 0 . . . 32767
B. 0 . . . 65535
C. -256 . . . 255
D. -32768 . . . 32767
E. range is platform dependent
1. public class SwitchTest {
2. public static void main (String []args) {
3. System.out.PrintIn(“value =” +switchIt(4));
4. }
5. public static int switchIt(int x) {
6. int j = 1;
7. switch (x) {
8. case 1: j++;
9. case 2: j++;
10. case 3: j++;
11. case 4: j++; //4之后开始执行
12. case 5: j++;
13. default:j++;
14. }
15. return j + x; //4+4
16. }
17. }
What is the output from line 3?
A. Value = 3
B. Value = 4
C. Value = 5
D. Value = 6
E. Value = 7
F. Value = 8
3. Given:
Which two statements are reserved words in Java? (Choose Two)
A. run
B. import
C. default
D. Implement //implements
7. Given:.
1.Which two statements are true regarding the creation of a default constructor? (Choose Two)
A. The default constructor initializes method variables.
B. The compiler always creates a default constructor for every class.
C. The default constructor invokes the no-parameter constructor of the superclass.
D. The default constructor initializes the instance variables declared in the class.
E. When a class has only constructors with parameters, the compiler does not create a default constructor.
8. Given:. Which is a valid identifier?
A. false
B. default
C. _object
D. a-class
10.Given:.
Which of the following two are valid declarations of a char? (Choose Two)
A.char ch = “a”; //单引号
B.char ch = ‘\’‘; //转移字符
C.char ch = ‘cafe’;
D.char ch = “cafe”;
E.char ch = ‘\ucafe’; //代表字符的编码
F.char ch = ‘\u10100’; //最多四位
G.char ch = (char) true; //类型不一样不能强转
问题1)给定下面的类
public class Crowle{
public static void main(String argv[]){
Crowle c = new Crowle();
}
Crowle(){
System.out.println("Greetings from Crowle");
}
}
构造方法会返回哪一种数
//构造方法没有返回值类型
1) null
2) integer
3) String
4) no datatype is returned
问题2)当你试着编译运行下面的代码的时候,可能会发生什么?
public class Crowle{
public static void main(String argv[]){
Crowle c = new Crowle(); //编译器会构造一个默认的函数
}
void Crowle(){
System.out.println("Greetings from Crowle");
}
}
1) Compilation and output of the string "Greetings from Crowle"
2) Compile time error, constructors may not have a return type
3) Compilation and output of string "void"
4) Compilation and no output at runtime
问题3)下面的哪一句陈述是正确的?
1) The default constructor has a return type of void
2) The default constructor takes a parameter of void
3) The default constructor takes no parameters 默认函数不带参
4) The default constructor is not created if the class has any constructors of its own.。

相关文档
最新文档