函数的学习

函数学习
最后附上全部java源码,可自行下载学习

文章目录

    • 函数入门
    • 函数重载
    • 函数可变个数参数
    • foreach输出
    • 传参 基本数据类型
    • 传参_引用数据类型
    • 文件夹展示所有里面的文件
    • 使用递归算法展示文件夹下所有文件
    • 1加到100的递归调用
    • 下载链接

函数入门

函数的学习_第1张图片

函数重载

函数的学习_第2张图片

public class Demo01 {
    /*
    函数重载原则:
        方法名相同
        参数列表不相同
    注意:
        与返回值无关
     */
    public static void main(String[] args) {
        f01(1.0);
        f01(1);
    }

    public static void f01(double money) { // double
        System.out.println("f01(double money) 被调用了");
    }

    public static int f01(int age) { // int
        System.out.println("f01(int age) 被调用了");
        return 100;
    }
}

函数可变个数参数

函数的学习_第3张图片

import java.util.Arrays;

public class Demo02 {
    /*
    函数可变参数
     */
    public static void main(String[] args) {
        f01(new int[]{1,3,5,7,9});
        f01();
        f01(1);
        f01(1, 2);
        f01(1, 2, 3);
    }

    public static void f01(int... x) { // 总而言之,不管如何传参数,x最终是int[]一维数组
        System.out.println("f01(int...) 被调用了");
        System.out.println(Arrays.toString(x));
    }
}

foreach输出

函数的学习_第4张图片

public class Demo03 {
    /*
    函数可变参数
     */
    public static void main(String[] args) {
        f01(new int[]{1,3,5,7,9});
        f01();
        f01(1);
        f01(1, 2);
        f01(1, 2, 3);
    }

    public static void f01(int... arr) { // 总而言之,不管如何传参数,x最终是int[]一维数组
        System.out.println("f01(int...) 被调用了");
        // 自动循环arr数组,也知道何时结束,每次取出一个送到变量a上
        for (int a : arr) { // foreach输出(增强版for循环),没有下标了
            System.out.println(a);
        }
    }
}

传参 基本数据类型

函数的学习_第5张图片

public class Demo04 {
    public static void main(String[] args) {
        int y = 10;
        f01(y); // y实参。都是值传递。
        System.out.println("Y:" + y);
    }

    /*
        x,形参
     */
    public static void f01(int x) {
        System.out.println(x);
        x++;
        System.out.println(x);
    }
}

传参_引用数据类型

函数的学习_第6张图片

import java.util.Arrays;

public class Demo05 {
    public static void main(String[] args) {
        int[] y = {10, 20, 30};
        f01(y); // y实参。都是值传递。
        System.out.println("y: " + Arrays.toString(y));
    }

    /*
        x,形参
     */
    public static void f01(int[] x) {
        System.out.println(Arrays.toString(x));
        x[1]++;
        System.out.println(Arrays.toString(x));
    }
}

文件夹展示所有里面的文件

函数的学习_第7张图片

使用递归算法展示文件夹下所有文件

import java.io.File;

public class Demo06 {
    public static void main(String[] args) {
        showFiles(new File("E:\\202203\\计科\\函数\\学习\\1"));
    }

    /*
        展示文件夹下所有的文件,包含子文件夹下的文件
     */
    public static void showFiles(File file) {
        File[] files = file.listFiles(); // 枚举该文件夹file对象下的文件或文件夹对象
        for (File f : files) {
            if (f.isFile()) System.out.println(f.getName()); // 文件
            if (f.isDirectory()) showFiles(f); // 递归调用文件夹
        }
    }
}

1加到100的递归调用

函数的学习_第8张图片

public class Demo07 {
    public static void main(String[] args) {
        System.out.println(sum(100));
    }

    public static int sum(int count) {
        if (count == 1) return 1;// 结束条件
        return sum(count-1)+count; // 递归表达式
    }
}

下载链接

https://llzai.lanzoum.com/i3luM14jt6je

你可能感兴趣的:(java,学习,java,开发语言)