Java知识点——return语句,结束语句

Java知识点——return语句,结束语句

1 return语句

参考学习:java 内return语句总结

return语句作为一个无条件的分支,无需判断条件即可发生。
return语句:是指结束该方法,继续执行方法后的语句。

return语句主要有两个用途:

  1. 一方面用来表示一个方法返回的值(假定没有void返回值);
  2. 另一方面是指它导致该方法退出,并返回那个值。根据方法的定义,每一个方法都有返回类型,该类型可以是基本类型,也可以是对象类型,同时每个方法都必须有个结束标志,因此,return起到了这个作用。

    在返回类型为void的方法里面,有个隐含的return语句,因此,在void方法里面可以省略不写。

2 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之后语句不执行,直接跳到下次循环。

3 关于java中的try-catch-finally语句和return

参考学习:关于java中的try-catch-finally语句和return

第一:return语句并不是函数的最终出口,如果有finally语句,这在return之后还会执行finally(return的值会暂存在栈里面,等待finally执行后再返回)

第二:finally里面不建议放return语句,根据需要,return语句可以放在try和catch里面和函数的最后。可行的做法有四:

1.return语句只在函数最后出现一次。

2.return语句仅在try和catch里面都出现。

3.return语句仅在try和函数的最后都出现。

4.return语句仅在catch和函数的最后都出现。

注意,除此之外的其他做法都是不可行的,编译器会报错。

(1)如果程序运行到try成功时可以返回结果,则采用方法2。
(2)如果程序运行到catch时(即中途出错时)无需再继续执行后面的代码了,则采取方法4;
(3)如果程序运行到try或catch时还需要继续执行后面的代码,则采取方法1。

4 returnwhile等循环判断语句

编译器认为while语句有在任何情况下都能执行的能力,但是只在入参为true的情况下有该能力。JVM不知道当istrue为假的时候该怎么办,所以报错.


public int locate(){
        while (isTrue())
            return 4;
    }
 boolean isTrue(){
    return true;
  }

这段代码却会报错, 这是因为编译器认为while语句有在任何情况下都能执行的能力,但是只在入参为true的情况下有该能力。JVM不知道当istrue为假的时候该怎么办,所以报错.

public int locate(){
    while (isTrue())
        return 4;
    return 0;
}
boolean isTrue(){
    return true;
}

这段代码也不会报错,因为添加了return 0;虽然说JVM不知道当istrue为假的时候该怎么办,但是仍然会返回0值,方法就有了返回值.

猜你喜欢

转载自blog.csdn.net/yangxingpa/article/details/80752144