方法(函数)
方法又被称作函数,它是现代编程进入到模块化编程的标志,每一个方法,我们都可以看成一个独立的功能模块。
程序员首先定义这样的模块,包括给它取名字,给它制定运行的先决条件,制定它运行的具体步骤以及最后返回什么样子的结果
然后使用者只需要在需要用到这个模块的地方,根据名字给出先决条件,就可以得到执行后的节果了。
在语法级别方法分为:定义和调用两个部分。
方法的定义:分为方法的声明和实现 "{“前面是声明部分,后面是实现部分
方法声明的语法:访问修饰符 可选修饰符 返回类型 方法名(形参列表)
访问修饰符:目前我们只有public代表公共的
Java一共三种修饰符,四种情况
可选修饰符:目前只有static代表静态
语法变化点:修饰符之间是可以交换位置的
返回类型:声明方法执行结束以后会有什么样类型的返回值(强调:声明部分只能确定类型,确定不了值)
如果没有返回值,那么返回类型就是void
方法名:是用来表示这个方法的功能描述的,是个自定义标识符,要求见名知意。
由于方法是某一种功能的实现,所以方法名往往是动词或动宾短语
形参列表:参数是方法执行前需要从调用方法给入的先决条件,可以没有但是”()"不能少。它包含了参数类型、参数个数、参数顺序这3个重要内容。
方法的调用:使用类名.方法名的形式;如果在本类的一个方法里调用自己本类的其他方法,类名可以省略掉;该方法所在类和调用类不在同一个包当中,那么需要导包。
如果方法的定义没有要求形参,那么方法的调用就不能传实参但括号不能少。
实参和形参的关系必须要满足,参数个数、参数类型、参数顺序要保持一致。
重点:
1、形参与实参的传递与参数的名字无关,它是两个变量,实参的名字是调用者起的,形参的名字是方法定义着起的。
2、它们的匹配完全依赖的是括号中的个数、类型、顺序。
3、传递方式------Java中的参数传递永远都是值传递,值传递-------把实参的值传递给形参。
方法的调用的步骤
当调用某个方法的时候,程序流程会进入该方法的内部,首先执行的是形参变量的声明,会真正在内存中产生形参变量,其次把实参的值传递到形参变量中,注意区分基本数据类型和引用数据类型,然后进入方法的实现部分按流程执行代码,最后方法执行完,会回收掉该方法中声明的所以局部变量包括形参变量,把流程转到方法调用处,继续往下执行。
返回的语法: return 返回值
基本数据类型:方法里面做任何改变,方法外面不受影响,只有把它返回出来,重新给方法外面的变量赋值。
引用数据类型:方法里面做任何改变,都会直接体现方法外面的变量身上,因为它们是指向同一对象。
唯一列外是String类型
递归:让一个方法自己调用自己本身。
递归会呈现出一种循环的效果
递归是一种利用方法调用栈实现循环的技巧
下一次循环的初始条件是上一次循环的结果