finally语句块中的语句一定会被执行吗?将程序中的变量b改成非零值。写下运行结果并说明为什么?程序也会打印出“程序结束”吗?
时间: 2024-03-25 21:39:47 浏览: 29
finally语句块中的语句一定会被执行,除非在try语句块中使用了System.exit()方法或者在catch语句块中使用了throw关键字抛出异常。
如果将程序中的变量b改成非零值,则程序会打印出“finally语句块被执行”,因为无论try语句块是否抛出异常,finally语句块都会被执行。此外,程序还会打印出“程序结束”,因为在finally语句块执行完毕后,程序会继续执行finally语句块下面的代码,即System.out.println("程序结束")语句。
下面是修改后的程序示例:
```java
public class FinallyDemo {
public static void main(String[] args) {
int a = 10;
int b = 1;
try {
int c = a / b;
} catch (Exception e) {
e.printStackTrace();
} finally {
b = 2;
System.out.println("finally语句块被执行");
}
System.out.println("程序结束");
}
}
```
程序的输出结果为:
```
finally语句块被执行
程序结束
```
可以看到,程序打印出了“finally语句块被执行”和“程序结束”两个字符串,说明finally语句块和程序结束语句都被执行了。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)