欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【面试题】Java面试题

程序员文章站 2022-05-06 17:52:08
...

【1】i+1

package 面试算法;

import java.util.ArrayList;

public class return返回值 {
    static Test b=new Test(333);

    public static void main(String[] args) {
        Integer i = Integer.MAX_VALUE;
        boolean result =  i + 1 < i;
        //System.out.println(result);
       System.out.println(test1().getQ());
    //  ArrayList<Test> a =null;
    }

    public static Test test1() {
        //int b = 20;

        try {
            //System.out.println("try block");
           return b; //100;
        }
        catch (Exception e) {
           // System.out.println("catch block");
        }
        finally {
           // System.out.println("finally block");
          b=new Test(666);
          return b;
        }
       //return new Test(55);
    }
}

class Test{
    private int q = 5;
    private int p = 9;
    public Test(int q){
        this.q = q;
    }
    public int getQ() {
        return q;
    }
    public void setQ(int q) {
        this.q = q;
    }
    public int getP() {
        return p;
    }
    public void setP(int p) {
        this.p = p;
    }
}

总结:
【a】try中包含return语句,如果finally中,包含return语句。那么执行finally中的return语句。如果finally中对变量做了修改,返回改变了时候,返回的就是改变后的值
【b】finally中没有包含return语句,执行的就是try中的return 语句
【c】假如try中,在return前存在抛出异常的情况,catch中的代码会先执行。然后finally中的代码也会执行。如果finally中有return。则执行返回值,如果没有return。则执行finally{}外的返回值
【3】Hashmap的原理
3.1 jdk 1.6
初始化,