Java基础知识拾遗补缺

      最近要换工作,明天就要去面试,还是长沙一家不错的公司,赶紧看看面试蹄,查漏补缺,希望可以通过面试。

这里先记录下复习过程中碰到的知识点,主要是自己感觉很重要又不记得的。

  1. 一个数的正与负之间的转换?

    --最容易想到的方式是乘以-1,但这不是最佳答案,Java提供了取反操作符 ~,取反加1就可以取得它的相反数

  2. finally 语句块前有return语句,finally会不会执行?

    --比如:try{ return; }catch(){} finally{return;}  或者  try{ return;}catch(){return;} finally{return;}

    结果是无论前面有没有return语句,finally都会被执行,如果finally里还有return,那么程序提前退出了,不会执行try或者catch里面的return。

    下面是个测试例子

    Java基础知识拾遗补缺_第1张图片

    执行的结果让人有点意外,不是3,而是2,原因是在return 之前,程序把返回的值保持在一个局部变量里面,执行完finally语句后再返回之前保存的值,finally里的修改不起作用。

    3.String str = new String("abc"); 我们知道这段代码一共创建了两个对象,但是为什么呢,有点不太清楚,记录一下,一个是用文本方式 创建的对象"abc",另外一个是new String( )创建的对象.



你可能感兴趣的:(java基础,查漏补缺,面试重点)