- 24
- 0
- 约1.14万字
- 约 10页
- 2019-01-26 发布于湖北
- 举报
第 3 章
函数和递归函数
3.1 编写函数的优点
程序设计语言中的函数的概念与通常的数学概念差别很大,尽管它们也
具有一些相似之处。因此,初看上去可能会令人混淆,以至于不能做出明确
的比较。我们更愿意在 Java 中介绍函数的语法,并且说明它的两个基本的
优点:
函数可以作为用于增强程序模块性(modularity )和代码可重用性
的子例程(subroutine )。
函数可以通过它们自身递归地定义,这是一种新颖的计算范型。
最后但不是最不重要的是,通过介绍函数,我们将解释局部变量(比如
通常的块变量)和全局内存变量(比如静态类变量)之间的区别。Java 在函
数中只按值传递参数。这是与 C++之间的一个重大的根本区别,C++允许按
值和按引用的变量传递。最后,描述递归可以帮助我们解释 Java 的函数调
用栈(function call stack ),其中局部变量是临时分配的。
3.2 声明和调用函数
3.2.1 原型化函数
函数应该总是在类(目前是程序类)体内声明:比如要声明一个函数
(function )F ,它接受 N 个类型分别为 Type1, …,TypeN 的参数arg1, …, argN,
并且返回 TypeR 类型的结果,则一般语法如下:
·56 · 程序设计与算法(Java 语言版)
static TypeR F(Type1 arg1, Type2 arg2, …, TypeN argN)
{
TypeR result;
block_of_instructions;
return result;
}
过程是不返回任何结果的特殊函数。在 Java 中,这是通过为函数返回类型使用 void
关键字指定的。因此,过程的声明方式如下:
static void Proc(Type1 arg1, Type2 arg2, …, TypeM argM)
{
block_of_instructions;
return;
}
最后一条指令语句“return; ”可以省略。我们总是在过程/ 函数声明前面放置关键字
static:static void Proc,在第 5 章讨论对象和方法时将解释这为什么是必要的。由于过程
和函数将附加到类体上(即封装到类中),基本上就具有以下程序骨架:
程序 3.1 用于定义静态函数的基本程序骨架
class ProgramSkeleton
{
static TypeF F(Type1 arg1 ,…, TypeN argN)
{
TypeF result;
// Description
Block−of−instructions;
return result;
}
static void Proc (Type1 arg1 , Type2 arg2 ,…, TypeM argM)
{
block_instructions;
return;
}
public static void main(String[] arguments)
{… }
}
下面介绍一些具体的示例。
第 3 章 函数和递归函数 ·57 ·
3.2.2 基本函数的示例
您可能关注的文档
最近下载
- PV3930- 氙灯老化试验标准.pdf VIP
- 2025年《反不正当竞争法》市场混淆行为案例分析及答案.docx
- 十堰教师招聘真题2023.docx VIP
- 动力工程及工程热物理专业英语.ppt VIP
- 自来水厂环评:清镇市莲花山自来水厂新建工程-迎燕水库配套水厂工程项目环评(2021年新版环评)环境影响报告表.pdf VIP
- 2025春人教版数学七下《第七章 数学活动》新版课件(23页).pptx VIP
- 工程项目标准化管理体系及措施要求.docx VIP
- 23S516混凝土排水管道基础及接口图集.pdf VIP
- 宪法学(第二版)(马克思主义理论研究和建设工程重点教材)课件第4章国家性质和国家形式.pptx VIP
- 中国旅游文化(全套课件).ppt VIP
原创力文档

文档评论(0)