首先我们要先知道什么是函数呢?
函数就是定义在类中的具有特定功能的一段独立小程序,也可以称之为方法
函数的格式:
修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2....)
{
要执行的语句;
return返回值;
}
返回值类型:函数运行后的结果的数据类型
参数类型.是形式参数的数据类型.
形式参数:是一个变量用于存储调用函数时候攒地给函数的实际参数
实际参数:传递给形式参数的具体数值.
return:用于结束函数的
返回值:结束后返回给调用者的一个值- class FunctionDemo
- {
- public static void main(String[] args)
- {
- int x=4;
- System.out.println(x*5+6);
- x=6;
- System.out.println(x*5+6);
- }
- }
复制代码 发现了以上的运算,因为获取不同数据云散结果,代码出现了重复.
为了提高代码的复用性,对大麦进行抽取
将这个部分定义成一个独立的功能,方便与日后使用.
java中对功能的定义是通过函数的形式来体现的
那么下面我们用函数的形式来定义一个功能来完成*5+6的运算
1.先明确函数定义的格式.
修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2....)
{
要执行的语句;
return返回值;
}
示例:
public static int getResunlt(int num)
{
return num*5+6;
}
函数是单独存在的不使用的时候直接调用就好了.
但是怎么调用呢?
示例- class FunctionDemo1
- {
- //程序首先执行主函数.
- public static void main(String[] args)
- {
- //然后开始执行getResunlt.跳转到了getResunlt函数上同时
- //把4给了num
- int x=getResunlt(4);
- System.out.println("x="=x);
- }
- public static int getResunlt(int num)
复制代码 {
//传给函数之后开始进行运算num*3+5加完之后返回给了主函数
return num*5+6;
}
public static void getResunlt_2(int num)
{
//当函数运算后,没有具体的返回值时候,这是返回值类型用一个特殊的关键字便是void
//当函数中返回值类型是void时,函数中的return可以省略不写
System.out.println(num*5+6);
return;//可以省略
}
}
示例2:- class FunctionDemo2
- {
- public static void main(String[] args)
- {
- int x = getSum(4,4);
- int y = getSum(7,9);
- int num = getMax(x,y);
- }
- public static int getSum(int x,int y)
- {
- //返回a+b的和
- return x+y;
- }
- public static boolean compare(int a,int b)
- {
- //判断ab是否相等
- return a==b;
- }
- public static int getMax(int a,int b)
- {
- //判断ab那个值大.返回大的值
- return (a>b)?a:b;
- }
- }
复制代码 函数的特点总结:
1.定义函数可以将共轭ngn代码进行封装
2.便于对该功能进行复用
3.函数只有被调用才会被执行
4.函数的出现提高的代码的复用性
5.对函数没有具体返回值的情况,返回值类型用关键字void表示
,那么该函数的return语句如果在最后一行可以省略不写.
注意!:
函数中只能调用函数.不可在函数内部定义函数.
定义函数时候,函数的结果应该返回给调用者,交给调用者类处理
//-------------华丽的分割线----------------------
函数的重载:
在同一个类中,润徐存在一个以上的同名函数,只要他们的参数个数或者参数类型不同即可.
重载的特点:
与返回值类型无关,只看参数列表.
重载的好处:
方便与阅读.优化了程序设计
什么时候用重载呢?
当定义的功能相同,单参与运算的位置内容不同,
那么这是就定义一个函数名以表示期功能,方便阅读,而通过参数列表的不同来区分多个同名函数
重载的示例- class FunctionOverload //重载
- {
- public static void main(String[] args)
- {
- //当add(3,4)的时候会自动走上边的那个add
- int x=add(3,4,5);
- System.out.println(x);
- }
- public static int add(int x,int y)
- {
- return x+y;
- }
- public static int add(int x,int y,int z)
- {
- return x+y+z;
- }
- }
复制代码 |