# 方法的引入
随着业务量的增加,代码量也在增加,会产生一些问题
- 阅读起来不方便
- 维护起来不方便
- 大量重复的代码(臃肿)
解决方案:
将这些代码分离出来(模块化),拆分成一个一个的方法
在需要的时候只要通过一行代码(调用方法),就能实现很多功能
方法的本质就是许多代码的集合体
# 方法的好处
- 提高代码的阅读性
- 提高了代码的维护性
- 提高了代码的复用性
# 指导思想
- 低耦合
尽量降低方法与方法之间的耦合度(关系 关联度)
- 高内聚
内部高度聚合,方法中尽量只干一件事情(专一)
把这件事情做到极致
# java对方法的划分
- 静态方法/类方法
- 一定要有static修饰
- 标准的调用方式 类名.方法名()
Arrays.toString(数组)
Math.random();
- 对象方法/成员方法
- 一定没有static
- 标准的调用方式 对象名.方法名()
Random ran = new Random();
ran.nextInt(3);
- 其他方法
构造方法 抽象方法 默认方法
# java方法的格式
public static void main(String[] args){
//代码
}
- public static 修饰符位置
- void 返回值位置
如果没有返回值,就写void
如果有返回值,就编写对应的数据类型,
并且在代码中一定要用return加上对应的数据返回出来
- main 方法名 规范:小驼峰
- (String[] args) 参数列表(数据类型 变量名,数据类型,变量名)
- {} 方法体,各种代码
# 方法传参
- 形式传参
形参,定义在方法参数列表中的数据
- 实际参数
实参,实际参数与运算的数据,
在方法调用时实际传入的数据
- 传参特点
- 基本数据类型
值传递,在传参时,实参将自己的值复制了一份传递给形参
无论形参接受到值之后,如何修改,都不会影响原来的实参
- 引用数据类型
地址传参,在传参时,实参将自己的地址值+传递给形参
形参将内部的内容修改,实参也会受到影响
但是,如果形参直接修改了地址,不会影响原来的实参
遇到问题:棋盘落满后无法退出循环
解决方法:从新定义一个int类型的整数,放在判断棋盘落满的方法里,当判断到棋盘落满后,改变int的值,在主文件里判断int的值,如果是改变后的值就跳出循环。
//检测棋盘落满
public static int cram(char[][] cha ,int row,int col) {
int total=0;
int daw=0;
for (int i = 0; i < cha.length; i++) {
for (int j = 0; j < cha[i].length; j++) {
if (cha[i][j] == 'o' || cha[i][j] == 'x') {
total++;
}
}
}
if (total == row * col) {
System.out.println("棋盘填满,游戏结束!");
daw=1;
return daw;
}
return daw;
}
daw=Tool02.cram(cha, row, col);
if(daw==1) {
return;
}