本人是java小渣渣,希望有大神帮助?

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值。上面默认的返回值是“返回一个字符串”。