码代码的过程中,对于有些问题当时觉着是弄明白了,过段时间再遇到可能还是会出问题。主要还是对知识点的理解不透彻,每次重头看都会有更进一步的理解,对于此类问题,简单综合整理下:
上代码:
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的区别是容易出问题的地方!