
一起动脑筋 · 先看一个小故事
机器人每天都要问好三次,女孩不想在很多地方重复写同样的动作。她给这组动作取了名字。
把过程摊开来看
- 打包动作定义 greet
- 需要时调用 greet
- 执行完回到原来的位置
函数给一段任务明确的名字和边界,让程序可以复用这段逻辑。
定义像写好一张任务卡,调用才是照卡执行。名字要能让读者猜到它负责什么。
01如果一段代码要用很多次怎么办?
假设程序需要在很多地方计算两个数中的较大值。如果每次都把同样的判断代码重新写一遍,程序会越来越长,也更容易改漏。
函数可以把这段任务单独取一个名字,需要时直接调用。
02函数到底是什么?
函数(Function)是一段有名字、可以被调用来完成特定任务的程序代码。
int maxValue(int a, int b) {
if (a > b) {
return a;
}
return b;
}
这个函数接收两个整数,并返回较大的那个。
名字
maxValue,告诉人它做什么。
输入
参数 a、b。
输出
返回一个 int。
03函数能减少重复代码吗?
int x = maxValue(3, 8);
int y = maxValue(20, 5);
同一份函数代码可以被调用很多次,每次使用不同的数据。
04函数为什么能让程序更容易读?
所有代码挤在 main 里
读者必须同时理解很多细节。
拆成多个函数
函数名先告诉读者“这一块在做什么”。
例如 readInput()、calculate()、printResult() 比一大段连续代码更容易理解。
05函数是不是越多越好?
不是。函数应该围绕清楚、相对完整的任务来划分。
如果把每一行代码都拆成一个函数,反而会让程序跳来跳去,很难阅读。
06函数怎样帮助我们解决大问题?
大问题→拆成几个小任务→每个函数负责一部分
这就是程序结构设计的重要思想:分解问题,再组合结果。
你已经知道了什么
- 函数是一段可以被调用、完成特定任务的代码。
- 函数可以有名字、参数和返回值。
- 函数能减少重复并让程序结构更清楚。
- 函数不是越多越好,应该围绕明确职责划分。
- 函数是把大问题拆成小问题的重要工具。
下一篇:怎样定义和调用一个函数?
轮到你来试一试
写好了问好函数,却从没调用,会自动问好吗?
想好了吗?点开看解释
不会。定义告诉程序有哪些任务可用,调用才触发这一次任务。