函数:对完成某项功能的代码块的封装。编程
|--写法: 修饰符 返回值类型 函数名(参数表){ //实现具体功能的代码块 } 修饰符:可选元素,目前阶段自定义函数必须添加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.有一个收敛条件,知足收敛条件后中止递归调用
自顶向下,逐步求精:code
面向过程的编程思想 任意一个大于2的偶数均可以分为两个质数的和。 1.读入用户输入的数值 2.验证是不是大于2的偶数 3.若是否,提示“请输入大于2的偶数”;若是是,则继续第4步 4.遍历全部的拆分组合 a b 5.判断 a b是否都为质数-->如何判断一个数是不是质数 6.若是都是,则输出;不然继续四、五、6步骤,直到全部拆分状况遍历完成