学习任务:

视频学习定义带返回值的方法

动手定义带返回值的方法

什么是方法的返回值?

带着这个问题我们看一个例子。需求是:编写一个方法,方法名为max,其功能是求两个整数的最大值。

分析:

求出两个整数的最大值,并且两个整数未知,所以方法需要定义两个参数接收这两个数。

main方法调用max方法向其传入两个整数,max方法得到传入的两个整数,通过判断得出最大数,并将最大数返回给调用方。

代码如下:


/**
 * 	面向过程编程-方法定义
 * @author 攀博课堂(www.pbteach.com)
 *
 */
public class FunctionDemo3 {

	public static void main(String[] args) {
		//调用max方法求两个数的最大数
		int m = max(10,20);
		System.out.println("最大数:"+m);
	}
	/**
	 * 	求两个数的最大数
	 * @param x
	 * @param y
	 * @return 最大数
	 */
	public static int max(int x,int y) {
		if(x>y) {
			return x;
		}else {
			return y;
		}
	}

}

说明:

  1. return关键字后边跟方法的返回值。

  2. 当方法有返回值时就不能再使用void,要使用一个与返回值类型匹配的类型。

方法调用的执行流程如下:

image-20200805233650865

参数传递流程如下:

image-20200805233623728

1)执行max(10,20)开辟方法内存区,并将实参10、20分别赋值给形参x、y。

2)max方法求出最大值20,执行return 20;将20返回给调用方即main方法的int m = max(10,20);处。

3)将20赋值给main方法区的m变量,最后输出m的值。

int m = max(10,20);表示使用变量m接收max方法的返回值,也可以用另一个方法来接收。如下代码:

//直接使用println方法来接收max的返回值
System.out.println(max(10,20));

也可以不接收返回值(一般不这样做):

//只调用max方法,不接收返回值
max(10,20);

完整的代码如下:


/**
 * 	面向过程编程-方法定义
 * @author 攀博课堂(www.pbteach.com)
 *
 */
public class FunctionDemo3 {

	public static void main(String[] args) {
		//调用max方法求两个数的最大数
		int m = max(10,20);
		System.out.println("最大数:"+m);
		//直接使用println方法来接收max的返回值
		System.out.println(max(10,20));
		//只调用max方法,不接收返回值
		max(10,20);
	}
	/**
	 * 	求两个数的最大数
	 * @param x
	 * @param y
	 * @return 最大数
	 */
	public static int max(int x,int y) {
		if(x>y) {
			return x;
		}else {
			return y;
		}
	}

}

提问-攀博课堂
我要提问 不会就问,有效沟通
关注公众号,加入微信群交流提问。 攀博课堂官方公众号
问答列表,查看本知识点所有问题