求一道JAVA笔试题(为什么照代码敲进去都出错,提示在List那一行)

lijin860725 2012-09-10 04:17:03
以下Java代码的运行结果是()
public class ItemValue {
private static float getValue(){
int a = 10;
float b = 3.4f;
try {
System.out.println((a + b) + ";");
List c = null;
a = c.size() + 1;
} catch (Exception e) {
return a * b;
} finally {
System.out.println((a - b) + ";");
}
return b;
}
public static void main(String[] args) {
System.out.println(getValue() + ";");
}
}
A、13.4;3.4;6.6 B、13.4;6.6;3.4; C、13.4;34.0;6.6 D、13.4;6.6;34.0;
...全文
168 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
蓝蜘蛛 2012-09-10
  • 打赏
  • 举报
回复
可以结贴了~
蓝蜘蛛 2012-09-10
  • 打赏
  • 举报
回复
没有

一、如果try catch finally块均无return则执行最后finally外的return;如果try catch finally中任何一个有return则最后finally外的return不再执行;
二、只要finally块中有return则try或catch中的return不再执行
lijin860725 2012-09-10
  • 打赏
  • 举报
回复
想问下,最后finally后面的那句,return b,没有执行吗?
[Quote=引用 4 楼 的回复:]

建议自己debug走一遍看看流程。
先打印
System.out.println((a + b) + ";");
a=10 b =3.4 re = 13.4
List c = null;
c.size()报错进入catch块
跑到return上但是不执行

任何调用try 或者catch中的return语句之前,都会先执行finally语句,如果finally存在的话。如果fi……
[/Quote]
蓝蜘蛛 2012-09-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

类型之间的转换问题。
[/Quote]
考察是try{}catch{}finally{}中的return吧。。。。。
蓝蜘蛛 2012-09-10
  • 打赏
  • 举报
回复
建议自己debug走一遍看看流程。
先打印
System.out.println((a + b) + ";");
a=10 b =3.4 re = 13.4
List c = null;
c.size()报错进入catch块
跑到return上但是不执行

任何调用try 或者catch中的return语句之前,都会先执行finally语句,如果finally存在的话。如果finally中有return语句,那么程序就return了,所以finally中的return是一定会被return的,编译器把finally中的return实现为一个warning。

进入finally块
System.out.println((a - b) + ";");
a=10 b =3.4 re = 6.6

返回catch的return语句
a= 10 b = 3.4 re = 34

任何调用try 或者catch中的return语句之前,都会先执行finally语句,如果finally存在的话。如果finally中有return语句,那么程序就return了,所以finally中的return是一定会被return的,编译器把finally中的return实现为一个warning。

  • 打赏
  • 举报
回复
类型之间的转换问题。
lijin860725 2012-09-10
  • 打赏
  • 举报
回复
多谢,运行结果是
13.4;
6.6;
34.0;
求大侠讲解下这段代码~~~
[Quote=引用 1 楼 的回复:]

你没把需要的包导入吧。。。

在 public class ItemValue { 的上面加上

import java.util.List;
[/Quote]
菖蒲老先生 2012-09-10
  • 打赏
  • 举报
回复
你没把需要的包导入吧。。。

在 public class ItemValue { 的上面加上

import java.util.List;

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧