一、方法
1.方法定义的完整格式
示例:使用方法对两个整数求和并返回
方法的其他写法 //方法定义时,返回值类型、形参列表可以按照需求进行填写
示例:
注意事项:
- 如果方法不需要返回结果,返回值类型必须声明成void(无返回值),此时方法内部不可以使用return返回数据。
- 方法如果没有参数,或者返回值类型申明为void可以称为无参数、无返回值的方法,依次类推。
2.方法的常见问题
- 方法的编写顺序无所谓。
- 方法与方法之间是平级关系,不能嵌套定义。
- 方法的返回值类型是void(无返回值),方法内部不可以使用return返回数据,如果方法的返回值类型写了具体类型,方法内部则必须使用return返回对应类型的数据。
- return语句下面不能编写代码,因为永远执行不到,属于无效代码。
- 方法不调用就不执行,调用时必须严格匹配方法的参数情况。
- 有返回值的方法调用时可以选择定义变量接收结果,或者直接输出调用,甚至直接调用;无返回值方法的调用只能直接调用一下。
3.案例
- 计算1-n的和并返回
public static int add(int n){
int sum = 0;
for (int i = 1; i <= n; i++) {
sum += i;
}
return sum;
}
- 判断整数是奇数还是偶数
//拿一个整数,然后调用方法,把整数交给方法,在方法中输出该数为奇数还是偶数
public static void check(int number){
if(number%2 == 0){
System.out.println(number + "是偶数");
}else{
System.out.println(number + "是奇数");
}
}
- 数组求最大值改方法实现
//把找出数组的最大值案例,改造成方法,可以支持返回任意整形数组的最大值数据
public static int MAX(int[] arr){
int max = arr[0];
for (int i = 1; i < arr.length; i++) {
if(arr[i] > max){
max = arr[i];
}
}
return max;
}
4.Java的参数传递机制
基本类型的参数传递:值传递,传递的是实参存储的值。
引用类型的参数传递:值传递,传递地址
5.方法参数传递案例
- 打印整形数组内容
//设计一个方法用于输出任意整形数组的内容,要求输出成如下格式:
//“该数组内容为:[11,22,33,44,55]”
public static void printArray(int[] arr){
System.out.print("[");
if(arr != null && arr.length > 0){
for (int i = 0; i < arr.length; i++) {
System.out.print(i == arr.length-1 ? arr[i] : arr[i] + ",");
}
}
System.out.println("]");
}
- 从数组中查询指定元素的索引
//设计一个方法可以接收整形数组,和要查询的元素值;最终要返回这个元素在该数组中的索引,如果数组中不存在该元素则返回-1.
public static int Get(int[] arr,int a){
for (int i = 0; i < arr.length; i++) {
if(arr[i] == a) {
return i;
}
}
return -1;
}
- 比较两个数组是否一样
//如果两个数组的类型、元素个数、元素顺序和内容是一样的我们就认为这两个数组是一模一样的。
//请使用方法完成:能够判断任意两个整型数组是否一样,并返回true或者false
public static boolean compare(int[] arr1,int[] arr2){
if(arr1.length == arr2.length){
for (int i = 0; i < arr1.length; i++) {
if(arr1[i] != arr2[i]){
return false;
}
}
return true;
}else
return false;
}
6.方法重载 //同一个类中,出现多个方法名称相同,但形参列表不同
方法重载的识别技巧
1.只要是同一个类中,方法名称相同,形参列表不同,那么它们就是重载的方法,其他不管。(如:修饰符、返回值类型都无所谓)
2.形参列表不同指的是:形参的个数、类型、顺序不同,不关心形参的名称
7.return关键字的单独使用
return;----> 可以立即跳出并结束当前方法的执行;return关键字单独使用可以放在任何方法中。