目录
- 一、方法(Method)概念
- 二、可变参数(Variable)
- 三、方法的参数传递问题
- 1. 基本数据类型
- 2. 引用数据类型
- 四、方法签名(Method Signature)
- 五、方法的重载(Overload)
一、方法(Method)概念
- 1、Java 中的方法就是其他编程语言中的函数(Function)
- 2、方法的定义格式:

- ① 访问修饰符有4种:public、protected、default、private【后期会详细说明】
- ② 返回值类型可能是8大基本数据类型、引用类型或无返回值(void)
- ③ 方法名需符合标识符命名规范、方法名需见名知意、方法名需是小驼峰(类名是大驼峰)
- ④ 参数列表是该方法需要调用者传入的值(包括参数类型和参数名)【后期会详细说明】
- ⑤ 方法体中才可编写 Java 语句(并不是所有花括号中都是方法体:如类定义的花括号中不是方法体)
下面是方法体代码案例:
public class MethodBody {
// 1.代码块
{
System.out.println("【{}】是方法体");
}
// 2.静态代码块
static {
System.out.println("【static {}】是方法体");
}
// 3.方法
public void run(int age) {
System.out.println("方法的花括号中是方法体");
// 4.if
if (age == 18) {
System.out.println("if 语句的花括号中是方法体");
}
// 5.for
for (int i = 0; i < age; i++) {
System.out.println("for 循环的花括号中是方法体");
}
// 6.while
while (age > 50) {
System.out.println("while 循环的花括号中是方法体");
}
// 7.switch-case
switch (age) {
// 错误:在该区域写代码是错误的(该区域不是方法体)
// System.out.println(age); // ERROR
case 1: {
System.out.println("switch 语句的 case 语句块是方法体");
}
}
// 8.do-while
do {
System.out.println("do-while 循环的花括号中是方法体");
} while (age < 5);
}
}
其实可以理解为只有三个地方是代码块:
① 代码块
② 静态代码块
③ 方法中
但是,当初老师教的时候把 if、while、for 等也归纳为方法体

补充:定义方法可能还会有其他修饰符(eg:static、final、abstract),后面还会详细介绍
仔细看下面的代码, 学会定义方法:
public class CreateMethodDemo {
public static void main(String[] args) {
int sum1 = CreateMethodDemo.sumOne2Hundred(1, 100);
// sum1 = 5050
System.out.println("sum1 = " + sum1);
int sum2 = CreateMethodDemo.sumOne2Hundred(1, 1000);
// sum2 = 500500
System.out.println("sum2 = " + sum2);
int sum3 = CreateMethodDemo.sumOne2Hundred(1, 10000);
// sum3 = 50005000
System.out.println("sum3 = " + sum3);
}
/**
* 计算[start, end]的累加和
*
* @param start 起始值
* @param end 结束值
* @return [start, end]的累加和
*/
private static int sumOne2Hundred(int start, int end) {
int sum = 0;
for (int i = start; i <= end; i++) {
sum += i;
}
return sum;
}
}

二、可变参数(Variable)
思考:编写程序计算多个整数的和。eg:计算【2, 5, 6, 7, 66, 53】的和
public class VariableParameter {
public static void main(String[] args) {
int[] arr = {2, 5, 6, 7, 66, 53};
VariableParameter vp = new VariableParameter();
// sumByArr = 139
System.out.println(vp.sumByArr(arr));
}
/**
* 计算多个整数的和(通过数组)
*
* @param arr (数组中存放需要进行求和的多个整数)
* @return 数组中多个整数的和(类型是字符串)
*/
private String sumByArr(int[] arr) {
if (arr == null || arr.length < 1) return "arr 数组为 null, 为数组元素为 0";
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
}
return "sumByArr = " + sum;
}
}
思路1:
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

评论(0)