函数:对完成某项功能的代码块的封装。
|--写法:
修饰符 返回值类型 函数名(参数表){
//实现具体功能的代码块
}
修饰符:可选元素,目前阶段自定义函数必须添加static,
三要素:
返回值类型:函数的返回值类型 void表示当前函数没有返回值
函数名:命名规范:helloWorld
参数表:接受输入值。
例:
//定义一个加法器
static double add(double num1, double num2){
double result = num1 + num2;
return result;//返回数据
}
调用:函数名(传入实际值)
形参:定义函数时,参数表中定义的变量
实参:在实际调用函数时,传入的值称为实参
注:形参和实参可以同名,因为它们的作用域范围不同
形参的作用域范围只在其函数的代码块中
|--作用:(1)减少冗余代码
(2)提高可维护性
(3)程序更加灵活
(4)提高代码复用性
递归调用:函数自己调用自己
//功能:1+2+3+...+n
//1+2+3+...+n-1 +n
static int add(int n){
//1+2+3+...+n-1 + n
if(n == 0)return 0;
return add(n-1) + n;
}
特点:1.满足一个推导公式,推导公式中可以再次利用函数本身
2.有一个收敛条件,满足收敛条件后停止递归调用
自顶向下,逐步求精:
面向过程的编程思想
任意一个大于2的偶数都可以分为两个质数的和。
1.读入用户输入的数值
2.验证是否是大于2的偶数
3.如果否,提示“请输入大于2的偶数”;如果是,则继续第4步
4.遍历所有的拆分组合 a b
5.判断 a b是否都为质数-->如何判断一个数是否是质数
6.如果都是,则输出;否则继续4、5、6步骤,直到所有拆分情况遍历完成
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。