java基础5-方法
1.方法定义
方法是程序中最小的执行单元。
重复的代码,具有独立功能的代码可以抽取到方法中。
好处:可以提高代纳的复用性;可以提高代码的可维护性
格式:方法名遵循驼峰式命名
public static void 方法名(){ //方法体(就是打包起来的代码); }
调用: 方法名();
- 基础的方法定义和调用
public class Java01 { //示例 public static void main(String[] args){ test();//输出Hello World } public static void test(){ System.out.println("Hello World"); } }
- 带参数的方法定义和调用
public class Java01 { public static void main(String[] args){ cal(1,2);//传入参数1,2,打印结果为3 } public static void cal(int num1,int num2){ int result=num1+num2; System.out.println(result); } }
形参:全称形式参数,是指方法定义中的参数
实参:全称实际参数,方法调用中的参数
以上代码中cal(1,2); 是实参 cal方法中(int num1,int num2)是形参
- 带返回值的方法调用
public class Java01 { public static void main(String[] args){ int Sum = getSum(1,2); } public static int getSum(int num1,int num2){ //将void改成返回值类型 int result=num1+num2; return result; } }
2.方法的注意事项:
- 方法不调用就不执行
- 方法与方法之间是平级关系,不能互相嵌套
- 方法的编写顺序和执行顺序无关
- 方法的返回值类型为void,表示该方法没有返回值,没有返回值的方法可以省略return语句不写。如果要写return后面不能跟具体数据
- return语句下面,不能编写代码,因为永远执行不到属于无效代码
3.方法的重载
在同一个类中,定义了多个同名的方法,这些同名的方法具有同种的功能;每个方法具有不同的参数类型或参数个数,这些同名的方法,就构成了重载关系。(同一个类中,方法名相同,参数不同的方法,与返回值无关)
public class Java01 { public static void main(String[] args){ System.out.println(compare(3,5)); } public static int compare(int a,int b){ int max=a>b?a:b; System.out.println("两个参数"); return max; } public static int compare(int a,int b,int c){ int max=a>b?a:b; max=max>c?max:c; System.out.println("三个参数"); return max; } } //输出 //两个参数 //5
4.方法的内存
基本数据类型:在栈中先进后出
public class Java01 { public static void main(String[] args){ eat(); } public static void eat(){ study(); System.out.println("吃饭"); sleep(); } private static void sleep() { System.out.println("睡觉"); } private static void study() { System.out.println("学习"); } //打印结果为 //学习 //吃饭 //睡觉 }
注意:传递基本数据类型时,传递的时真实的数据,形参的改变不影响实际参数的值
public class Java01 { public static void main(String[] args){ int num = 100; System.out.println(num); change(num); System.out.println(num); } private static void change(int num) { num=200; } }//输出为两个100
引用数据类型:

变量中存储的是地址值。
与基本数据类型不同,change传递的时arr的地址
public class Java01 { public static void main(String[] args){ int[] arr={10,20,30}; System.out.println(arr[1]); change(arr); System.out.println(arr[1]); } private static void change(int[] arr) { arr[1]=100; } }//输出结果为 20 100

浙公网安备 33010602011771号