目录 :
1 ) . 函数(概述)
2 ) . 函数(应用)
3 ) .函数(练习)
4 ) . 函数(重载)
5 ) . 函数(重载练习)
一
. 函数(概述)
1 ) . 简述 :
1.1 函数的定义
[1] 概念 : 函数就是定义在类中的具有特定功能的一段独立小程序,也称为方法
[2] 格式 :
修饰符 返回值类型 函数名(参数类型 形式参数1 ,参数类型 形式参数2 ,.....)
{
执行语句;
return 返回值;}
方法解析 :
-返回值类型 : 函数运行后的结果的数据类型
-参数类型:是形式参数的数据类型
-形式参数 : 是一个变量,用于存储调用函数时传递给函数的实际参数
-实际参数 : 传递给形式参数的具体数值
-return : 用于结束函数
返回值 : 该值会返回给调用者
1.2 函数的特点
[1] 定义函数可以将功能代码进行封装
[2] 便于对该功能进行复用
[3] 函数只有被调用才会被执行
[4]函数的出现提高了代码的复用性
[5]对于函数没有具体返回值的情况,返回值类型用关键字void表示,那么该函数中的return语句如果在最后一行可以省略不写
[6] 注意 :
-函数中只能调用函数,不可以在函数内部定义函数
-定义函数时,函数的结果应该返回给调用者,交由调用者处理
1.3 函数的应用
1.4 函数的重载
2 ) . 函数的优势 : ---> 提高代码/功能复用性
小结 :
1. 静态方法调用时也必须是静态方法2. 没有具体返回值怎能有返回值类型呢
3. 函数与函数之间的关系是平级的,可互相调用,函数是通过定义存在的,但函数内不可定义函数
二. 函数(应用)
1 ) . 如何定义一个函数?
1.1 明确函数是独立的功能,那么先明确功能结果是什么 -->明确函数的返回值类型
1.2 明确得到该结果是否许需要未知的内容参与运算从而定义功能-->明确函数的参数列表(参数的类型和个数)
2 ) . 案例 :
2.1 需求 : 判断两个数是否相等-->具体优化思路
//需求 : 判断两个数是否相同//思路 ://1.明确返回值类型是 boolean//2.明确参数列表是两个int类型的整数public static boolean compare(int a ,int b){/* if(a==b)return true;// elsereturn false;*/// return (a==b)?true:false;return a==b;}
2.2 需求 : 判断两个数谁大谁小,并获取最大的那个值-->具体优化思路
//需求 : 比较哪个整数谁大谁小,并获取最大值//思路//1.明确返回值类型是int//2.明确参数是列表是两个int类型的整数public static int getSum(int a ,int b){/* if(a>b)return a;elsereturn b;*/return (a>b)?a:b;}
小结 :
1. 函数是java当中最小的功能单元2. 拿三元运算进行优化
3. void运算完是没有具体结果的
4. 任务分工明确, 具体方法实现具体功能
三. 函数(练习)
1 ) . 需求 : 定一个打印矩形的函数功能
//需求 : 定一个打印矩形的函数功能//思路//1.明确没有返回值类型,因此是void//2.明确参数列表是两个int类型的整数public static void draw(int row,int col){for(int i=0;i<row;i++){for(int x=0;x<col;x++){System.out.print("*");}System.out.println();}}
2 ) . 需求 : 定义一个九九乘法表的函数功能
//需求 : 定义一个九九乘法表的函数功能//思路://1.明确没有返回值,因此类型是void//2.明确没有参数,因此没有returnpublic static void print(){for(int y=1;y<=9;y++){for(int i=1;i<=y;i++){System.out.print(i+"*"+y+"="+y*i+"\t");}System.out.println();}}
3 ) . 效果演示 :
四.
函数(重载)
1 ) . 简述 :
概念 : 在同一个类中,允许存在一个以上的同名函数,只要他们的参数个数或者参数类型不同即可
特点 : 与返回值类型无关,只看参数列表
重载的好处 : 方便于阅读,优化了程序设计
2 ) . 重载示例 :
[1] 返回两个整数的和
[2]返回三个整数的和
[3]返回两个小数的和
3 ) . 案例演示 :
//需求: 定义一个加法运算,获取两个整数的和public static int add(int x,int y){return x+y;}//需求: 定义一个加法运算,获取三个整数的和public static int add(int x,int y,int z){return add(x,y)+z;}
//需求: 定义一个可调整的99乘法表public static void print(int num){for(int y=1;y<=num;y++){for(int i=1;i<=y;i++){System.out.print(i+"*"+y+"="+y*i+"\t");}System.out.println();}}//需求 : 定义一个九九乘法表的函数功能//思路://1.明确没有返回值,因此类型是void//2.明确没有参数,因此没有returnpublic static void print(){print(9);}
4 ) . 何时用重载 :
[1] 当定义的功能相同,但所传入的参数列表不同时采用重载的方式
[2] 这时,函数名称表示其功能,方便阅读; 参数列表代表其不同不同函数,以此区分
小结 :
1. 抽取,重组,合并
五. 函数(重载练习)
1 ) . 是否为重载函数是通过参数列表的类型和个数区分的,而不是名称
2 ) . 参数列表中的参数是有顺序的
3 ) . 重载与返回值类型没有关系
4 ) . 同一个类中不允许出现,相同参数列表,相同方法名.但不同返回值类型的函数