郑州网站优化_郑州网站推广_河南网站建设公司_seo外包顾问服务,网页欣赏,个人博客网站开发的背景,app开发公司需要明确哪些内容目录
一、方法的概念及使用
二、方法的重载
三、递归
一、方法的概念及使用 1、方法的概念
2、方法定义
3、方法调用的执行过程
4、实参和形参的关系(重要)
5、没有返回值的方法
二、方法的重载
三、递归
1、递归的概念 一、方法的概念及使用 1、方法的概念 方法… 目录
一、方法的概念及使用
二、方法的重载
三、递归
一、方法的概念及使用 1、方法的概念
2、方法定义
3、方法调用的执行过程
4、实参和形参的关系(重要)
5、没有返回值的方法
二、方法的重载
三、递归
1、递归的概念 一、方法的概念及使用 1、方法的概念 方法就是一个代码片段. 类似于 C 语言中的 函数。方法存在的意义 1. 是能够模块化的组织代码(当代码规模比较复杂的时候). 2. 做到代码被重复使用, 一份代码可以在多个位置使用. 3. 让代码更好理解更简单. 4. 直接调用现有方法开发, 不必重复造轮子 2、方法定义 方法语法格式 修饰符 返回类型 方法名称(参数类型 形参...) { 方法体代码 [return返回值] } 例如判断是否为闰年的方法 注意 1. 修饰符现阶段直接使用public static 固定搭配 2. 返回值类型如果方法有返回值返回值类型必须要与返回的实体类型一致如果没有返回值必须写成void 3. 方法名字采用小驼峰命名 4. 参数列表如果方法没有参数()中什么都不写如果有参数需指定参数类型多个参数之间使用逗号隔开 5. 方法体方法内部要执行的语句 6. 在java当中方法必须写在类当中 7. 在java当中方法不能嵌套定义 8. 在java当中没有方法声明一说 3、方法调用的执行过程 【方法调用过程】 调用方法---传递参数---找到方法地址---执行被调方法的方法体---被调方法结束返回---回到主调方法继续往下执行 例如计算两个整数相加 public class Method {
public static void main(String[] args) {
int a 10;
int b 20;
System.out.println(第一次调用方法之前);
int ret add(a, b);
System.out.println(第一次调用方法之后);
System.out.println(ret ret);
System.out.println(第二次调用方法之前);
ret add(30, 50);
System.out.println(第二次调用方法之后);
System.out.println(ret ret);
}
public static int add(int x, int y) {
System.out.println(调用方法中 x x y y);
return x y;
}
} /
/ 执行结果
一次调用方法之前
调用方法中 x 10 y 20
第一次调用方法之后
ret 30
第二次调用方法之前
调用方法中 x 30 y 50
第二次调用方法之后
ret 80 【注意事项】 1定义方法的时候, 不会执行方法的代码. 只有调用的时候才会执行. 1一个方法可以被多次调用 4、实参和形参的关系(重要) 方法的形参相当于数学函数中的自变量比如1 2 3 … n的公式为sum(n) Java中方法的形参就相当于sum函数中的自变量n用来接收sum函数在调用时传递的值的。形参的名字可以随意取对方法都没有任何影响形参只是方法在定义时需要借助的一个变量用来保存方法在调用时传递过来的值。 再比如 注意 在Java中实参的值永远都是拷贝到形参中形参和实参本质是两个实体 代码示例: 交换两个整型变量 public class TestMethod {
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);
}
} /
/ 运行结果
swap: x 20 y 10
main: a 10 b 20 可以看到在swap函数交换之后形参x和y的值发生了改变但是main方法中a和b还是交换之前的值即没有交换成功。 【原因分析】实参a和b是main方法中的两个变量其空间在main方法的栈(一块特殊的内存空间)中而形参x和y是swap方法中的两个变量x和y的空间在swap方法运行时的栈中因此实参a和b 与 形参x和y是两个没有任何关联性的变量在swap方法调用时只是将实参a和b中的值拷贝了一份传递给了形参x和y因此对形参x和y操作不会对实参a和b产生任何影响。 注意对于基础类型来说, 形参相当于实参的拷贝. 即 传值调用 5、没有返回值的方法 方法的返回值是可选的. 有些时候可以没有的没有时返回值类型必须写成void 代码示例 二、方法的重载 在Java中如果多个方法的名字相同参数列表不同则称该几种方法被重载了。 注意1. 方法名必须相同 2. 参数列表必须不同(参数的个数不同、参数的类型不同、类型的次序必须不同) 3. 与返回值类型是否相同无关两个方法如果仅仅只是因为返回值类型不同是不能构成重载的 三、递归 1、递归的概念 一个方法在执行过程中调用自身, 就称为 递归.递归相当于数学上的 数学归纳法, 有一个起始条件, 然后有一个递推公式. 例如, 我们求 N! 起始条件: N 1 的时候, N! 为 1. 这个起始条件相当于递归的结束条件. 递归公式: 求 N! , 直接不好求, 可以把问题转换成 N! N * (N-1)! 代码示例: 递归求 N 的阶乘 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); // factor 调用函数自身
}
// 执行结果
ret 120递归执行过程分析 递归的必要条件 1. 将原问题划分成其子问题注意子问题必须要与原问题的解法相同 2. 递归出口