心情好,写点早教文章,可能会作为模组教程的内容之一吧。

目前我们所学的数学上的函数通常表示为f(x),"f"和"x"这两个字母也是可以替换的,用来表示固定一套算法,大火都是上过高一的,所以不多赘述。

高级语言中也有同名相似功能的概念,Java中管这个叫做方法(接下来都叫做函数防止思维混乱)。

这是一个函数的定义:

修饰符 输出类型 函数名(入参类型 入参){
	代码块;
	return 输出参数;
}

如果仍然用数学来概括的话,那么如下:

设函数f(x)=5x,则f(4)=20

其中的f即函数名,x4即入参(输入参数)。入参也能分为两种,一种是定义函数时设定的形参(形式参数),如例子中的x ,另一种是调用函数时使用的实参(实际参数),如例子中的4 。而输出参数就是调用后输出的参数,像例子中的20,输出的参数的类型必须和定义的输出类型一样。

把例子用Java表示即为:

public class Main {
    public static void main(String[] args) {
        System.out.println(f(4));
    }
    
    public static int f(int x){
        return 5*x;
    }
}

运行该类,得到的输出是:

20

进程已结束,退出代码0

这里的“20”就是结果了。注意如果要将函数写在调用该函数的代码的下方,那么必须要有static修饰符。

我刚学了统计,那就写一个Σ试试:

public class Main {
    public static void main(String[] args) {
        int[] arr ={8,4,3,8};
        System.out.println(sigma(5,1));
        System.out.println(sigma(5,2));
        System.out.println(sigma(5,3,3));
        System.out.println(sigma(arr));
        System.out.println(sigma(3,arr));
        System.out.println(sigma(3,2,arr));
    }

    public static int sigma(int n,int i){
        int result = 0;
        for (int j = i; j <= n ; j++) {
            result = result + j;
        }
        return result;
    }
    public static int sigma(int n,int i,int x){
        return x*(n-i+1);
    }

    public static int sigma(int n,int i,int[] arr){
        if(arr.length < n){
            return 0;
        }

        int result = 0;
        for (int j = i; j <= n ; j++) {
            result = result + arr[j-1];
        }
        return result;
    }

    public static int sigma(int i,int[] arr){

        int result = 0;
        for (int j = i; j <= arr.length ; j++) {
            result = result + arr[j-1];
        }
        return result;
    }

    public static int sigma(int[] arr){

        int result = 0;
        for (int j = 1; j <= arr.length ; j++) {
            result = result + arr[j-1];
        }
        return result;
    }
}

这里我定义了五个sigma函数,他们的代码块和形参不一致,因此五者都能被成功定义,根据实参的不同调用不同的代码块,这种现象叫做方法重载(Overload,注意将它和方法重构Override区分开)。

第一个定义为1+2+3+4+...+n,第二个定义为Σni=this.ik(k∈C),后面三个是数组中的求和,主方法中调用的五个方法结果如下:

这就是一个简单的求和函数,至于Σ的另外两个性质,请自行对其进行变形。

我不是粉狐狸