Java方法

Java方法(持续更新)

一、方法概述
1、方法是什么?

方法是一种语法结构,它可以把一段代码封装成一个功能,以便重复调用。

2、方法的完整格式
修饰符 返回值类型 方法名(形参列表){
    方法体代码(需要执行的功能代码)
    return 返回值;
3、方法示例
public class MethodDemo1 {
    public static void main(String[] args) {
        //目标:掌握定义方法的完整格式,搞清楚使用方法的好处
/*        修饰符 返回值类型 方法名(形参列表){
            方法体代码(需要执行的功能代码)
            return 返回值;
        }*/
        //需求:假如现在很多程序员都要进行2个整数求和的操作
        System.out.println("和是:"+sum(20, 30));
    }
    public static int sum(int a,int b){
        int c = a+b;
        return c;
    }
}
4、方法定义时的几个注意点

方法的修饰符:暂时都使用public static修饰

方法申明了具体的返回值类型,内部必须使用return返回对应类型的数据

形参列表可以有多个,甚至可以没有。多个形参需要用逗号隔开,不需要赋值

5、使用方法的好处

提高了代码的复用性,提高了开发效率

让程序的逻辑更加清晰

6、设计方法的技巧

主要关注三方面:

①方法是否需要接受数据进行处理

②方法是否需要返回数据

③方法要处理的业务(编程能力)

二、方法的其他形式

方法定义时,需要按照方法解决的实际业务需求,来设计合理的方法形式解决问题

注意事项:

·如果方法不需要返回数据,返回值类型必须申明Void(无返回值申明),此时方法内部不可以使用return返回数据

·方法如果不需要接收数据,则不需要定义形参,且调用方法时也不可以传数据给方法了。

·没有参数,且没有返回值类型(Void)申明的方法,称为无参数、无返回值的方法,以此类推。

·调用有返回值的方法有3种方式:1.可以定义变量来接收结果2.直接输出调用3.直接调用

·调用没有返回值的方法只能直接调用

三、方法的案例讲解
1、计算1-n的和
public class MethodSum1toN {
    public static void main(String[] args) {
        //需求:求1-n的和
        System.out.println("请输入n值");
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        System.out.println("n为"+n+"时1-n的和为:"+sum1toN(n));
    }
    public static int sum1toN(int n){
        int sum=0;
        for (int i = 1; i <= n; i++) {
            sum += i;
        }
        return sum;
    }
}
2、判断一个整数是奇数还是偶数

方法一:需要返回String

public class MethodJudge {
    //需求:判断一个整数是奇数还是偶数
    public static void main(String[] args) {
        System.out.println("请输入n值");
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        System.out.println(n + judge(n));
    }
    public static String judge(int n){
        if(n%2==0){
            return "是偶数";
        }
        return "是奇数";
    }
}

方法二:返回空值

public class MethodJudge {
    //需求:判断一个整数是奇数还是偶数
    public static void main(String[] args) {
        System.out.println("请输入n值");
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        judge(n);
//        System.out.println(n + judge(n));
    }
    public static void judge(int n){
        if(n%2==0){
            System.out.println("是偶数");
        }else{
            System.out.println("是奇数");
        }
    }
}
四、方法在计算机中的执行原理

方法被调用的时候,是进入到栈内存中运行(先进后出)

由此保证一个方法调用完另一个方法后,可以回来。并且最终能够回到main方法中

五、Java的参数传递机制
1、基本类型的参数传递

Java的参数传递机制都是值传递

值传递:指的是在传输实参给方法形参的时候,传输的是实参变量中存储的值的副本。

实参:在方法内部定义的变量。

形参:定义方法时(。。)中所声明的参数

public class parameter {
    public static void main(String[] args) {
        //理解方法的参数传递机制:值传递
        int a = 10;
        change(a);
        System.out.println(a);

    }
    public static void change(int a){
        System.out.println(a);
        a = 20;
        System.out.println(a);
    }
}

//结果:10 20 10
//由此可见,a的值没有发生改变
2、引用类型的参数传递(也是值传递)
public class ParameterDemo2 {
    public static void main(String[] args) {
        //引用类型的参数传递
        int[] arrs = {10,20,30};
        change(arrs);
        System.out.println("main:" + arrs[1]);
    }
    public static void change(int[] arrs){
        System.out.println("方法内1:" + arrs[1]);
        arrs[1]=222;
        System.out.println("方法内2:" + arrs[1]);
    }
}

/*结果:
方法内1:20
方法内2:222
main:222
*/

由上例,arrs[1]发生了改变。

原因:引用类型参数传递也遵循值传递,但是传递的是数组变量的地址值,而数组元素的值存储在堆内存中。

在这里插入图片描述

六、方法重载

方法重载:一个类中,出现多个方法的名称相同,但是他们的形参列表是不同的,那么这些方法就称为方法重载了。

public class MethodOverloadDemo1 {
    public static void main(String[] args) {
        test(); //执行方法一
        test(100); //执行方法2
    }
    public static void test(){
        System.out.println("-------test1-------");
    }
    public static void test(int a){
        System.out.println("-------test2-------"+a);
    }
}

方法重载的注意事项:

1、一个类中,只要一些方法的名称相同,形参列表不同,那么它们就是方法重载了,其他的都不管(如修饰符、返回值是否一样都无所谓)

2、形参列表不同指的是:形参的个数、类型、顺序不同,不关心形参的名称

方法重载的应用场景:

开发中我们经常需要为处理一类业务,提供多种解决方案,此时用方法重载设计是很专业的。

七、return关键字

return; 可以用在无返回值的方法中,作用是:立即跳出并结束当前方法的执行

的注意事项:**

1、一个类中,只要一些方法的名称相同,形参列表不同,那么它们就是方法重载了,其他的都不管(如修饰符、返回值是否一样都无所谓)

2、形参列表不同指的是:形参的个数、类型、顺序不同,不关心形参的名称

方法重载的应用场景:

开发中我们经常需要为处理一类业务,提供多种解决方案,此时用方法重载设计是很专业的。

七、return关键字

return; 可以用在无返回值的方法中,作用是:立即跳出并结束当前方法的执行

对比:break; 跳出当前所在循环的执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值