Java深入了解return语句
in Java with 0 comment

Java深入了解return语句

in Java with 0 comment

示例

以下程序无法通过编译,因为缺少返回语句。编译器检测到if(a > 3)有可能有两种可能性truefalse,如果是第二种可能性 false,那么缺少 return,此处应返回 int 类型值。程序处于编译期,编译器无法保证return 1;是否会执行,编译期只检查语法不会执行程序。

public static int testMethod(){
  int a = 10;
  if(a > 3){
    return 1;
  }
}

以下程序编译通过,因为if有了第二种可能性。

public static int testMethod(){
  int a = 10;
  if(a > 3){
    return 1;
  }else {
    return 0;
  }
}

以下程序编译报错,因为System.out.println("Hello World!");语句永远无法执行。带有return关键字的Java语句只要执行,所在的方法强制结束

public static int testMethod(){
  int a = 10;
  if(a > 3){
    return 1;
    System.out.println("Hello World!");
  }else {
    return 0;
  }
}

以下程序编译报错,因为该程序不允许有返回值。

public static void testMethod(){
  for(int i = 0; i < 10; i++){
    if (i == 5){
      return 10;
    }
    System.out.println("i -->" + i);
	}
}

以下程序编译通过,因为return;返回的是一个空,没有返回。用于强行终止一个程序的执行。当 i 等于 5 的时候强行终止该程序。

public static void testMethod(){
  for(int i = 0; i < 10; i++){
    if (i == 5){
      return;
    }
    System.out.println("i -->" + i);
	}
  System.out.println("Hello World!");
}

以上程序输出:

i --> 0
i --> 1
i --> 2
i --> 3
i --> 4

break 与 return

break是终止当前循环

public static void testMethod(){
  for(int i = 0; i < 10; i++){
    if (i == 5){
      break;
    }
    System.out.println("i -->" + i);
	}
  System.out.println("Hello World!");
}

以上程序输出:

i --> 0
i --> 1
i --> 2
i --> 3
i --> 4
Hello World!

return是强制终止当前方法

public static void testMethod(){
  for(int i = 0; i < 10; i++){
    if (i == 5){
      return;
    }
    System.out.println("i -->" + i);
	}
  System.out.println("Hello World!");
}

以上程序输出:

i --> 0
i --> 1
i --> 2
i --> 3
i --> 4