一、函数的概念

1.什么是函数

幻术就是定义在类中的具有特定功能的一段独立小程序,并能被多次使用。
定义一个功能:

  1. 应该是一个封闭的区间(需要用大括号将其封装)
  2. 需要给这个区间起一个名字(用的时候通过这个名字来进行调用)
  3. 这个区间需要有参与运算的数据
  4. 需要定义该功能的结果类型(返回值类型)
public static void draw(int row,int col)
	{
		for(int x=0; x<row; x++)
		{
			for(int y=0; y<col; y++)
			{
				System.out.print("*");
			}
			System.out.println();
		}
		//return;
	}

2.函数的定义格式

修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,...)
{
	执行语句;
	return 返回值;//return关键字是用于结束该功能。并将后面的具结果返回给调用者。
            	//必须有return语句。
}

void表示没有返回值的情况
定义函数清楚两个部分:

  • 函数的运行结果是什么(就是明确函数的返回值)
  • 函数有没有位置的参数(就是明确参数列表)

3.函数内存的加载

class MethodDemo
{
	public static void main(String[] args) 
	
		int a = 3;
		int b = 4;
		int sum = getSum(a,b);
		System.out.println("sum="+sum);
	}
	public static int getSum(int a , int b)
	{
		return a + b;
	}
}
  1. 首先会加载main方法加载进栈内存中,并执行main方法中的代码,分别给a变量开辟空间并存放3,给b变量开辟空间存放4。
  2. 当程序执行到 int sum = getSum(a,b)时;会将getSum函数加载进栈内存中,同样在getSum所属的栈区域中开辟a和b变量空间,接受main方法中的getSum(a,b)传递的值。
  3. 然后执行getSum函数中的代码,当getSum函数执行结束后,函数会出栈(弹栈)。
  4. 程序回到main方法的调用语句int sum = getSum(a,b);处,并将getSum方法执行完返回的结果赋值给sum变量,程序继续往下执行。打印sum的值。
//计算1-N(包含N)之间的所有能被3和7整除数之和
public class Demo08 {
    public static void main(String[] args) {
        int add = show(100);
    }
    public static int show(int n){
        int sum = 0;
        for(int i = 1;i<=n;i++){
            if((i%3==0)&(i%7==0)){
                sum+=i;
            }
        }
        System.out.println(sum);
        return sum;
    }
}

4.函数的重载(名同参不同)

4.1 重载的概念

在同一个类中,允许存在一个以上的同名函数,只要他们的参数个数或者参数类型不同就可以,这就函数(方法)的重载。重载和返回值类型无关。

Java FarmHash函数 java函数大全菜鸟教程_java