欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

函数概念及重载

程序员文章站 2022-04-27 10:41:12
跟着老师的笔记二次整理的笔记嘻嘻希望对大家有帮助函数的概念1、什么是函数方法/函数就是定义在类中的具有特定功能的一段独立小程序,并能被多次使用。定义一个功能:应该是一个封闭的区间。那就需要使用大括号将其封装。需要给这个区间起个名字。以后通过这个名字来调用这个区间这个区间需要有参与运算的数据。需要定义该功能的结果类型。2、函数定义格式修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,...){执行语句;return 返回值;//return关键字是....

跟着老师的笔记二次整理的笔记嘻嘻
希望对大家有帮助

函数的概念

1、什么是函数

方法/函数就是定义在中的具有特定功能的一段独立小程序,并能被多次使用

定义一个功能:

  1. 应该是一个封闭的区间。那就需要使用大括号将其封装。
  2. 需要给这个区间起个名字。以后通过这个名字来调用这个区间
  3. 这个区间需要有参与运算的数据。
  4. 需要定义该功能的结果类型。

2、函数定义格式

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

注意:函数的返回值类型如果是void时,return语句可以省略不写。

3、如何定义函数

函数就是一个功能,功能就需要两部分:1、函数运行完的结果是什么;2、函数运行时有无未知参数

定义函数时,把握如下两个明确,就可以完成函数的定义:

  • 明确返回值类型。
  • 明确参数列表。

4、定义函数举例

需求:需要一个方法,进行加法运算,获取两个整数的和。

  1. 功能的结果是什么呢?是一个。和是整数。返回值的类型是 int
  2. 功能的未知内容有吗?有,加数被加数。都是int类型,这就是参数列表
public static int add(int a,int b)
{
	return a+b;
}

5、函数的执行过程

class MethodDemo
{
	public static void main(String[] args) 
	{
		int sum = getSum(3,4);
		System.out.println("sum="+sum);
	}
	//定义功能求和
	public static int getSum(int a , int b)
	{
		return a + b;
	}
}

6、函数的内存加载

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、重载的引入

java为我们提供了重载这个功能,使用重载就可以解决某个功能不同场合的泛用性,即一个函数的多个版本

2、重载的概念

在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可,这时就形成了重载。重载和返回值类型无关

3、重载的举例

完成任意乘法表打印

class MethodDemo3 
{
	public static void main(String[] args) 
	{
		printCFB();
	}
	
	//打印标准九九乘法表。
	public static void printCFB()
	{
		printCFB(9);
	}
//打印任意乘法表。
	public static void printCFB(int num)
	{
		for(int x=1; x<=num; x++)
		{
			for(int y=1; y<=x; y++)
			{
				System.out.print(y+"*"+x+"="+y*x+"\t");
			}
			System.out.println();
		}
	}
}

4、重载的练习

void show(int a,float b,char c){} 为原函数,判断以下哪些函数重载了;

函数 判断结果
int show(int x,float y,char z) 没有重载,这个函数不允许和给定函数存在于同一个类中。因为会产生调用的不确定性。
void show(float b,int a,char c) 重载了,参数类型不同。
void show(int c,float a,char b) 没有重载,和给定函数一样。不允许存在。
void show(int a,int b,int c) 重载了,因为类型不同。
double show() 重载了,因为个数不同。

5、函数命名规范

在定义函数时,函数名不能使用关键字,第一个单词的首字母小写,采用驼峰式;由有实际意义的动词或动词短语。如:getSum。

本文地址:https://blog.csdn.net/qq_45287444/article/details/112041515

相关标签: java 编程语言