美文网首页
2022-12-12

2022-12-12

作者: RobertLiu123 | 来源:发表于2022-12-11 17:22 被阅读0次

    一、方法

    主方法
    方法:功能块
    {}叫块


    image.png

    二、方法的声明

    修饰符 返回值类型 方法名(数据类型1 参数1,数据类型2 参数2,数据类型3 参数3...){
    执行功能;
    return 返回值;
    }
    

    1、修饰符,暂时写为public static
    2、返回值:方法执行完的结果
    3、返回值类型:返回值的数据类型
    当返回值类型为数据类型的时候,方法最后必须return 合适类型的返回值
    当返回值类型为void的时候,最后不能写return 返回值;
    4、方法名:标识方法,强烈建议遵守驼峰规范
    5、参数列表,参数,本质是变量(托盘),用来存储方法执行时传递过来的数据
    练习:写一个方法,求两个int型数据的和
    练习:写一个方法,打印两个int型的数据,结果不要求返回

    三、方法的相关说明

    1、return有两层含义
    (1)返回一个值出去
    (2)停止当前方法
    2、无返回值的方法最后可以放一个return,表示当前方法结束
    3、方法必须通过调用才能正式生效
    形式参数:方法声明时的参数列表,简称形参
    实际参数:方法调用时送入方法的值,简称实参
    传参:把实际参数赋给形式参数,这个过程叫传参
    4、有返回值的方法是有结果的,谁调用这个方法,结果就给谁
    5、方法不能嵌套定义可以嵌套调用

        public static void main(String[] args) {
            a();
        }
        public static void a() {
            System.out.println("调用a方法了");
            b();
        }
        public static void b() {
            System.out.println("调用b方法了");
            c();
        }
        public static void c() {
            System.out.println("调用c方法了");
            d();
        }
        public static void d() {
            System.out.println("调用d方法了");
        }
    

    public static void main(String[] args) {
    a();
    }
    public static void a() {
    System.out.println("调用a方法了");
    b();
    }
    public static void b() {
    System.out.println("调用b方法了");
    c();
    }
    public static void c() {
    System.out.println("调用c方法了");
    d();
    }
    public static void d() {
    System.out.println("调用d方法了");
    }

    四、方法的分类

    有参有返回值

        public static int getSum(int a,int b) {
            int sum = a + b;
            return sum;
        }
    

    有参无返回值

        public static void getSum1(int a,int b) {
            int sum = a + b;
            System.out.println(sum);
            return;
        }
    

    无参有返回值

        public static String getStr() {
            return "hahaha";
        }
    

    无参无返回值

        public static void sayHello() {
            System.out.println("hello");
        }
    

    五、方法的调用

    有参方法,方法名(实际参数列表);
    无参方法,方法名();
    有返回值方法,方法调用后,可以用变量接收,或做其他操作如打印
    无返回值方法,调用后没有任何处理
    1、有参有返回值方法的调用

        public static void main(String[] args) {
            int sum = getSum(2,3);
            System.out.println(sum);
        }
    

    2、有参无返回值方法的调用

        public static void main(String[] args) {
            getSum1(2,3);
        }
    

    3、无参有返回值方法的调用

        public static void main(String[] args) {
            String str = getStr();
            System.out.println(str);
        }
    

    4、无参无返回值方法的调用

        public static void main(String[] args) {
            sayHello();
        }
    

    六、基本数据类型和引用数据类型传参的不同

    image.png

    七、重载

    1、与修饰符无关
    2、与返回值类型无关
    3、方法同名
    4、形参列表的个数或类型或顺序不一致
    以下哪些方法可以在同一个类中
    A、public static void test(){}
    B、public static void test(int a){}
    C、public static void test(int b){}
    D、public static void test1(){}
    E、public static int test(int a,double b){
    return 1;
    }
    F、void test(String s){
    }
    G、类名为Test,方法为public static void Test(boolan b){
    }

    A、B/C、D、E、F、G
    

    已知一个类有重载现象,怎么判定具体调用的是哪个方法?
    根据实参类型确定具体调用的是哪个方法

    八、可变参数

    1、可变参数最多只能有1个
    2、可变参数必须位于最后

    作业

    1、写一个求阶乘的方法
    2、写一个给数组排序的方法
    3、写一个复制数组元素的方法,参数为源数组、源数组起始位置、源数组复制长度、目标数组、目标数组起始位置、目标数组粘贴长度,要求把目标数组原有数据覆盖掉

    相关文章

      网友评论

          本文标题:2022-12-12

          本文链接:https://www.haomeiwen.com/subject/fhkfqdtx.html