黑马程序员技术交流社区
标题:
fiinally输出值不是不变吗?
[打印本页]
作者:
ztwztw
时间:
2013-11-26 10:49
标题:
fiinally输出值不是不变吗?
在毕老师的10-06中,第20题,
finally
{
outoup+="3";
}
outoup+="4";
最后输出
system.out.println(outoup);最后输出的是4
作者:
RuntimeError!
时间:
2013-11-26 10:59
final是定义常量的,finally是在try catch中无论如何也要执行的一块 楼楼不要弄混淆了哇~~
作者:
ixiangfeng
时间:
2013-11-26 11:00
麻烦搞清楚final和finally
作者:
王雷1
时间:
2013-11-26 11:28
finally主要应用在异常上,他的意思是说不管前面是否正常,这里都要要被执行到得地方,但有一种情况是执行不到的,执行到System.exit(0);finally不会执行。
而你写的东西里outoup赋值成功与否都不重要了,因为你后面又在一次的赋值,它是字符串,第一次指向了字符池中的字符串3,后一次又指向了字符池中的4,你只是改变的outoup的指向而已。
作者:
邓伟
时间:
2013-11-26 11:33
class Test
{
public static void main(String[] args)
{
try
{
System.out.println("try 代码块");
}
catch (Exception e)
{
System.out.println("catch 代码块");
}
finally
{
System.out.println("finally 代码块");
}
System.out.println("是否最后执行");
}
}
复制代码
你可以看到最,执行顺序是 try 代码块, finally代码块.最后才是是否最后执行 这三句话.
然而你的程序在try中并没有发生Exception 异常,所以不会执行catch 代码块这句话,
同时,最后赋值的值是4 也就是outoup+="4"; 这段语句..
不知道对不对,新手回答..大家一起探讨
作者:
木木赤赤
时间:
2013-11-26 11:34
finally后的{}里的语句代表的是一定执行的语句
final用于定义常量的
两者不能混为一谈。
仔细观看老师的视频,里面有详细的解释的。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2