文章目录
- 前言
- 一、什么是方法?
- 二、方法的定义与调用
- 1. 方法的定义
- 2. 方法的调用
- 3. 练习:定义比大小方法并调用
- 三、方法的重载
- 四、递归
- 五、可变参数
- 拓展:命令行传递参数
前言
本章将学习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]);}
}