JAVA程序员岗位面试基础知识(一)

1、java中有没有引用传递?

答:没有,java中只有值传递!虽然我们将一个“对象引用”作为方法参数时,可以在方法中对该引用对应的对象进行修改,并返回给方法调用者,但是我们永远无法改变这个引用本身的值!

2、try{ }里有一个return语句,那么紧跟在这个try后的finally{ }里的code会不会被执行,什么时候被执行?

答:会执行,在return前执行。但是如果此时在finally{}后还有语句,则这些语句不会再执行!

3、在try - catch 块中遇到System.exit(0)还会不会执行finally中的代码?

答:不会再执行!因为exit(0)的作用是终止当前虚拟机!

4、当try后面有多个语句块时,catch异常块的顺序应该遵循什么原则?

答:必须保证子Exception类放在父Exception类的前面,这样才可能保证产生的每个异常能分别被捕捉到。也可由同一异常进行处理,前提是这个共用的异常应该是所有这些该被捕获的异常的父类!

5、for-each语句是为处理哪两种类型提出的?

答: 数组和集合.利用该语句消除了程序员需要考虑数组和集合长度的麻烦!

6、int和String,Integer和String以及int和Integer相互转化的方法分别是什么?

答: int--------->String---------------------:静态方法String.valueOf()

String---------->int--------------------:静态方法Integer.parseInt()

Integer-------->String----------------:x.toString()方法

//x为一个Integer的实例

String---------->Integer--------------:静态方法Integer.valueOf()

int-------------->Integer--------------:new Integer(int x)

Integer-------->int--------------------:x.intValue()

//其中x是一个Integer的实例

7、请对比一下ArrayList和LinkedList?

答: ArrayList 数组 查询快 增删操作慢

LinkedList 链表 查询慢 增删操作快

8、先后执行下面三条语句int a=5;int b=a<<33;System.out.println(b);b的最终结果是多少?

答:结果b=10,移位运算时系统会以32为基数对33求余!

9、接口中是否可以有静态方法?

答:不可以!

10、数组有没有length()这个方法? String有没有length()这个方法?

答:数组没有length()这个方法,有length的属性;String有length()这个方法。


分享到:


相關文章: