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.