Day007 java的萌新日常
什么是方法
本意为功能块,就是实现某个功能的语句块的集合。跟c语言中的函数、头文件有点像。
也是写在main{}的外面。
一个方法只做一个功能(原子性)。
方法的定义
修饰符 返回值类型 方法名(参数类型 参数名){
方法体
return 返回值;
}
也有形参、实参的概念。
return 0 ;可用来终止方法。
值传递与引用传递
值传递:(形式参数类型是基本数据类型):方法调用时,实际参数把它的值传递给对应的形式参数,形式参数只是用实际参数的值初始化自己的存储单元内容,是两个不同的存储单元,所以方法执行中形式参数值的改变不影响实际参数的值。
引用传递:(形式参数类型是引用数据类型参数):也称为传地址。方法调用时,实际参数是对象(或数组),这时实际参数与形式参数指向同一个地址,在方法执行中,对形式参数的操作实际上就是对实际参数的操作,这个结果在方法结束后被保留了下来,所以方法执行中形式参数的改变将会影响实际参数。
简单说就是前者讲数据复制一份后再传,后者直接传给所需要的数据的地址。
方法的重载
指再一个类中有几个名称相同但是形参不同(个数、类型、参数排列顺序)的函数。c语言似乎不能这样。
可变参数
在方法声明中指定参数类型后加省略号(…)
一个方法中只能指定一个可变参数,且必须是方法最后一个参数,其他普通参数必须在他之前。
递归
程序调用自身的编程技巧称为递归( recursion)。递归做为一种
(1)数据的定义是按递归定义的。(Fibonacci
(2)问题解法按
这类问题虽则本身没有明显的递归结构,但用递归求解比迭代求解更简单,如Hanoi问题。
(3)数据的结构形式是按递归定义的。
如二叉树、广义表等,由于结构本身固有的递归特性,则它们的操作可递归地描述。
递归的缺点:

浙公网安备 33010602011771号