前言
1、程序开始执行的时候是先执行main方法。因为main方法是一个入口。
2、在java语言中所有的方法体中的代码都必须遵循自上而下的顺序依次逐行执行
3、main方法不需要程序员手动调用,是由JVM调用的。但是除了main方法之外其他的方法,都需要程序员手动调用。
4、方法只有调用的时候才会执行,方法不调用是不会执行的。
5、方法定义在类体当中。方法定义和先后顺序没有关系
6、方法中的变量都属于局部变量。方法结束之后,局部变量占用的内存会自动释放。
方法的定义
[修饰符列表] 返回值类型 方法名(形式参数列表){
方法体;
}
public static void main(String[] args) {
method1();一、测试 方法的调用方法不调用, 永远都不会自己执行
method2(10);//含参//二、测试 方法的参数
method3("jack",20);
int result = method4(5,10);//四、测试方法的返回
System.out.println(result);
}
public static void method1() {
System.out.println(22);
System.out.println(222);
}
public static void method2(int a) {
System.out.println(a*a);
}
public static void method3(String j,int k) {
System.out.println(j);
System.out.println(k);
}
public static int method4(int a, int b) {
//通过return关键字把运算结果返回到调用位置result
return a+b; 有调用才有返回
}
关于返回值类型
什么是返回值?
返回值一般指的是一个方法执行结束之后的结果。
方法就是为了完成某个特定的功能,方法结束之后大部分情况下都是有一个结果的,而体现结果的一般都是数据。数据得有类型。这就是返回值类型。
方法执行结束之后的返回值实际上是给调用者了。谁调用就返回给谁。
1、当一个方法执行结束不返回任何值的时候,返回值 类型写上void关键字。所以void表示该方法执行结束后不返回任何结果。
2、如果返回值类型“不是void”,那么你在方法体执行结束的时候必须使用"return 值;"
方法重载
条件:
指在一个类中定义多个同名方法,
但要求每个方法具有不同的参数列表(也就是参数的个数和类型不同)
方法重载的意义:
提高程序的灵活性,复用性。
public static void main(String[] args) {
重载:在类中存在多个同名方法+每个方法的参数列表不同
method(10,5);
method(10);
method("jack",10);
}
//创建method(10,5)
public static void method(int a, int b) {
System.out.println(a+b);
}
//创建method(10)
public static void method(int m ) {
System.out.println(m*m);
}
//创建method(jack,10)
public static void method(String name,int age ) {
System.out.println(name+age);
}
方法的递归
概念
在方法中调用自身。
注意:程序要有出口,否则一直调用自身,内存会溢出。
//练习:求5的阶乘
public static void main(String[] args) {
int res=method(5);
System.out.println(res);
}
public static int method(int i) {
if (i==1) {//求1的阶乘
return 1;
}else {
//方法的递归就是不断地重复干相同的业务
//递归:在方法内部继续调用方法本身
return i*method(i-1);//假设i=5,后面开始重复method方法的业务。
}