---------- android培训、java培训、期待与您交流! ----------
函数
什么是函数?
函数就是定义在java类中的具有特有功能的一段独立小程序。也称为方法。
函数的格式
/**
* 修饰符 返回值类型 函数名 (参数类型 形式参数1,参数类型 形式参数2,……)
* {
* 执行语句;
* return 返回值;
* }
* 返回值类型:函数运行后的结果的数据类型
* 参数类型:是形式参数的数据类型
* 形式参数:是一个变量,用于存储调用函数时传递给函数的实际参数。
* 实际参数:传递给形式参数的具体数值。
* return: 用于结束函数 如果返回值是void return 0可省略。
* 返回值: 该值会返回给调用者。
*
*/
public class Temp{
// 一段简单求和的函数
// 注意主方法调用的函数前要加static
public static int add(int a,int b){
return a + b;
}
public static void main(String[]args)
{
int c = add(2,3);
System.out.println("c="+c);
}
}
函数特点
1、定义函数可以将功能代码进行封装
2、函数的出现提搞了代码复用性
3、函数只有被调用才会被执行
4、对函数没有具体返回值得情况,返回值类型用关键字void表示,那么该函数中的return语句如果在最后一行可以省略
函数注意事项
1、函数中只能调用函数,不可以在函数内部定义函数
2、定义函数时,函数的结果应该返回给调用者,交给调用者处理
3、功能中只定义所需要内容,不是该功能所需要的内容不定义
4、不要讲代码定义在主函数中
5、静态方法只能调用静态方法,主函数是静态的
6、返回值类型和参数类型没有直接关系。实际参数类型必须和形式参数类型一致
7、函数名要有意义。多单词第一个单词首字母小写第二个单词首字母大写aaaBbbCcc
怎样定义一个函数
/**
* 定义函数时候需要有两个明确:
*1、有没有未知内数据参与运算。
*
*2、这个函数会得到什么结果,也就是返回值是什么。
*
*
* 需求: 定义一个功能,获取两个数组最大的哪个数。
* 明确一:这个功能实现过程中是否需要未知内容参与运算?
* 有,参与比较的两个整数 int
* 明确二:这个功能的结果是什么?
* 有,其中一个数 int
*/
public class Temp{
public static int getMax(int a,int b){
/*
* if (a>b)
* return a;
* else
* return b;
*/
return a>b?a:b;
}
public static void main(String[]args)
{
System.out.println("Max="+getMax(2,3));
}
}
函数的重载
重载的概念:在同一个类中,允许存在一个以上的同名函数,只要它的参数个数或者参数类型不同即可。
重载特点:与返回值类型无关,只看参数列表
重载的好处:便于阅读,优化程序设计
注意:java是严谨性语言,如果函数出现调用不明确,会编译失败
/**
* 函数重载
* 1、在同一个类中
* 2、函数同名
* 3、参数个数不同或参数类型不
* 4、与返回值类型无关,只看参数列表
*/
public class Temp{
//加法运算。两个整数的和。
public static int add(int a,int b)
{
return a+b;
}
//加法运算。两个小数的和。
public static double add(double a,double b)
{
return a+b;
}
//加法运算,三个整数的和。
public static int add(int a,int b,int c)
{
return add(a,b)+c;
}
public static void main(String[]args)
{
System.out.println(add(1,2,3));
}
}
函数重载什么时候使用
当定义的功能相同,但参与运算的未知内容不同,那么这时就定义一个函数名称以表示其功能方便阅读
函数的功能一样,仅仅是参与运算的未知内容不同时,可以定义多函数,却使用同一函数名称,在调用时
虚拟机通过参数列表的不同来区分同名函数