方法
/**
* 1.什么是方法?
* 方法就是把一堆需要反复执行的代码封装起来,如果程序需要执行这段代码,直接调用方法名即可。
* 就是类似于一个榨汁机,
* 材料:水果
* 产出物:果汁
*
* 程序中的方法(榨汁机):
* 参数(材料):进入方法的数据
* 返回值(产出物):方法根据参数处理后返回的结果
*
* 2.怎么定义方法?
* 访问修饰符 [static] 返回值类型 方法名(形参列表){
* 方法体;
* return 返回值;
* }
* 访问修饰符:方法访问权限
* 返回值类型:方法最终返回的结果是什么类型的
* 方法名:自己的名字,首字母小写,驼峰式命名法
* 形参列表:由形参组成的列表,作用就是接受调用者实际传过来的实参
*return:(1).把方法执行的结果返回给调用者,(2)结束当前方法
*
*/
public static void main(String[] args) {
int result=sum(20,10);
System.out.println("a+b的和是:"+result);
}
public static int sum(int a,int b){
int result=a+b;
return result;
}
参数
/**
* 参数传递:在调用方法时,向方法传入的一系列动作
*
* 参数传递的过程:
* 1.对于基本数据类型来说,形参的操作不会影响实际参数
* 2.对于引用数据类型来说,形参的操作会影响实参
*
*/
int a=10;
int b=20;
System.out.println("a="+a);
System.out.println("b="+b);
System.out.println("====================");
change(a,b);
System.out.println("=============");
System.out.println("a="+a);
System.out.println("b="+b);
}
public static void change(int a,int b){
a*=10;
b*=10;
System.out.println("a="+a);
System.out.println("b="+b);
}
System.out.println("====================基本和引用分隔符=====================");
int[] arr={10,20};
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println("===================");
change(arr);
System.out.println("============");
System.out.println(arr[0]);
System.out.println(arr[1]);
}
public static void change(int[] arr){
arr[0]*=10;
arr[1]*=10;
System.out.println(arr[0]);
System.out.println(arr[1]);
}
无返回值
/**
* 无返回值方法:一个方法在执行时,只是执行方法体,不会吧执行结果返回给调用者
*
* 访问修饰符 void 方法名(形参列表){
* 方法体;
* }
*
*/
有返回值
public static void main(String[] args) {
int sum1=sumTwo(10, 20);
int sum2=sumThree(10, 20, 30);
System.out.println("a+b="+sum1);
System.out.println("a+b+c="+sum2);
}
public static int sumTwo(int a,int b){
return a+b;
}
public static int sumThree(int a,int b,int c){
return a+b+c;
}
方法重载
/**
* 对于累加的操作,因为参数列表不同,所有我需要定义多个方法名,太麻烦了,如果方法过多,在调用时,可能出现调用错的情况
*
*
* 可以使用方法重载解决
* 方法重载:方法名相同,参数列表不同
* 参数列表不同:
* 1.参数列表个数不同
* 2.参数列表的类型不同
* 3.参数列表类型顺序不同
*
*
* 注意:放重载和返回值类型无关,参数名无关
*/
public static void main(String[] args) {
int sum1=sum(10, 20);
int sum2=sum(10, 20, 30);
System.out.println("a+b="+sum1);
System.out.println("a+b+c="+sum2);
}
public static int sum(int a,int b){
return a+b;
}
public static int sum(int a,int b,int c){
return a+b+c;
}
public static double sum(double a,int b){
return 0;
}
public static double sum(int a,double b){
return 0;
}