前言
本章将学习java方法。
一、什么是方法?
- java方法是用来实现特定功能的一些语句块的集合
- 一个方法只完成一个功能
- 方法的命名规则适用于小驼峰命名法
二、方法的定义与调用
1. 方法的定义
修饰符 返回值类型 方法名(参数类型 参数名){
...
方法体
...
return 返回值;
}
实例:
//1.定义一个add方法,实现两个数求和的功能
public static int add(int num1, int num2){
return num1 + num2;
}
2. 方法的调用
Java 支持两种调用方法的方式,根据方法是否返回值来选择。
- 当方法返回一个值时,方法的调用通常被当作一个值(示例)
- 当方法返回值是void时,通常返回一条语句
实例:
method.java文件
public class method {
public static void main(String[] args) {
int a = 2;
int b = 4;
//2.调用add方法,并创建sum变量存储,方便后续操作
int sum = add(a,b);//调用方法return的值
System.out.println(sum);
}
}
完整的代码:
method.java文件
public class method {
public static void main(String[] args) {
int a = 2;
int b = 4;
//2.调用add方法,并创建sum变量存储,方便后续操作
int sum = add(a,b);//调用方法return的值
System.out.println(sum);
}
//1.定义一个add方法,实现两个数求和的功能
public static int add(int num1, int num2){
return num1 + num2;
}
}
3. 练习:定义比大小方法并调用
public static void main(String[] args) {
int num1 = 20;
int num2 = 10;
//调用
int max = max(num1,num2);
System.out.println(max);
}
//定义比大小方法
public static int max(int num1, int num2){
int result = 0;
if(num1 == num2){
System.out.println("两个数相等");
return 0;//终止程序,不再执行之后的语句
}
if(num1 > num2){
result = num1;
}else{
result = num2;
}
return result;
}
三、方法的重载
- 概念:在一个类中定义了多个同名方法,但是参数列表不同
- 规则:方法名必须相同,参数列表必须不同
实例:
method.java文件
public class method {
public static void main(String[] args) {
int a = 2;
int b = 4;
//调用add方法,并创建sum变量存储,方便后续操作
int sum = add(a,b);
System.out.println(sum);
System.out.println(add(1,2,3));//调用重载的add方法
}
//定义一个方法,实现两个数求和的功能
public static int add(int num1, int num2){
return num1 + num2;
}
//add方法的重载
public static double add(double num1, double num2, double num3){
return num1 + num2 + num3;
}
注意:仅仅返回类型不同不足以称之方法的重载
四、递归
五、可变参数
- 概念:当不确定实参需要传递几个参数时,写在形式参数中的参数
- 注意:尽量少用,避免重载带有可变参数的方法。
方法的可变参数的声明如下所示:
typeName... parameterName
实例:
VariableParameter.java文件
public class VariableParameter {
public static void main(String[] args) {
test(1,2,3,4);
}
public static void test(int... i){
System.out.println(i[0]);
System.out.println(i[1]);
System.out.println(i[2]);
System.out.println(i[3]);
}
}