2022-12-12

2022-12-11  本文已影响0人  RobertLiu123

一、方法

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


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、写一个复制数组元素的方法,参数为源数组、源数组起始位置、源数组复制长度、目标数组、目标数组起始位置、目标数组粘贴长度,要求把目标数组原有数据覆盖掉

上一篇下一篇

猜你喜欢

热点阅读