Java中的return语句总是和方法有密切关系,return语句总是用在方法中,有两个作用,一个是返回方法指定类型的值(这个值总是确定的),一个是结束方法的执行(仅仅一个return语句)。
以下是无返回值的情况:
public
void
test1() {
System.out.println(
"---------无返回值类型的return语句测试--------"
);
for
(
int
i =
1
; ; i++) {
if
(i ==
4
)
return
;
System.out.println(
"i = "
+ i);
}
}
|
当i=4时,循环结束..
return有一个特性就是一旦调用return 那么直接结束方法.
有如下例子:
public
int
locate(){
while
(
true
)
return
4
;
}
|
以上代码是不会报错的,
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值,方法就有了返回值.