开启掘金成长之旅!这是我参与「掘金日新计划 · 12月更文挑战」的第14天
方法使用的常见问题
- 方法的编写顺序无所谓。
- 方法与方法之间是平级关系,不能嵌套定义。
- 方法的返回值类型为void(无返回值),方法内则不能使用return返回数据,如果方法的返回值类型写了具体类型,方法内部则必须使用return返回对应类型的数据。
- return语句下面,不能编写代码,因为永远执行不到,属于无效的代码。
- 方法不调用就不执行, 调用时必须严格匹配方法的参数情况。
- 有返回值的方法调用时可以选择定义变量接收结果,或者直接输出调用,甚至直接调用;无返回值方法的调用只能直接调用。
方法案例
- 修饰符:public static (暂时固定的)
- 方法名称:自己取名,有意义,英文小写,驼峰模式。(有意义的名字即可)
- 方法体代码:完成自己需要写的功能代码即可。(具体需求具体实现)
- 真正需要关注的就两点:1、分析方法是否需要申明返回值类型;2、分析方法是否需要接收参数。
案例1:计算1-n的和返回
需求:定义一个方法,方法中计算出 1-n的和并返回。
分析:
1.根据格式编写方法 ----> 因n不固定,故方法需要声明形参接收;要返回结果,还需申明返回值类型。
2.方法内部使用 for 循环计算出 1-n 的和并返回。
public static void main(String[] args) {
// 需求:使用方法计算1-n的和并返回
System.out.println("1-5的和是:" + sum(5));
System.out.println("--------------------");
System.out.println("1-100的和是:" + sum(100));
}
public static int sum(int n){
int sum = 0;
for (int i = 1; i <= n ; i++) {
sum += i;
}
return sum;
}
案例2:判断整数是奇数还是偶数
需求:拿一个整数,然后调用方法,把整数交给方法,在方法中输出该数为奇数还是偶数
分析:
1.根据格式编写方法 ----> 因要传入数据给方法,方法需要声明形参接收。
2.方法内部使用if语句判断,并输出对应的结论。
public static void main(String[] args) {
// 需求:判断一个整数是奇数还是偶数 并进行结果的输出 使用方法完成
check(11);
System.out.println("-------------");
check(100);
}
public static void check(int number) {
if(number % 2 == 0){
System.out.println(number + "是偶数");
}else {
System.out.println(number + "是奇数");
}
}
案例3:数组求最值改方法实现
需求:
把找出数组的最大值案例,改造成方法,可以支持返回任意整型数组的最大值数据。
分析:
- 根据格式编写方法
- 要返回最大值,需要申明返回值类型。
- 需要接收数组, 需要申明形参列表。
- 方法内部找出数组的最大值并返回。
public static void main(String[] args) {
// 需求:使用方法,支持找出任意整型数组的最大值返回。
int[] ages = {23, 19, 25, 78, 34};
int max = getArrayMaxData(ages);
System.out.println("最大值数据是:" + max);
System.out.println("-------------------");
int[] ages1 = {31, 21, 99, 78, 34};
int max1 = getArrayMaxData(ages1);
System.out.println("最大值数据是:" + max1);
}
public static int getArrayMaxData(int[] arr){
// 找出数组的最大值返回
int max = arr[0];
// 遍历数组的每个元素与最大值的数据进行比较,若较大则替换
for (int i = 1; i < arr.length; i++) {
if(arr[i] > max){
max = arr[i];
}
}
return max;
}