首页 > 解决方案 > 关于try catch语句的java问题finally

问题描述

这是java编写的代码。

public class work2{
public static void main(String args[]) {
    try {
        int x = 0;
        for (x=1; x<4; x++); 
        System.out.println(x);
    } catch(Exception e) {}
    finally {
        System.out.println("Error");
    }
}

}

输出是

4 错误

你能解释一下为什么输出看起来像这样吗?

标签: javaalgorithm

解决方案


永远记住在 try catch 块中——“最终总是运行”,无论是否有异常。现在来到你的代码。在 try 块内,您有以下行:

 try {
    int x = 0;
    for (x=1; x<4; x++); 
    System.out.println(x);
}

这里的 for 循环以分号结束,这意味着它没有主体。现在,for 循环将从 i=1 运行到 i<4,然后以 i 的值为 4 退出循环。

现在下一行是打印语句,它将 i 的当前值打印为 4。

之后,控件转到 finally 块并打印“错误”

这就是您获得输出的方式

4
Error

推荐阅读