笔试题汇总

  1. try、catch、finally和return 执行顺序

    • 如果在try中就有return,程序会先执行try中的语句,并且暂时保存需要return的信息,接着去执行finally语句,最后执行return操作。但这边值得注意的是,如果返回的是基本数据类型,那return的数据就是try保存的信息,但如果return的是引用类型,那么如果在finally语句中对引用类型进行修改,return的信息也会随之变化。

    • 不难看出,finally中的语句总是会被执行,那么如果finally中和try中都有return语句呢?此时try中的return语句会失效,在执行完finally的return之后,就不会再执行try中的return。这种写法,编译是可以编译通过的,但是编译器会给予警告,所以不推荐在finally中写return,这会破坏程序的完整性,而且一旦finally里出现异常,会导致catch中的异常被覆盖。

  2. Java取整三种方法

    • Math. Ceil() : 向上取整
    • Math. floor() : 向下取整
    • Math. round() : 四舍五入后取整
  3. Java调试器

    java.exe是java虚拟机

    javadoc.exe用来制作java文档 (Java document)

    jdb.exe是java的调试器 (Java debugger)

    javaprof.exe是剖析工具 (Java profile)

    javac.exe编译java成二进制class文件 (Java compiler)