函数:
函数是定义在类中的具有特定功能的独立代码段。也称之为方法。
函数的格式:
权限修饰符 静态修饰符 返回值类型 函数名(参数类型 形式参数1 , 参数类型2 形式参数...)
{
执行语句;
return 返回值;
}
函数的特点:
1.定义函数可以将功能代码封装.
2.该功能可以被重复使用.
3.函数只有被调用才会执行.
4.函数提高了代码的复用性.
注意:
1.函数在没有具体返回值的情况时,使用关键字void来表示返回值类型,此时结尾处的return可以省略,系统会自动添加上.
2.函数之间的关系是平级的,函数内部可以调用其他函数,但是不能在函数内部再定义其他函数.
3.定义函数时,函数的结果应该返回给调用者,交由调用者来处理,不要函数内做画蛇添足的事情.
4.类中静态函数调用的函数也只能是静态的.(static修饰)
5.类名的定义要遵循一定的规范,通常第一个单词首字母小写,第二个字母开始之后的单词首字母大写.
两个明确:
1.明确要定义的函数实现功能的结果是什么?(体现为返回值类型)
2明确在定义函数的过程中,是否有未知内容参与运算?(体现为参数列表)
函数的重载
概念:在同一个类中,允许存在一个以上的同名函数,只要它们的参数类型或者参数个数不同即可.
注意:
1.在同一个类中.
2.相同的函数名.
3.参数的类型不同或者参数的个数不同.
4.函数的重载与返回值类型无关.
5.java是强类型严谨性的语言,如果函数出现调用的不确定性,回编译失败.
6.函数在内存中的加载是栈内存加载,先入后出.
ps:java编译器只是进行源代码的语法检查和进行源代码至机器码(二进制码)的编译转化,并不加载实际运算数据.实际运算是在java虚拟机开始执行class文件后才进行的.
/*
对函数的定义及重载进行练习
需求:写一个乘法表的练习,按照用户指定的数字打印出乘法表,如果用户未指定具体数值,则打印标准99乘法表
*/
public class FunctionTest
{
public static void main(String args[])
{
//参数的调用
printCFB(6);
System.out.println("---------------------华丽丽的分割线----------------------------");
printCFB();
}
/*
定义一个打印乘法表的函数供主函数入口来调用
1.结果直接打印到控制台,无具体返回值,返回值类型为void
2.用户定义具体要打印的乘法表的数,int
*/
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+"="+(x*y)+"\t");
}
System.out.println();
}
return;//无返回值,此处return可以省略.
}
//函数的重载,此次用户不指定数(无形式参数),打印标准乘法表
public static void printCFB()
{
printCFB(9);
return;//可以省略
}
}