java基本笔试和答案
1、面试题模块汇总ava根底笔试题及答案
间:2017-05-06 15:35:53 JAVA认证 我要投稿
ava根底笔试题及答案
Java看起来规划得很像C++,可是为了使言语小和容易了解,规划者们把C++言语中许多可用的
征去掉了,这些特征是一般程序员很少运用的。下面是关于java根底笔试题及答案,期望大家仔细阅
!
1. 下面哪些是Thread类的办法()
A start() B run() C exit() D getPriority()
答案:ABD
解析:看Java API docs吧:http://docs.oracle.com/javase/7/docs/api/,exit()是System类的
法,如System.exit(0)。
2. 下面关于java.lang.Exception类的说法正确的是()
A 承继自Throwable B Serialable CD 不记得,横竖不正确
答案:A
解析:Java反常的基类为java.lang.Throwable,java.lang.Error和java.lang.Exception承继
hrowable,RuntimeException和其它的Exception等承继Exception,详细的RuntimeException继
RuntimeException。
扩展:过错和反常的区别(Error vs Exception)
1) java.lang.Error: Throwable的子类,用于标记严重过错。合理的使用程序不应该去try/catch这
过错。绝大多数的过错都是非正常的,就底子不应呈现的。
java.lang.Exception: Throwable的子类,用于指示一种合理的程序想去catch的条件。即它仅仅
一种程序运转条件,而非严重过错,而且鼓励用户程序去catch它。
2) Error和RuntimeException 及其子类都是未查看的反常(unchecked exceptions),而一切其他
Exception类都是查看了的反常(checked exceptions).
checked exceptions: 通常是从一个能够康复的程序中抛出来的,而且最好能够从这种反常中运用
序康复。比方FileNotFoundException, ParseException等。
unchecked exceptions: 通常是假如一切正常的话本不应产生的反常,可是的确产生了。比方
rrayIndexOutOfBoundException, ClassCastException等。从言语自身的角度讲,程序不应去
atch这类反常,尽管能够从比方RuntimeException这样的反常中catch并康复,可是并不鼓励终端程
员这么做,由于完全没要必要。由于这类过错自身便是bug,应该被修复,呈现此类过错时程序就应
当即停止执行。 因而,面对Errors和unchecked exceptions应该让程序主动终止执行,程序员不应
比方try/catch这样的作业,而是应该查明原因,修正代码逻辑。
RuntimeException:RuntimeException体系包含过错的类型转化、数组越界拜访和试图拜访空
针等等。
处理RuntimeException的原则是:假如呈现 RuntimeException,那么一定是程序员的过错。例
,能够经过查看数组下标和数组边界来避免数组越界拜访反常。其他(IOException等等)checked异
一般是外部过错,例如试图从文件尾后读取数据等,这并不是程序自身的过错,而是在使用环境中出
的外部过错。
3. 下面程序的运转结果是()
String str1 = “hello”;
最新文章
Ubuntu下Java环境的搭 JAVA认证考试费用
JAVA覆盖率东西EMMA JAVA认证教导考点:J
java完成缩略图和抓屏幕 java多线程面试题
JAVA+HTML5的优势有 java根底笔试题及答案
Java命令参数阐明 Java考试格林模拟题
Java开发岗位面试题「」 java程序10个面向目标
根底会计试题及答案 Java笔试题及答案
如何用JSP衔接 Java经典面试题之选择
Java中日期的处理办法 Java线程同步的办法
猜你喜爱
电工根底试题及答案 理学根底试题及答案
护理学根底试题及答案 算机使用根底试题及
大学计算机根底试题及 算机根底知识试题及
计算机根底知识试题及 大计算机使用根底试
中考语文试题及答案 面试标题及答案
计算机试题及答案 全知识竞赛试题及答
教师考试试题及答案 电工根底试题
会计学原理试题及答案 学教育学试题及答案
正宗冒险岛 怎样战胜厌学症
学霸的学习办法 深度学习算法
2021/8/27 java根底笔试题及答案
http://www.fantahotel.com/
String str2 = “he” + new String(“llo”);
System.err.println(str1 == str2);
答案:false
解析:由于str2中的llo是新请求的内存块,而==判别的是目标的地址而非值,所以不一样。假如
String str2 = str1,那么便是true了。
4. 下列说法正确的有()
A. class中的constructor不可省掉
B. constructor必须与class同名,但办法不能与class同名
C. constructor在一个目标被new时执行
D.一个class只能界说一个constructor
答案:C
解析:这儿或许会有误区,其实一般的类办法是能够和类名同名的,和结构办法
2021/8/27 java根底笔试题及答案
http://www.paccohk.com/
7. 下列归于联系型数据库的是()
A. Oracle B MySql C IMS D MongoDB
答案:AB
回答:IMS(Information Management System )数据库是IBM公司开发的两种数据库类型之一;
一种是联系数据库,典型代表产品:DB2;
另一种则是层次数据库,代表产品:IMS层次数据库。
非联系型数据库有MongoDB、memcachedb、Redis等。
8. GC线程是否为看护线程?()
答案:是
解析:线程分为看护线程和非看护线程(即用户线程)。
只要当时JVM实例中尚存在任何一个非看护线程没有完毕,看护线程就全部作业;只有当最后一个
看护线程完毕时,看护线程随着JVM一起完毕作业。
看护线程最典型的使用便是 GC (垃圾收回器)
9. volatile关键字是否能保证线程安全?()
答案:不能
解析:volatile关键字用在多线程同步中,可保证读取的可见性,JVM仅仅保证从主内存加载到线
作业内存的值是最新的读取值,而非cache中。但多个线程对
volatile的写操作,无法保证线程安全。例如假如线程1,线程2 在进行read,load 操作中,发现主
存中count的值都是5,那么都会加载这个最新的值,在线程1堆count进行修正之后,会write到主
存中,主内存中的count变量就会变为6;线程2由于现已进行read,load操作,在进行运算之后,也会
新主内存count的变量值为6;导致两个线程及时用volatile关键字修正之后,仍是会存在并发的情
。
10. 下列说法正确的是()
A LinkedList承继自List
B AbstractSet承继自Set
C HashSet承继自AbstractSet
D WeakMap承继自HashMap
答案:AC
11. 存在使i + 1 < i的数吗()
答案:存在
解析:假如i为int型,那么当i为int能表明的最大整数时,i+1就溢出变成负数了,此时不就
扩展:存在使i > j || i <= j不成立的数吗()
答案:存在
解析:比方Double.NaN或Float.NaN,感谢@BuilderQiu网友指出。
12. 0.6332的数据类型是()
A float B double C Float D Double
答案:B
解析:默认为double型,假如为float型需求加上f显示阐明,即0.6332f
13. 下面哪个流类归于面向字符的输入流( )
2021/8/27 java根底笔试题及答案
http://www.chinapacktianjin.com/
A BufferedWriter B FileInputStream C ObjectInputStream D InputStreamReader
答案:D
14. Java接口的修饰符能够为()
A private B protected C final D abstract
答案:CD
解析:接口很重要,为了阐明情况,这儿稍微啰嗦点:
(1)接口用于描绘系统对外供给的一切服务,因而接口中的成员常量和办法都必须是揭露(public)类
的,保证外部运用者能拜访它们;
(2)接口仅仅描绘系统能做什么,但不指明如何去做,所以接口中的办法都是笼统(abstract)办法;
(3)接口不触及和任何详细实例相关的细节,因而接口没有结构办法,不能被实例化,没有实例变量,只
静态(static)变量;
(4)接口的中的变量是一切完成类共有的,既然共有,必定是不变的东西,由于变化的东西也不能
算共有。所以变量是不可变(final)类型,也便是常量了。
(5) 接口中不能够界说变量?假如接口能够界说变量,可是接口中的办法又都是笼统的,在接口中
法经过行为来修正特点。有的人会说了,没有联系,能够经过 完成接口的目标的行为来修正接口中
特点。这当然没有问题,可是考虑这样的情况。假如接口 A 中有一个public 拜访权限的静态变量
。依照 Java 的语义,咱们能够不经过完成接口的目标来拜访变量 a,经过 A.a = xxx; 就能够改动接
中的变量 a 的值了。正如笼统类中是能够这样做的,那么完成接口 A 的一切目标也都会主动拥有这
一改动后的 a 的值了,也便是说一个当地改动了 a,一切这些目标中 a 的值也都跟着变了。这和笼统
有什么区别呢,怎样表现接口更高的笼统等级呢,怎样表现接口供给的一致的协议呢,那还要接口这
笼统来做什么呢?所以接口中 不能呈现变量,假如有变量,就和接口供给的一致的笼统这种思维是抵
的。所以接口中的特点必定是常量,只能读不能改,这样才能为完成接口的目标供给一个统 一的属
。
通俗的`讲,你认为是要变化的东西,就放在你自己的完成中,不能放在接口中去,接口仅仅对一
事物的特点和行为更高层次的笼统。对修正关闭,对扩展(不同的完成 implements)敞开,接口是对
闭原则的一种表现。
所以:
接口的办法默认是public abstract;
接口中不能够界说变量即只能界说常量(加上final修饰就会变成常量)。所以接口的特点默认是
ublic static final 常量,且必须赋初值。
注意:final和abstract不能同时呈现。
15. 不经过结构函数也能创立目标吗()
A 是 B 否
答案:A
解析:Java创立目标的几种方式(重要):
(1) 用new语句创立目标,这是最常见的创立目标的办法。
(2) 运用反射手法,调用java.lang.Class或许java.lang.reflect.Constructor类的newInstance()实例
法。
(3) 调用目标的clone()办法。
(4) 运用反序列化手法,调用java.io.ObjectInputStream目标的 readObject()办法。
(1)和(2)都会明确的显式的调用结构函数 ;(3)是在内存上对已有目标的影印,所以不会调用结构函
;(4)是从文件中复原类的目标,也不会调用结构函数。
2021/8/27 java根底笔试题及答案
http://www.oh100.com/peixun/JAVA/260455.html 5/7
16. ArrayList list = new ArrayList(20);中的list扩大几回()
A 0 B 1 C 2 D 3
答案:A
解析:这儿有点迷惑人,大家都知道默认ArrayList的长度是10个,所以假如你要往list里增加20个
素必定要扩大一次(扩大为本来的1.5倍),可是这儿显示指明晰需求多少空间,所以就一次性为你分
这么多空间,也便是不需求扩大了。
17. 下面哪些是对称加密算法()
A DES B AES C DSA D RSA
答案:AB
解析:常用的对称加密算法有:DES、3DES、RC2、RC4、AES
常用的非对称加密算法有:RSA、DSA、ECC
运用单向散列函数的加密算法:MD5、SHA
18.新建一个流目标,下面哪个选项的代码是过错的?()
A)new BufferedWriter(new FileWriter(“a.txt”));
B)new BufferedReader(new FileInputStream(“a.dat”));
C)new GZIPOutputStream(new FileOutputStream(“a.zip”));
D)new ObjectInputStream(new FileInputStream(“a.dat”));
答案:B
解析:请记得13题的那个图吗?Reader只能用FileReader进行实例化。
19. 下面程序能正常运转吗()
public class NULL {
public static void haha(){
System.out.println(“haha”);
}
public static void main(String[] args) {
((NULL)null).haha();
}
}
答案:能正常运转
解析:输出为haha,由于null值能够强制转化为任何java类类型,(String)null也是合法的。但null
制转化后是无效目标,其返回值仍是为null,而static办法的调用是和类名绑定的,不凭借目标进行
问所以能正确输出。反过来,没有static修饰就只能用目标进行拜访,运用null调用目标必定会报空
针错了。这儿和C++很类似。
版权声明:本文为lannyQ-Q原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。