目录
1.方法
8.参数传输
11.方法重载:
12.return关键字在方法中单独使用
1.定义一种数据结构,一段代码封装成一个功能 ,以便重复使用
2.修饰符 返回值类型 方法名 (形参列表){
方法体代码(需要执行的功能代码)
return 返回值;
}
3.eg: main{ int rs = sum(10,20);
rs.sout }
public static int sum (inta,intb){
int c =a+b;
return c;
}
int rs =sum(10,20) ————————直接输出调用syso(sum(10,20))
sout("和是:”+rs); 或者sum(10,20)
4.注意:方法定义后,需调用才能跑起;
方法声明了具体返回值类型,内部须使用return返回对应类型的数据;
形参有多个,甚至没有,若有多个,中间逗号隔开,且不能给初始化值
5.有参无返回值的方法,
sum(数字);
publioc static void sum (int n)
n.fori
注:如果方法不需要返回数据,返回值类型必须声明成void,不可用return
6.实参:在方法内部定义的变量 (int a = 10)
7.传输实参给方法的形参的时候,传输的是实参变量中存储的值的副本。
JAVA参数传输机制都是值传递
基本类型的参数传输存储的数据值
引用类型的参数传输存储的地址值
9.引用类型的参数传递案例:
// 目标:完成打印int类型的数组内容。
int[] arr = {10, 30, 50, 70};
printArray(arr);
int[] arr2 = null;
printArray(arr2);
int[] arr3 = {};
printArray(arr3);
}
public static void printArray(int[] arr){
if(arr == null){
System.out.println(arr); // null
return; // 跳出当前方法
}
System.out.print("[");
// 直接遍历接到的数组元素
for (int i = 0; i < arr.length; i++) {
// if(i == arr.length - 1){
// System.out.print(arr[i]);
// }else {
// System.out.print(arr[i] + ", ");
// }
System.out.print(i == arr.length - 1 ? arr[i] : arr[i] + ", ");
}
System.out.println("]");
// 目标:完成判断两个int类型的数组是否一样。
int[] arr1 = {10, 20, 30};
int[] arr2 = {10, 20, 30};
System.out.println(equals(arr1, arr2));
}
public static boolean equals(int[] arr1, int[] arr2){
// 1、判断arr1和arr2是否都是null.
if(arr1 == null && arr2 == null){
return true; // 相等的
}
// 2、判断arr1是null,或者arr2是null.
if(arr1 == null || arr2 == null) {
return false; // 不相等
}
// 3、判断2个数组的长度是否一样,如果长度不一样,直接返回false.
if(arr1.length != arr2.length){
return false; // 不相等
}
// 4、两个数组的长度是一样的,接着比较它们的内容是否一样。
// arr1 = [10, 20, 30]
// arr2 = [10, 20, 30]
for (int i = 0; i < arr1.length; i++) {
// 判断当前位置2个数组的元素是否不一样,不一样直接返回false
if(arr1[i] != arr2[i]){
return false; // 不相等的
}
}
return true; // 两个数组是一样的。
10.方法自己调用自己——递归
一个类出现多个方法的名称相同,但它们的形参列表不同的
(形参的个数,类型,顺序不同,不关心形参的名称)
// 目标:掌握方法重载的应用场景。
fire(); //发射l1枚武器给岛国
fire("岛国2"); //发射l1枚武器给岛国2
fire("米国", 999); //发射999枚武器给米国
}
public static void fire(){
fire("岛国");
}
public static void fire(String country){
fire(country, 1);
}
public static void fire(String country, int number){
System.out.println("发射了" + number + "枚武器给" + country);
return; 可以用在无返回值的方法中,作用是:立即跳出并结束当前方法的执行。