当尝试在Java执行以下功能:尝试-finally块澄清
public static int myfunc (int x) {
try {
return x;
} finally {
x++;
}
}
public static void main (String args[]) {
int y=5,z;
z = myfunc(y);
System.out.println(z);
}
印刷在控制台上的输出是如图5所示,其中,正如人们所期望6进行打印。任何想法为什么?
'return'将取代其他任何更改。此外,无论如何,您对'x'所做的任何更改都不会在方法之外看到。你们很多人也想研究post和pre增量之间的差异 – MadProgrammer
@MadProgrammer:Post/pre对上面的代码没有任何影响。 –
@TJCrowder不在上面的代码中,但是如果OP试图在'finally'块中做'return x ++;',那么它会这么做;} – MadProgrammer