黑马程序员技术交流社区
标题:
Test6 这样写行吗?求大神帮帮忙
[打印本页]
作者:
刘建华
时间:
2015-1-11 17:04
标题:
Test6 这样写行吗?求大神帮帮忙
package com.itheima;
/**
6、 用代码证明,在try中写了return,后面又写了finally,是先执行return还是先执行finally?
@author 刘建华
*/
/*
*在try中写了return,后面又写了finally,是先执行return还是先执行finally?
*思路:定义一个返回值为int的函数。在try中和fianlly中分别对num进行赋值;
*然后再try中return中返回这个num。然后再主函数中打印出num的值。
*步骤:1.建立一个返回值为int类型的函数。
*2.建立try和finally,分别在其中给num不同的值。
*3.在主函数中调用这个函数。打印出num的值。
*/
public class Test6
{
//打印出num的值
public static void main(String[] args)
{
int num=Num();
System.out.println(num);
}
public static int Num()
//运行try,给num赋值。
{
int num=1;
try
{
num=8;
return num;
}
//运行finally,给num赋值。
finally
{
num=11;
}
}
}
/*判断:1。如果打印出了的值为finally中给num赋的值,证明了先执行finally,后执行return。
2。如果打印出的值为try中给num赋的值,证明行执行return,后执行finally。
结果证明:打印出来的值为try中给num赋的值,所以想执行return,后执行finally。*/
作者:
叫我小强
时间:
2015-1-11 17:36
我想说的是在try中如果在return之前有个异常语句怎么办呢????????
作者:
noiary
时间:
2015-1-11 18:53
public static void main(String[] args) {
System.out.println(getStr());//"return"
System.out.println(str);//"finally"
}
static String str = "";
private static String getStr() {
try {
str = "return";
return str;
}
finally {
str = "finally";
}
}
复制代码
作者:
lwj123
时间:
2015-1-11 19:46
ruturn代表这个函数已经结束了,还怎么执行finally啊,结果是8
作者:
kenfine
时间:
2015-1-11 20:29
个人认为return只是跳出try,而程序会继续执行,finally中的语句一定会执行,无论抛出异常与否,要不在IO流中怎么要在finally关闭IO资源
作者:
自信流云
时间:
2015-1-11 20:43
新人弱弱的问句try不是和canth一起用的吗?
作者:
wuyiai
时间:
2015-1-11 21:07
public static void main(String[] args) {
System.out.println(getStr());//"return"
}
static String str = "";
private static String getStr() {
try {
str = "return";
return str;
}
finally {
System.out.println("finally");
}
}
这样不是就可以判断了吗
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2