文章目录
- 从零开始的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个数的最大值
- 需求:设计一个方法,用于打印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个数的最大值
- 需求:设计一个方法,返回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的和
- 需求:设计一个方法,有两个参数min和max,计算从min累加到max的和。
- 代码:
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游戏
- 需求:设计一个方法,实现数7游戏,并调用方法测试结果是否正确。
数7游戏:遍历100以内的数字,如果数字是7的倍数或者数字包含7,输出过,否则输出数据本身。
- 代码:
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的学习,感谢您的观看!