《java面试题01》--try..catch以及i++和++i的用法

码代码的过程中,对于有些问题当时觉着是弄明白了,过段时间再遇到可能还是会出问题。主要还是对知识点的理解不透彻,每次重头看都会有更进一步的理解,对于此类问题,简单综合整理下:

上代码:

    public static void main(String[] args) {
        System.out.println(test1());
    }

    public static int test1() {
        int i = 100;
        try {
            //int a = 1/0;
            System.out.println("try");
            //int a = ++i; 
            int a = i++;//先运算int a = i; 再赋值i = i+1x  100
            System.out.println("a: "+a);
            System.out.println("i: "+i);
            return a;
        } catch (Exception e) {
            ++i;
            System.out.println("catch");
            return i;
        }finally {
            ++i;
            System.out.println("finally");
            return i;
        }
    }

运行main(),打印结果:

try
a: 100
i: 101
finally
102

此处, try...catch...finally的执行先后顺序, 以及i++和++i的区别是容易出问题的地方!

猜你喜欢

转载自blog.csdn.net/weixin_39039342/article/details/83860332