当前位置: 首页 > news >正文

互联网有限公司优化教程网下载

互联网有限公司,优化教程网下载,东莞网络做推广公司,网站建设公司客户分析目录 实例结论 实例 1.try和catch中有return时,finally里面的语句会被执行吗 我们可以来分别看看 (1)执行try中的return时 public class Solution {public static int show() {try {return 1;}finally{System.out.println("finally模块被执行");}}publi…

目录

    • 实例
    • 结论

实例

1.try和catch中有return时,finally里面的语句会被执行吗 我们可以来分别看看
(1)执行try中的return时

public class Solution {public static int show() {try {return 1;}finally{System.out.println("finally模块被执行");}}public static void main(String args[]) {System.out.println(show());}
}

在这里插入图片描述
(2)执行catch中的return时

public class Solution {public static int show() {try {int a = 8/0;return 1;}catch (Exception e) {return 2;}finally{System.out.println("finally模块被执行");}}public static void main(String args[]) {System.out.println(show());}
}

在这里插入图片描述
我们可以得出结论: 如果程序是从try代码块或者catch代码块中返回时,finally中的代码总会执行。而且finally语句在return语句执行之后return返回之前执行的。

2.如果finally也有return的时候

public class Solution {public static int show() {try {int a = 8/0;return 1;}catch (Exception e) {return 2;}finally{System.out.println("finally模块被执行");return 0;}}public static void main(String args[]) {System.out.println(show());}
}

在这里插入图片描述
结论: 我们可以看到当finally有返回值时,会直接返回。不会再去返回try或者catch中的返回值。

3.finally中对于返回变量做的改变会影响最终的返回结果吗 我们先来看一看如果try或者catch中的返回值是普通变量时。

public class Solution {public static int show() {int result = 0;try {return result;}finally{System.out.println("finally模块被执行");result = 1;}}public static void main(String args[]) {System.out.println(show());}
}

在这里插入图片描述
并不会改变返回的内容。 当返回的变量的类型是引用类型时,结果也是一样的 代码如下:

public class Solution {public static Object show() {Object obj = new Object();try {return obj;}finally{System.out.println("finally模块被执行");obj = null;}}public static void main(String args[]) {System.out.println(show());}
}

在这里插入图片描述
我们可以得出以下结论: 如果try和catch的return是一个变量时且函数的是从其中一个返回时,后面finally中语句即使有对返回的变量进行赋值的操作时,也不会影响返回的值。

结论

1、不管有木有出现异常,finally块中代码都会执行;
2、当try和catch中有return时,finally仍然会执行;
3、finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,管finally中的代码怎么样,返回的值都不会改变,任然是之前保存的值),所以函数返回值是在finally执行前确定的;
4、finally中最好不要包含return,否则程序会提前退出,返回值不是try或catch中保存的返回值。

http://www.hkea.cn/news/635155/

相关文章:

  • 做网站去哪里全国免费发布广告信息平台
  • 靖江做网站湖南seo服务电话
  • 工程建设科学技术奖申报网站友情链接交换标准
  • 做网站后期为什么续费链交换
  • 网站开发与设计专业西安seo顾问培训
  • 企业网站建设话术优化营商环境指什么
  • 傻瓜式网站制作微信运营技巧
  • 甘肃网络推广软件seo方案
  • 建筑公司网站首页图片网站推广引流
  • 购物网站 后台模板今日头条站长平台
  • 营销导向企业网站策划站长工具无内鬼放心开车禁止收费
  • WordPress不能支付宝交易吗如何优化
  • 南昌seo网站设计站长工具是做什么的
  • 做IP授权的一般看什么网站一级消防工程师考试
  • 项目建设备案网站爱站网站长百度查询权重
  • 铜陵专业网站制作公司软文免费发布平台
  • 鹿泉市建设局网站短视频seo关键词
  • 手机网站开发标准网络营销服务工具
  • 施工企业分包工程会计与税务处理网站推广优化是什么意思
  • 网站建设开发的目的智能建站网站模板
  • 深圳市做网站的有那些公司沈阳百度推广哪家好
  • 用flash做网站教程个人发布信息免费推广平台
  • 网站主题页网站模板中心
  • 制作网页用什么进行页面布局seo优化方案案例
  • 国外经典平面设计网站做网站的费用
  • 学校营销型网站建设最新长尾关键词挖掘
  • 服务网络是什么意思上海关键词排名优化价格
  • 黑龙江做网站哪家好下载官方正版百度
  • 实时网站制作网站关键字优化
  • 商城网站要多少钱网页制作app