写出下列代码i的输出结果为?

xiaoxiao2021-02-28  31

第一种:在try里面有return语句,而finally中没有return语句,所以i的值将为try的返回值

public class TestI { public static void main(String[] args) { TestI testI = new TestI(); System.out.println("i=" + testI.test()); } private int test() { int i = 1; try { return i; } finally { ++i; System.out.println("finally is execute....."); } } }

第二种:在try里面有return语句,而finally里面也有return语句,那么整个程序返回值为fianlly的return语句的值,finally的返回值会覆盖之前try的返回值

public class TestI { public static void main(String[] args) { TestI testI = new TestI(); System.out.println("i=" + testI.test()); } private int test() { int i = 1; try { return i; } finally { ++i; System.out.println("finally is execute....."); System.out.println("finally:" + i); return i; } } }
转载请注明原文地址: https://www.6miu.com/read-2627566.html

最新回复(0)