从零开始的Java学习生活(11)


从零开始的Java学习生活(11)

在上次文章中,我们继续对Java中的数组进行了更加深入的学习,初步掌握了数组的增删改查以及简单的排序功能,本篇文章中我们将对Java中的方法进行学习,这是我们以后简化代码的重要一环。

一、方法的概述

方法是具有特定功能的代码块。

简单的理解就是:把一段完整的代码,看成一个整体,并给这段代码起个名字,以后在用的时候,使用这个名字就相当于执行了这一段代码。

举个栗子:小时候我们都问过这样的一个脑筋急转弯:“如何把一个大象塞进冰箱里?”。假设我们需要打开冰箱门,把大象塞进去,关闭冰箱门三个步骤,那么当我们想在程序中实现就需要逐个书写这三个步骤的代码。然而,如果有很多的大象让我们塞进去,每次我们都要写三个步骤,是不是很麻烦?这时我们就可以运用方法,把这段代码看成一个整体,起一个名字,比如——“塞大象”,以后再用的时候只需要调用“赛大象”方法就可以了。

再次看一下定义,我们可以得到以下结论:

方法必须先创建才可以使用,创建只需要进行一次,使用可以多次。方法的创建过程称为方法的定义。

和变量类似,变量必须先定义再使用,方法也是先定义再使用。

方法创建后并不是直接运行的,需要手动使用才执行,使用方法称为方法调用。

记住上面的话,我们来接着看如何使用方法。

二、 方法的定义

方法隶属于类,因此方法要定义在类中,且方法不能定义在别的方法内。—类后面会详细讲。

1) 方法定义的格式

代码如下:

public static 返回值类型 方法名(参数列表){
    方法体
}

public、static在讲类和对象的时候会详细讲,此处先固定这么写。

方法名的命名规范和变量名的命名规范相同。

返回值、参数列表 下面专门讲解

(2) 方法定义示例

public static void sum() {
		Scanner scanner = new Scanner(System.in);
		System.out.print("请输入一个整数,将为您计算1到这个数的和:");
		int num = scanner.nextInt();
		int sum = 0;
		for(int i = 1; i <= num; i++) {
			sum += i;
		}
		System.out.println("1到" + num + "的和是:" + sum);
	}

上述案例就是一个方法,这个方法的功能是计算从1到num的和,num是用户输入的数据。

由此可见:方法是一个具有特定功能的代码段。我们在上面定义的方法sum的功能是求从1到num的和。

三、方法的调用

方法定义好之后,就可以在想要使用的时候调用方法,达到使用方法的目的。

(1)方法调用的格式

方法名(参数);

(2) 方法调用的示例

public class Test {

	public static void main(String[] args) {
		sum();//调用sum方法
	}

	public static void sum() {
		Scanner scanner = new Scanner(System.in);
		System.out.print("请输入一个整数,将为您计算1到这个数的和:");
		int num = scanner.nextInt();
		int sum = 0;
		for(int i = 1; i <= num; i++) {
			sum += i;
		}
		System.out.println("1到" + num + "的和是:" + sum);
	}
}

上述代码就是方法的调用,main方法是程序的入口,在main方法中我们调用了sum方法。(是不是很简单)

方法可以简化程序的代码,让代码得以复用。

四、方法的分类

在说方法的分类前,我们先来看两个概念:

**参数:**方法执行所需要的外界数据。

**返回值:**方法执行完之后,给外界的数据。

知道了上面两点后,我们就可以把方法按有没有参数,有没有返回值可以分为以下4类:

  1. 无参数无返回值方法
  2. 无参数有返回值方法
  3. 有参数无返回值方法
  4. 有参数有返回值方法

(1)无参数无返回值方法

如果一个方法没有参数,也没有返回值,这样的方法就是无参数无返回值方法。

如果方法没有返回值,我们在定义方法的时候,将返回值类型指定为 void。

1. 无参数无返回值方法的定义格式

public static void 方法名(){
    方法体
}

2.无参数无返回值方法示例

	public static void sum() {
		Scanner scanner = new Scanner(System.in);
		System.out.print("请输入一个整数,将为您计算1到这个数的和:");
		int num = scanner.nextInt();
		int sum = 0;
		for(int i = 1; i <= num; i++) {
			sum += i;
		}
		System.out.println("1到" + num + "的和是:" + sum);
	}

3. 无参数无返回值方法的调用格式

方法名();

4. 无参数无返回值方法的调用示例

	public static void main(String[] args) {
		sum();//调用sum方法
	}

	public static void sum() {
		Scanner scanner = new Scanner(System.in);
		System.out.print("请输入一个整数,将为您计算1到这个数的和:");
		int num = scanner.nextInt();
		int sum = 0;
		for(int i = 1; i <= num; i++) {
			sum += i;
		}
		System.out.println("1到" + num + "的和是:" + sum);
	}

(2)无参数有返回值方法

如果一个方法没有参数,但是有返回值,这样的方法就是无参数有返回值方法。

如果方法有返回值,方法体里要通过return语句将结果返回给外界。

定义方法时,返回值类型必须 和 方法体中return 返回的值的类型一致。

1. 无参数有返回值方法的定义格式

public static 返回值类型 方法名(){
    方法体
    return 返回值;
}

2. 无参数有返回值方法示例

public static double PI(){
    return 3.1415926;
}

3. 无参数有返回值方法的调用格式

数据类型 变量名 = 方法名();//如果外界要用返回值,拿一个变量接收返回值

方法名();//如果外界不需要使用返回值,可以不接收

4. 无参数有返回值方法的调用示例

	public static void main(String[] args) {
		double num = PI();//方法调用
		double area = num * 10 * 10;
		System.out.println(area);
	}
	
	public static double PI() {
		return 3.1415926;
	}

(3)有参数无返回值方法

1. 有参数无返回值方法的定义格式

public static void 方法名(参数类型 参数名1, 参数类型 参数名2, ...){
    方法体
}

2. 有参数无返回值方法示例

	//打印一个整数
	public static void printNum(int num) {
		System.out.println(num);
	}
	
	//打印一个数组
	public static void printArray(int[] array) {
		for(int i = 0; i < array.length; i++) {
			System.out.print(array[i] + " ");
		}
		System.out.println();
	}

3. 有参数无返回值方法的调用格式

方法名(参数值1,参数值2,...);

4. 有参数无返回值方法的调用示例

	public static void main(String[] args) {
		int a = 100;
		printNum(a);//方法调用
		int[] arr = {10, 7, 21, 13, 45, 17};
		printArray(arr);//方法调用
		arr[0] = 55;
		arr[2] = 40;
		printArray(arr);//方法调用
	}

	// 打印一个整数
	public static void printNum(int num) {
		System.out.println(num);
	}

	// 打印一个数组
	public static void printArray(int[] array) {
		for (int i = 0; i < array.length; i++) {
			System.out.print(array[i] + " ");
		}
		System.out.println();
	}

(4)有参数有返回值方法

1. 有参数有返回值方法的定义格式

public static 返回值类型 方法名(参数类型 参数1, 参数类型 参数2, ...){
    方法体
    return 返回值;
}

2. 有参数有返回值方法示例

	//计算圆的面积
	public static double area(double r) {
		return 3.1415926 * r * r;
	}
	
	//求三个数的和
	public static int sum(int a, int b, int c) {
		return a + b + c;
	}

3. 有参数有返回值方法的调用格式

数据类型 变量名 = 方法名(参数1,参数2,...);//如果外界要用返回值,拿一个变量接收返回值

方法名(参数1,参数2,...);//如果外界不需要使用返回值,可以不接收

4. 有参数有返回值方法的调用示例

	public static void main(String[] args) {
		double a = area(10);//方法调用
		System.out.println(a);
		int sum = sum(10,20,30);//方法调用。变量名可以和方法名重名。
		System.out.println(sum);
	}
	// 计算圆的面积
	public static double area(double r) {
		return 3.1415926 * r * r;
	}
	// 求三个数的和
	public static int sum(int a, int b, int c) {
		return a + b + c;
	}

(5)方法分类总结

  1. 如果方法有返回值,在方法体内必须要有return语句。并且 return后面的返回值 必须和 返回值类型一致。
  2. 如果方法有参数,参数可以是1个也可以是多个,如果是多个参数,参数与参数之间用逗号隔开。
  3. 定义方法时的参数叫形参(形式参数),调用方法时的参数叫实参(实际参数)。
  4. 定义方法时:参数的类型和参数名都不能少。
  5. 调用方法时:不需要参数类型
  6. 参数可以是常量、变量、表达式、或者另外一个方法的返回值。
  7. 方法不能嵌套定义。

总结

以上就是这次要讲的内容,本文仅仅简单介绍了方法的使用,而方法在我们以后的编程生活中是必须要熟练掌握的,所以代码量比之前多了很多。下一篇我们将继续方法的学习,并且中心将会放在方法的使用练习上,谢谢大家观看。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值