版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/czh500/article/details/88770189
java中try语句块和finally语句块和return一起结合使用的案例
直接po截图和代码
大家猜一猜,test1()函数返回值会是多少?大家可以在文章下面留言,说说test1()函数为什么返回的是6,而不是7
完整的源代码如下:
package com.test;
public class TestTryAndReturn {
public static void main(String[] args) {
TestTryAndReturn testTryAndReturn = new TestTryAndReturn();
System.out.println("----------------------案例1------------------------");
int returnResult1 = testTryAndReturn.test1();
System.out.println("调用test1()函数,返回结果为 " + returnResult1);
System.out.println("----------------------案例2------------------------");
int returnResult2 = testTryAndReturn.test2();
System.out.println("调用test2()函数,返回结果为 " + returnResult2);
System.out.println("----------------------案例3------------------------");
int returnResult3 = testTryAndReturn.test3();
System.out.println("调用test3()函数,返回结果为 " + returnResult3);
System.out.println("----------------------案例4------------------------");
int returnResult4 = testTryAndReturn.test4();
System.out.println("调用test4()函数,返回结果为 " + returnResult4);
}
public int test1() {
int a = 6;
try {
System.out.println("我是try块,a = " + a);
return a;
} finally {
a++;
System.out.println("我是finally块,a = " + a);
}
}
public int test2() {
int b = 20;
try {
System.out.println("我是try块,b = " + b);
return b;
} finally {
b++;
System.out.println("我是finally块,b = " + b);
return b;
}
}
public int test3() {
int c = 35;
try {
// c++;
System.out.println("我是try块,c = " + c);
} finally {
c++;
System.out.println("我是finally块,c = " + c);
return c;
}
}
public int test4() {
int d = 88;
try {
System.out.println("我是try块,d = " + d);
// return d;
} finally {
d++;
System.out.println("我是finally块,d = " + d);
// return d;
}
return d;//如果这里写了return,那么在try和finally中就不能写return了,否则连编译都通不过
}
}
欢迎大家在文章下评论留言,不吝赐教!