java函数

函数
一、引入
存在的问题:
1. 代码冗余,代码量太大
2. 维护性差,复制容易,修改难
如何解决此问题????
1. 对反复的代码只写一次,并对它起个名字
2. 想使用次功能代码时,只需要通过名字执行对应的功能即可。
二、函数的概念【理解】
1. 概念:执行特定功能代码组成的一个整体,可以通过名字反复使用。
2. 使用函数流程:
(1) 定义函数:
a. 函数的声明 : 约定函数实现功能 -- 》名字
b. 函数的实现:实现对应的函数约定的功能。 -- 》将特点功能代码给出
// 要求用循环实现每一行之间用 30 = 号隔开
System . out . println ( " 好好学习 " );
for ( int i = 1 ; i <= 30 ; i ++ ){
System . out . print ( "=" );
}
System . out . println ();
System . out . println ( " 天天向上 " );
for ( int i = 1 ; i <= 30 ; i ++ ){
System . out . print ( "=" );
}
System . out . println ();
System . out . println ( "good good study" );
for ( int i = 1 ; i <= 30 ; i ++ ){
System . out . print ( "=" );
}
System . out . println ();
System . out . println ( "day day up" ); (2) 函数的调用:通过函数名让函数执行对应的功能代码。
3. 函数的定义位置:定义在类以内,与 main 函数并列的位置。
4. 函数的定义:【开发应用重点】
(1) 语法: public static 返回值类型 函数名 ( 数据类型 变量名 , 数据类型 变量 2){
// 函数的功能代码 -> 函数的实现 ( 函数体 )
}
(2) 函数的声明: public static 返回值类型 函数名 ( 数据类型 变量名 , 数据类型 变量名 2)
函数的返回值类型、函数名、形参列表称为函数的三要素。
a. 函数名: 望文生义,遵循驼峰命名法 ( 第一个单词的首字母小写,其余单词首字母大写 )
b. 参数:调用者调用函数的时,传递的数据成为参数。
I. 形式参数: 在函数声明的时候 () 中定义的参数称为形式参数,简称形参。
II. 使用:形式参数它相当于 函数的内容的局部变量,在函数内部可以直接通过参数名直接
使用 ( 只能在当前函数内部使用 )
III. 形式参数的定义 :函数声明 ( 数据类型 参数名 , 数据类型 参数名 ) - 》 可以定义 n
- 》 形参列表
c. 返回值类型 :约定了函数返回给调用者的结果类型
(1) 返回值结果为 void , 则代表函数没有结果返回,但是可以 return ; 结束当前函数的调用。
(2) 返回值类型为 8 种基本数据或是对象类型,代表函数必须有 return XXX; 语句
return 返回的结果必须和约定的返回值类型结果一致。
(3) return 的作用:
a. 将函数的结果 返回给调用者
b. 结束当前函数 (return 语句后面不允许在定义任何的语句 )
(4) 注意事项:如果 return 语句定义在分支结构中,必须保证每一个分支都有 return 语句。
(3) 函数的实现: {}
三、函数的调用:【开发应用重点】
1. 函数的调用:函数名 (); // 可以被调用 n
2. 带参数的调用: 函数名 ( 数值 , 数值 2)
// 1 不可以
public class Test {
// 2 可以定义函数
public static void main ( String [] args ){
System . out . println ( " 这是 Main 函数 ..." );
// 3 不可以
}
// 4 可以定义函数
} // 5 不可以 (1) 调用者传递的数值被称为实际参数,简称为实参。
(2) 实参的作用:实参给形参赋值,实参必须和形参 的个数、顺序、类型一致。
3. 带有返回值的函数调用:
(1) 数据类型 变量 = 函数名 ( 实参 ); // 数据类型 需要和返回值的数据类型一致
(2) 带有返回值的函数调用之后,对结果可以不进行任何处理 // 应用场景几乎没有
(3) 带有返回值的函数调用之后,直接参与打印或是运算
四、函数的作用
1. 减少代码的冗余
2. 提高代码的可维护性
3. 提高代码的重用性
4. 利于分工,协同合作
五、函数的运行机制【理解】
1. 函数的嵌套调用:被调函数的内部,又调用了其他的函数。
2. 函数的执行原理:程序执行过程中,遇到函数的调用,则程序跳到被调用的函数内部执行,被调用函数执行完
之后,如果有返回值带着返回值返回到调用位置,没有返回值 , 直接返回到被调用的位置 , 程序继续往下执行。
六、递归调用【理解】
1. 概念:一个函数的内部调用了自身函数,这种现象称为递归调用。
2. 实际开发中,需要给递归设置合理的出口,避免无穷递归。
3. 例子:
// 计算 n 的阶乘 = n * n-1 的阶乘
public static int jieCheng ( int n ){
if ( n == 1 || n == 0 ) return 1 ; // 设置出口
return n * jieCheng ( n - 1 );
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值