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值,方法就有了返回值.
|