package study;
public class TestReturn {
public static void main(String[] args) {
TestReturn t = new TestReturn() ;
t.test1();
t.test2();
}
public void test1() {
System.out.println("无返回值类型的return语句测试");
for(int i = 1; ; i++) {
if(i==4) return ;
System.out.println("i = " + i);
}
}
public String test2() {
System.out.println("有返回值类型的return语句测试");
return "返回一个字符串"; **//该语句看不懂,在此处return是什么作用,为什么这样写**
}
}
按照LZ的主函数的写法,test2()方法中“返回一个字符串”这句话是不会再console显示出来的,因为它是作为返回值返回的,只能再主函数中通过
System.out.println(t.test2());
打印出来。因此,就说明了两种类型的return语句的不同
你的test2()方法的返回类型是String,所以该方法必须要一个返回值,”返回一个字符串“就是这个返回值。test1()没返回值,return的作用就是结束该方法(你应该在for循环后面再加一个return结束该方法)
如果在主函数中改写t.test2();为String result = t.test2();的话,result的值就是”返回一个字符串“。
区别就是你可以在main中这样
String testResult = t.test2();
一般可以根据返回值处理一些逻辑;
如方法是否成功,如需要把返回值写入文件等等。。。
希望能够帮到你....
你的test2()方法的返回类型是String,所以该方法必须要一个返回值,”返回一个字符串“就是这个返回值。test1()没返回值,return的作用就是结束该方法。如果在主函数中改写t.test2();为String result = t.test2();的话,result的值就是”返回一个字符串“。
有返回值 和没有返回值
因为test2方法是一个string类型的方法,必须要有一个string的返回值,所以,该方法执行完成后要返回一个string值。上面默认的返回值是“返回一个字符串”。