JAVA中最容易让人忽视的基础。

  可能很多找编程工作的人在面试的时候都有这种感受,去到一个公司填写面试试题的时候,多数人往往死在比较基础的知识点上。不要奇怪,事实就是如此一般来说,大多数公司给出的基础题大概有122道,代码题19道左右。

  一般来说最先会考验你JAVA中比较基础的东西。比如“面向对象的特征有哪些方面 并依次解释含义?”;“int 和 Integer 有什么区别?";"String是最基本的数据类型吗?";

"原始封装类有哪些?"等等。虽然看似简单,但能够真正解释清楚的没有多少,这就充分体现了程序员对JAVA这门语言的理解是否深刻。接下来我就罗列几个JAVA中面试题中比较经典的面试题。

1.byet b=4,b1=3,b2=7   问b=b1+b2的结果是什么?为什么?;

  一般来说,初学者可能会回答结果b=10,这是不对的,结果会报错:可能会 损失精度。为什么呢?因为b1、b2是一个变量取值范围只有-128~127.如果这么做的话系统就会认为可能会超出BYTE的范围。

2.int a=3,b;  (1)b=a++和(2)b=++a  分别两次输出a和b的结果是什么?区别在于哪里?

  b=a++,因为a++要参与运算的时候要保留原值参与运算,所以它会先把a的值赋值给b,然后再做自增。所以结果就是 a=4,b=3。

b=++a。 但是当++在a前面的时候就有区别了,虽然会保留原值在内存但不会参与运算,所以并不会先赋值,而是先做自增,再做赋值运算。

3,short s=3;  (1)s+=4 与(2)s=s+4的 S的结果是什么?为什么?

我们先来说说(1) 最后输出的S为s=7 (2)则会报错:可能会丢失精度。因为在JAVA中4默认INT类型,s+=4与s=s+4的区别就在于前者运算的时候会在底层做一个强制数据类型转换,而后者不会,所以会报错。

4、&和&&的区别。 
&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(短路与)(and)。

|和||也是一样,|是位运算符,表示按位或运算,||是逻辑运算符,表示逻辑或(短路或)(OR)。

5、描述一下JVM加载class文件的原理机制?
JVM中类的装载是由ClassLoader和它的子类来实现的,Java ClassLoader 是一个重要的Java运行时系统组件。它负责在运行时查找和装入类文件的类。

6、String是最基本的数据类型吗?
基本数据类型包括byte、int、char、long、float、double、boolean和short。

上一篇:HDU 2830 Matrix Swapping II (DP,最大全1矩阵)


下一篇:[Android]WebView method must on same thread