JAVA中的方法
通俗来讲,方法就是对一段代码包装起来,并给她起上一个名字。等你需要用到的时候,只需要调用这个名字就可以调用到这一段代码了。
注:
1.方法必须申请在类中
2.方法中除了不能写方法和类,其他什么都可以写。
3.方法中可以调用其他的方法,但不要互调哦,会出现无限的调用循环导致发生方法嵌套调用溢出异常“java.lang.StackOverflowError”
4.注意按值传递和按引用传递的区别:
5.数组参数的特殊写法
一个数据类型加上三个点再加上一个变量名
static void a1 (int…b ){ }
static void a2( int [] b ){ }
这两种写法是一样的意思的。
方法重载
方法名一样,参数类型后者参数的个数不一样的多个方法,就是方法重载。
她会根据传进来的参数去调用相应的参数类型的方法哦。
例如:
public class Test6 { static void method(int a) { System.out.println("int"); } static void method(byte a) { System.out.println("byte"); } static void method(short a) { System.out.println("short"); } static void method(float a) { System.out.println("float"); } static void method(double a) { System.out.println("double"); } static void method(char a) { System.out.println("char"); } public static void main(String[] args) { byte b = 100; method('A'); } }
方法的返回值
顾名思义就是方法执行完成后返回出去的值,只能返回任意一种数据类型。
关键字 return;在没有返回值的方法中则是结束方法的意思。
//返回值类型是int类型的a1方法 static int a1(){ return 0; //返回出去了一个零的值 }
方法的递归
是一种自己嵌套自己的算法,比如找文件夹或找文件,打开一个文件夹里面又有文件夹,又继续打开,直到找到目标文件或文件夹。
例如:
static int method(int i) { if (i == 1) { return 1; } return i + method(i - 1); }
意思是:请问一下i是否1,如果等于1就返回1,如果不等于1就返回 i 加上调用自己方法并参入参数(i-1)的返回值。
就这样一直循环下去,直到i等于1,然后才一层一层的把值返回上来,得出最终的返回值。
比方说,我们调用她并传入参数3给她看看运行的结果
``` method(3); ```
分解:
return i + method(3- 1); //3+(2+1)
↑ return i + method(2 - 1); //2+1上去
结果等于6.