文章目录

  • 从零开始的Java学习生活(12)
  • 一、形参、实参
  • (1)形参
  • (2)实参
  • 二、方法重载
  • 二、使用步骤
  • 1.引入库
  • 二、方法练习
  • (1)打印2个数的最大值
  • (2)求2个数的最大值
  • (3)求从min到max的和
  • (4)数7游戏
  • 总结



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

在上一篇文章中,我们初步了解了什么是方法以及方法使用的基本操作,接下来我们将继续方法的学习,深入了解方法在我们编程生活中的使用。(我不是故意咕咕的

先来了解两个概念:

一、形参、实参

(1)形参

形参:全名叫形式参数,出现在方法定义中,形参只是用来占位的,用来代表未来调用时传递过来的数据

(2)实参

实参:全名叫实际参数,出现在方法调用中,实参是方法执行时真正要用到的数据。在方法调用时,会把实参传递给形参,在执行方法过程中用于参与运算。

在方法调用时,要保证实参的数据类型和形参的数据类型一致。

实参到形参只是单向的值拷贝过程。如果实参是个数据,会把数据拷贝给形参;如果实参是个地址,会把地址拷贝给形参。----实参和形参是2个变量,只是值相等,实参的值拷贝给了形参

二、方法重载

在同一个类中,如果多个方法具有相同的方法名,但参数类型或者参数个数不相同(或都不相同),这就是方法的重载。-----方法重载和返回值没有关系,不看返回值,只看方法名以及参数。

public static void main(String[] args) {
		System.out.println(sum(10,20));
		System.out.println(sum(3.5, 2.0));
		System.out.println(sum(1,2,3));
	}
	
	public static double sum(double x, double y) {
		return x +y;
	}
	
	public static int sum(int x, int y) {
		return x +y;
	}
	
	public static int sum(int x, int y, int z) {
		return x + y + z;
	}

其中需要注意的有两点:
1.同一个类中的同名方法,这个是与后面要学到的方法重写的一个重要的区分方法。
2.与返回值无关。

二、使用步骤

1.引入库

代码如下(示例):

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import  ssl
ssl._create_default_https_context = ssl._create_unverified_context

二、方法练习

(1)打印2个数的最大值

  1. 需求:设计一个方法,用于打印2个数中的最大数,并调用方法测试结果是否正确。
  2. 代码:
public static void main(String[] args) {
		printMaxNum(100, 200);
		System.out.print("请输入2个整数:");
		Scanner scanner = new Scanner(System.in);
		int x = scanner.nextInt();
		int y = scanner.nextInt();
		printMaxNum(x, y);
	}
	//需求:设计一个方法,用于打印2个数中的最大数,并调用方法测试结果是否正确。
	//分析:
	//1.打印2个数的最大数。----无需返回值、有2个参数、方法名见名知意。
	//2.方法体: 计算出最大值,并打印最大值。
	//3.在main方法中调用方法,测试方法的正误
	public static void printMaxNum(int a, int b) {
		int max = a > b ? a : b;
		System.out.println(max);
	}

(2)求2个数的最大值

  1. 需求:设计一个方法,返回2个数的最大值,并调用方法测试结果是否正确。
  2. 代码:
public static void main(String[] args) {
		System.out.print("请输入2个整数:");
		Scanner scanner = new Scanner(System.in);
		int x = scanner.nextInt();
		int y = scanner.nextInt();
		int max = maxOfTwoNum(x, y);
		System.out.println(max);
	}
	
	//需求:设计一个方法,返回2个数的最大值,并调用方法测试结果是否正确。
	//分析:
	//1. 返回2个数的最大值----- 有返回值, 有2个参数,返回值类型和参数类型相同 , 方法名见名知意
	//2. 方法体: 计算2个数的最大值,返回最大值。
	//3. 在main方法中调用方法,测试方法的正误
	public static int maxOfTwoNum(int num1, int num2) {
		int max = num1 > num2 ? num1 : num2;
		return max;
	}

在设计方法的时候,一定要弄清楚2件事:1.有没有参数,几个参数,每个参数什么数据类型;2.有没有返回值,返回值是什么类型。

一般来说:如果某个方法只是为了完成某件事情,这样的方法通常没有返回值。如果某个方法是为了做计算,这样的方法通常会有返回值。

记住以上两点,我们来继续看下面的题:

(3)求从min到max的和

  1. 需求:设计一个方法,有两个参数min和max,计算从min累加到max的和。
  2. 代码:
public static void main(String[] args) {
		int a = sum(5, 8);
		int b = sum(1, 100);
		System.out.println(a);
		System.out.println(b);
	}	
	
	//需求:设计一个方法,有两个参数min和max,计算从min累加到max的和。
	//分析:
	//有返回值,有2个参数。
	//方法体:计算从min到max的和
	public static int sum(int min, int max) {
		int sum = 0;
		for(int i = min; i <= max; i++) {
			sum += i;
		}
		return sum;
	}

(4)数7游戏

  1. 需求:设计一个方法,实现数7游戏,并调用方法测试结果是否正确。

数7游戏:遍历100以内的数字,如果数字是7的倍数或者数字包含7,输出过,否则输出数据本身。

  1. 代码:
public static void main(String[] args) {
		countGame();
	}
	//需求:设计一个方法,实现数7游戏,并调用方法测试结果是否正确。
	//数7游戏:遍历100以内的数字,如果数字是7的倍数或者数字包含7,输出过,否则输出数据本身。
	//分析:
	//1. 通过分析得知,无需返回值,无需参数。
	//2. 方法体:遍历100以内的数,根据判断结果输出内容
	//3. 在main方法中调用方法,测试方法的正误
	public static void countGame(int num) {
		for(int i = 1; i < 100; i++) {
			if(i % num == 0 || (i % 10 == num || i / 10 == num)) {
				System.out.print("过 ");
			}else {
				System.out.print(i + " ");
			}
		}
		System.out.println();
	}

总结

方法是具有特定功能的代码块。方法可以大大简化程序的代码,提高代码的复用度。

方法分为:无参数无返回值方法,无参数有返回值方法,有参数无返回值方法,有参数有返回值方法。

方法必须先定义,再使用。

方法调用时,实参的值会拷贝给形参,实参和形参是2个变量。

在Java中,方法可以重载。

本篇文章的内容到这里就结束了,我们主要对方法的使用进行了练习,并且对方法剩下的概念进行了补充说明,下一篇文章我们将讲解面向对象编程,这意为这我们即将正式进入java的学习,感谢您的观看!