一、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语句,再执行。然而,在压栈时候,要注意压入栈内的是什么东西,是值本身还是引用,若是引用则引用的值会改变,若是变量值,则不会改变。