前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >每日一题(3)

每日一题(3)

作者头像
KEN DO EVERTHING
发布2019-01-17 14:43:27
3470
发布2019-01-17 14:43:27
举报
文章被收录于专栏:KEN DO EVERTHING

上题回顾与解析

代码语言:javascript
复制
 public static int test(){
        int i = 1;
        try{
            i = 1/0;
            i++;
        }catch (Exception e){
            return ++i;
        }finally {
            return i++;
        }
    }

思考:返回值是多少?

这一题涉及两个考点:

  1. 前缀和后缀自增(这里不细讲,相关阅读:java"小心机"(1)中的3.前后缀自增自减)
  2. try代码块中含有return,且存在finally代码块时的执行顺序

执行顺序如下:

  1. 遇到i = 1/0;报异常,被捕获,进入catch代码块
  2. 先执行了++1,此时i = 2,然后执行return,但因存在finally代码块,此时需先将结果存于一个变量中,执行完finally代码块,再返回该变量
  3. finally代码中遇到了return语句,直接返回当前return的值(相当于覆盖了上个次return,上一个return的值作废,不会被返回)

每日一题

代码语言:javascript
复制
下面的定义哪些对的?
A:float f3 = 3;
B:float f1 = 3.4;
C:float f2 = 3.4f;
D:double d = 3.4;
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-08-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 java从心 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档