方法返回值的注意事项
使用返回值可以很方便的将被调方法中的运算结果或处理结果传递至主调方法,但在使用返回值时很容易出现一些问题,具体注意事项如下:
(1)方法可以没有返回值,也可以存在返回值,但最多只能存在一个返回值。例如:
public static void Method_A(int a, int b){return a + b;
}
上述代码将提示错误,因为定义方法时设置返回值为void,表示方法不存在返回值,因此,public static int Method_A(int a, int b){return a, b;
}
上述代码也将提示错误,因为若方法存在返回值,返回值最多只能有一个,可以使用语句“return a;”或“return b;”。
(2)方法的返回值可以为变量、常量以及表达式。在方法体中使用return语句设置返回值时,return之后可以是常量、变量或表达式。例如:return a+b;
return a;
return 1;
(3)在无返回值方法中,方法体内可以没有return语句,当被调方法执行完毕后,将自动返回至主调方法。也 可以使用“return;”语句,结束被调方法的执行,返回主调方法。
类似于循环,循环的结束有两种情况:循环条件不成立或执行break语句。被调方法的终止执行也存在两种情况:被调方法中所有代码执行完毕或执行return语句。例如:
public static void Method_A(int num){
if (num % 2 == 0)
return;
System.out.println("Hello World ! ");
}
调用方法Method_A()时,若参数num为奇数时,条件“num %2==0”不成立,不会执行return语句,输出“HelloWorld!”后,方法Method_A(0)所有代码执行完毕,终止被调方法执行返回主调方法。若参数num为偶数时,条件“num%2==0”成立,执行return语句,将直接终止被调方法执行返回主调方法。
(4)在有返回值方法中,方法体中必须包含“return表达式;”语句。例如:
public static int Method_A(int a, int b){
a = a + b;
}
上述代码将提示错误,因为定义方法时设置返回值类型为int,表示方法存在int类型的返回值,因此,需要在方法体中添加语句“return a;”。
(5)方法体中返回值的数据类型必须与方法中定义时指定的返回值类型相匹配。例如:
public static int Method_A(double a,int b){
a = a + b;
return a;}
上述代码将提示错误,因为定义方法时设置返回值类型为int,而返回值为变量a,其数据类型为double类型,两者之间的数据类型不匹配,因此,可以将“return a;”修改为“return (int)a;”或修改方法返回值类型为double。
(6)使用条件结构时,必须保证每一个分支都包含返回值。例如:
public static int Method_A(int num){
if (num % 2 == o)
return 1 ;
else
return 0;
}
在上述代码中,虽然存在多个“return 表达式;”语句,但这并不代表方法存在多个返回值,因为在方法执行过程中,每次只能执行条件结构中的一个分支,即只会执行一个"return 表达式;"语句。只是在不同条件下执行不同的分支,返回不同值而已,从而保证在每个分支中都存在返回值,否则将提示错误。
Java中return的用法,方法返回值的注意事项
于 2023-04-16 22:38:24 首次发布