名人名言
昨日翻译
“Those who dare to fail miserably can achieve greatly.” ——John F. Kennedy
敢于直面失败和苦难的人能够获得很大的成就
——约翰·费茨杰拉德·肯尼迪
今日名言
“I can’t give you a sure-fire formula for success, but I can give you a formula for failure: try to please everybody all the time.” ——Herbert Bayard Swope
2019.04.09问题及解析
题目
public class ExceptionTest {
public static void main(String[] args) {
int number = 0;
System.out.println(returnTest(number));
}
private static int returnTest(int number){
try{
return number++;
}catch (Exception ignored){
}finally {
return ++number;
}
}
}
请问结果输出什么?
A.0
B.1
C.2
D.编译错误
E.输出异常
答案与解析
1.相关知识
我们之前都练习都见到过try catch finally,也知道了无论是否捕获到异常都会执行finally语句,那么当try和finally同时return时,会是什么样的顺序呢。
当try中有return,存在finally时,会先执行return之后的语句但不返回,执行完finally中的语句再return,如果finally语句中也有return,会直接通过finally的return语句返回。
2.源码分析
定义了一个整型变量number赋初始值为0
returnTest方法传入参数number,将方法的返回值输出
returnTest方法try方法体中返回number++
catch中什么也不做
finally中返回 ++number。
3.答案解析
执行try时先将number变为1,之后finally中number变为2,最终返回2
因此输出2,答案选C。
2019.04.11问题
public class Value {
public static void main(String[] args) {
System.out.println(getValue(2));
}
private static int getValue(int i){
int result = 0;
switch (i) {
case 1:
result += i;
case 2:
result += i*2;
case 3:
result += i*3;
}
return result;
}
}
请问结果输出什么?
A.0
B.2
C.4
D.10
E.输出异常
往期回顾
java每日一练(19_04_10)|异常—— try catch finally
java每日一练(19_04_09)|面向对象—— 继承、访问修饰符
java每日一练(19_04_08)|运算符、循环—— for、++自增
java每日一练(19_04_07)|基础数据类型、包装类—— double、float、int、Double
java每日一练(19_04_03)|HashMap、Hashtable
java每日一练(19_04_02)|instanceof关键字
java每日一练(19_03_29) (不定项选择题)
java每日一练(19_03_27) (web服务器)
java每日一练(19_03_26) (程序的输出结果)
加入我们吧~
眼过千遍,不如手过一遍,一定一定要把自己的想法写出来(想法不论对错,写你所想就是进步),这样才会有所收获,你的每一个留言和分享小刀都会认真回复,彼此学习共同进步~
小刀和小伙伴在学习群里
等你来一起监督学习哦,坚持!加油!
进群请加小刀微信: best396975802
。

END

微信群请点击公众号菜单进微信群
文字|天堂
排版|花音
你点的每个在看,我都认真当成了喜欢