Java中对功能的定义是通过函数的方式来体现的。
明确函数定义的格式:
修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2)
{
执行语句;
return 返回值;
}
如何定义一个函数呢?
1.既然函数是一个独立的功能,先明确那么该功能的运算结果是什么。
2.再明确在定义该功能的过程中是否需要未知的内容参与运算,对于不确定的数,都运用未知变量来存储。
eg(有参数):
public static int geresult(int num)
{
return num*3+5;
}
eg(无参数):
public static int getSum()
{
return 3+4;
}
函数的特点:
.当函数运算后,没有具体的返回值时,这时返回值类型用关键字void表示。
.函数将功能封装起来,可以重复使用。
.当函数的返回值类型是void时,函数的返回值可以省略不写。
注意:函数中只能调用函数,不可以定义函数。
函数的应用
eg:通过调用函数比较两个数的大小
package bp;
public class bijiao {
public static void main(String[] args) {
boolean x=compare(5,5);
System.out.println(x);
}
public static boolean compare(int a,int b)
{
/*
if(a==b)
return true;
else
return false;
*/
//return (a==b)?true:false;
return a==b;
}
}
函数的重载(overload):
概念:
在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可。
特点:
与返回值类型无关,只看参数列表。
好处:
方便与阅读,优化了程序设计。
什么时候用重载?
当定义的功能相同,但参与运算的未知内容不同。那么,这时就定义一个函数名称以表示其功能,方便阅读,而通过参数列表的不同来区分多个同名函数。
public static int add(int x,int y)
{
return x+y;
}
public static int add1(int x,int y,int z)
{
return x+y+z;
}
}
判断下列函数是否与原函数重载。
原函数:void show(int a ,char b,double c){}
1.void show(int x,char y,double z){}
//没有,因为与原函数一样
2.int show(int a,double c,char b){}
//重载,因为参数类型不同。
注意:重载与返回值类型没关系。
3.void show(int a,double c,char b){}
//重载,因为参数类型不同
4.boolean show(int c,char b){}
//重载,参数个数不同
5.void show(double c){}
//重载,参数个数不同
6.double show(int x,char y,double z){}
//没有重载,这个函数不可以与原函数存在于同一个类中,因为最后调用时,编译器不知到底该调用哪个类型的数。