目录
一、方法的概念以及使用
1.1 什么是方法
1.2 方法的定义
1.3 方法调用的执行过程
1.4 实参和形参的关系
1.5 没有返回值的方法
二、方法的重载
2.1 为什么需要方法重载
2.2 方法重载的概念
三、递归
3.1 递归的概念
3.2 递归执行过程分析
一、方法的概念以及使用
1.1 什么是方法
比如说要开发一款日历,要经常判断是否为闰年,那么这个组织代码,就可以被称之为方法,客户可以在多个位置使用。
1.2 方法的定义
public static 返回值 方法名(形式参数列表) { 方法体代码; return 返回值; }1.修饰符:public static(目前先用这个做固定搭配)
2.返回值类型:如果方法有返回值,返回值类型不行要与返回的实体类型一致,如果没有,必须写成void。
3.方法名:采用小驼峰。
4.参数列表:如果没有参数就是()。如果有参数,需要指定参数类型,每个参数之间用逗号隔开。
5.方法体:方法内部要执行的语句。
6.在Java中,方法必须写在类中、方法不能嵌套定义、没有方法声明这个说法。
1.3 方法调用的执行过程
调用方法------>传递参数------>找到方法地址------>执行被调方法的方法体------>被调方法结束返回------>回到主调方法继续往下执行。
1.4 实参和形参的关系
形参的改变不会影响实参的值,方法拿不到main函数中变量的地址。
在Java中,实参的值永远都是拷贝到形参中,实参和形参本质上是两个实体。
public class Test { public static void main(String[] args) { int a = 10; int b = 20; swap(a, b); System.out.println("main: a = " + a + " b = " + b); } public static void swap(int x , int y) { int tmp = x; x = y; y = tmp; System.out.println("swap :x = " + x +" y = " + y); } }1.5 没有返回值的方法
方法的返回值是可选的,有的时候可以没有,没有时返回值类型就必须是void;
public class Test { public static void main(String[] args) { int a = 10; int b = 20; print(a, b); } public static void print(int x, int y) { System.out.println("x = " + x + " y = " + y); } }二、方法的重载
2.1 为什么需要方法重载
想要实现的功能一样只是参数类型不一样,或者参数类型一致,参数个数一致,如果写多个方法名就不太美观,因此有了方法重载。
2.2 方法重载的概念
在Java中方法名一致,参数列表不同(类型不同,个数不同,顺序不同),则称这几种方法被重载了。
public class Test { public static void main(String[] args) { System.out.println(add(2, 3)); System.out.println(add(2.3, 3.3)); System.out.println(add(3.2, 3.4, 5.1)); } public static int add(int x, int y) { return x + y; } public static double add(double x, double y) { return x + y; } public static double add(double x, double y, double z) { return x + y + z; } }三、递归
3.1 递归的概念
一个方法在执行的过程中调用自身就被称为递归!
public class Test { public static void main(String[] args) { int n = 5; int ret = factor(n); System.out.println("ret = " + ret); } public static int factor(int n) { if(n == 1) { return 1; } return n * factor(n - 1); } }3.2 递归执行过程
必须要理解“方法的执行过程”。