java中return的用法

根据《Java编程思想:第四版》4.5节中介绍:return语句作为一个无条件的分支,无需判断条件即可发生。return语句主要有两个用途:一方面用来表示一个方法返回的值(假定没有void返回值),另一方面是指它导致该方法退出,并返回那个值。根据方法的定义,每一个方法都有返回类型,该类型可以是基本类型,也...
java中return的用法
因为它执行return i;时,它返回的是1,之后再改变i的值也没用
之后执行finally里的i++;虽然i是变成了2,但是和return 里的那个1没有关联
但是finally里语句确时执行了,你在finally里加一个输出语句 ,输出一个不
你就会看见i的确变成2了2011-11-21
Java中的return语句总是和方法有密切关系,return语句总是用在方法中,有两个作用,一个是返回方法指定类型的值(这个值总是确定的),一个是结束方法的执行(仅仅一个return语句)。
return语句用在非void返回值类型的方法中,不但能返回基本类型,还可以返回(包括用户自定义类的)对象。
return可以写在方法的任意位置,但必须保证满足几个条件:

1:每个有返回值的方法中每条路径都有return

2 :return后不应有代码,因此此处代码不会被执行
3:在try-catch-finally结构中finally先于return执行

4:只有一种情况return不执行,即代码中包含System.exit(1);2018-07-04
java中return的作用如下:
根据《Java编程思想:第四版》4.5节中介绍:return语句作为一个无条件的分支,无需判断条件即可发生。return语句主要有两个用途:一方面用来表示一个方法返回的值(假定没有void返回值),另一方面是指它导致该方法退出,并返回那个值。
根据方法的定义,每一个方法都有返回类型,该类型可以是基本类型,也可以是对象类型,同时每个方法都必须有个结束标志,因此,return起到了这个作用。在返回类型为void的方法里面,有个隐含的return语句,因此,在void方法里面可以省略不写。

拓展资料:一、return语句和其他控制结束语句的区别如下:
Java中结束语句主要有四类:return,break,continue以及goto。但是goto不常用,所有此文不对此讨论。
1、return语句:是指结束该方法,继续执行方法后的语句。
2、break语句:是指在循环中直接退出循环语句(for,while,do-while,foreach),break之后的循环体里面的语句也执行。
3、continue语句:是指在循环中中断该次循环语句(for,while,do-while,foreach),本次循环体中的continue之后语句不执行,直接跳到下次循环。
二、return在try-catch-finally语句中的使用,若在 try或catch语句里面有return语句,finally语句和return语句的执行顺序问题:
1、若有finally语句,则无论如何,都会执行该语句,在try或catch中的return语句会将它的返回值压入栈内,然后执行finally语句,当finally执行完成后,若finally语句里有return语句,则执行return语句并结束。
2、若finally没有return语句,则返回被保存的栈里的return语句,再执行。然而,在压栈时候,要注意压入栈内的是什么东西,是值本身还是引用,若是引用则引用的值会改变,若是变量值,则不会改变。
2022-12-01
这个涉及到了jvm的实现机制.在try中遇到return前,i的值是1,这时在变量i中是1,并且把1这个值复制放入到了准备输出的栈顶,这时到finally,在这里对于变量i进行了加1,但是在栈顶的值却没有变,所以return的就是1了2011-11-21
哈哈 你这个题非常有意思。

因为你在定义一个int i=0;
所以当你
try {
i++;
return i;
}
执行到这里 它return了 所以 i又等于0了,然后它就在finnally里加1了。
你把 return i; 这个注释掉就可以得到你喜欢的2了。
//先输出2 然后输出1
public static int test()
{
int i = 0;
try
{
i++;
return i;
}
catch (Exception e)
{
//e.Message;//打印信息
}
finally
{
i++;
Console.WriteLine("Finally:" + i);
}
return i;
}

//输出的都是2
public static int test()
{
int i = 0;
try
{
i++;
//return i;
}
catch (Exception e)
{
//e.Message;//打印信息
}
finally
{
i++;
Console.WriteLine("Finally:" + i);
}
return i;
}

有问题在讨论。2011-11-21
输出的是test()这个整体是1,i=2没有关系,。
try块没有抛出异常,当执行i ++后就会执行return i; 此时计算出了i的值为1,再执行finally块中代码,但不会影响要返回的值。如果你想要返回i=2,那么:
请在
finally{
i++;
return i;
}
修改一下。
希望你能够理解。2011-11-21
finally是在try执行完之后执行的。try里面已经有ruturn了。所以返回的是第一个return i;
你可以尝试一下
把int i=0拿到test方法外面来作为对象的一个属性;
然后调用执行一下test方法。
分别打印出来test返回的i值和对象属性i的当前值是多少。

public class Demo {
public static void main(String[] args) {
System.out.println(Demo.test());
System.out.println(Demo.i);
}
static int i = 0;
public static int test() {
//int i = 0;
try {
i++;
return i;
} catch (Exception e) {
e.printStackTrace();// 打印信息

} finally {
i++;

}
return i;
}

}2011-11-21
执行try中的return的时候,程序转到了finally.但是在转到finally之前,程序把要return的值已经准备好了存在不同与i的另一个变量里面,值为1。所以即使finally中改变了i的值,最终返回的还是1,不是最终i的值22011-11-21
你可以用myEclipse 自己调试一下2011-11-21
mengvlog 阅读 7 次 更新于 2025-07-19 17:52:31 我来答关注问题0
  •  翡希信息咨询 Java中return和break用法有什么区别,是不是return只能在方法中?主方法不可

    return:只能在方法内部使用。当方法执行完毕或需要提前结束时,可以使用return来返回结果或结束方法。break:主要用于循环结构中,也可以在switch语句中使用来跳出当前的case块。关于主方法:主方法:在Java中,主方法的返回类型是void,这意味着它不需要返回任何值。因此,在主方法中通常不会使用return语句来...

  •  翡希信息咨询 java中return的作用

    Java中return的作用主要有两点:返回方法的结果:在方法定义中,return语句用于指定方法的返回值。方法体执行完毕后,会返回该值给调用该方法的代码。这是return最常见的用法。例如,在一个计算两个整数和的方法中,可以使用return来返回计算的结果。提前结束方法执行:除了返回结果外,return还可以用于提前结...

  •  翡希信息咨询 java编程中,什么时候要用到"return”语句

    在Java编程中,以下情况需要用到”return”语句:返回方法的结果:当一个方法有返回值类型时,需要使用return语句返回结果。return后面跟的是方法的返回值,这个值必须与方法的返回类型相匹配。提前结束方法的执行:在某些情况下,我们可能希望在方法执行到一半时就结束它的执行,并返回一个特定的...

  • 首先,如果一个方法需要返回一个值,那么在方法结束之前必须使用return语句。这是因为return语句的作用是结束当前方法的执行,并返回结果。如果一个方法没有明确的返回值,但你仍然想提前结束方法并返回,那么你可以使用return,但后面什么也不写,直接写return ;。这样的写法会结束方法的执行,但不会返回任...

  • 在Java中,return关键字的作用非常重要,它用于返回方法的结果或结束方法的执行。比如,你定义了一个名为getInt的方法:public int getInt() { // 这个方法的意思就是一个具有返回值类型为int的方法。// 通常如果不需要返回值的话,这里就写void。// 你的具体代码 return 一个int型的变量;} 返回...

檬味博客在线解答立即免费咨询

编程相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部