Java中的return语句总是和方法有密切关系,return语句总是用在方法中,有两个作用,一个是返回方法指定类型的值(这个值总是确定的),一个是结束方法的执行(仅仅一个return语句)。
在return语句的各类文章中,大多仅仅介绍了return语句用于有返回值(非void返回值)的方法中。而很少或没有介绍return语句在vodi返回值方法中的运用。
return语句用在非void返回值类型的方法中,不但能返回基本类型,还可以返回(包括用户自定义类的)对象。
下面通过一个简单例子说明一下:
public class TestReturn { public static void main(String args[]) { TestReturn t = new TestReturn(); t.test1(); t.test2(); } /** * 无返回值类型的return语句测试 */ public void test1() { System.out.println("---------无返回值类型的return语句测试--------"); for (int i = 1; ; i++) { if (i == 4) return; System.out.println("i = " + i); } } /** * 有返回值类型的return语句测试 * @return String */ public String test2(){ System.out.println("---------有返回值类型的return语句测试--------"); return "返回一个字符串"; } }
运行结果:
---------无返回值类型的return语句测试-------- i = 1 i = 2 i = 3 ---------有返回值类型的return语句测试-------- Process finished with exit code 0
if+return 也可以代替复杂的if...else语句进行程序流程的控制。用if+return代替if...else语句更清晰
例子:
package cn.xm.exam.test; import org.junit.Test; public class if_return { public static void main(String[] args) { test1("1"); System.out.println("-------华丽的分隔线--------------"); test1("8"); } public static void test1(String str) { if ("1".equals(str)) { System.out.println("输入的参数是1"); return; } if ("2".equals(str)) { System.out.println("输入的参数是2"); return; } if ("3".equals(str)) { System.out.println("输入的参数是3"); return; } System.out.println("你输入的不是123`````````"); // ...这里可以写不满足上述条件的处理 } }
输入的参数是1
-------华丽的分隔线--------------
你输入的不是123`````````