函数的理论知识

重复代码给开发带来的问题:

1、降低了开发效率,增加了开发的时间(成本增加);
2、易错
3、难以维护(修改)
4、难以阅读
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
函数:是指一段具有某个功能的代码,该代码有一个名称

书写函数的语法:

函数声明的位置:在类中,函数中不能声明函数

当一个变量作用域结束,该变量将从内存中移除。

函数声明语法:###

public static 返回类型 函数名(形参列表){
函数体
}

函数调用语法:###

函数名(实参列表)
该表达式的类型为函数的返回类型。

函数:做一件事
参数:做这件事需要的额外信息
函数体:做这件事的过程
返回值:完成事情后产生的结果
------------------------------------------------------------------------------------

参数
是指完成一个功能,需要的额外条件(信息)。

在函数体中,可以将参数当做变量使用,该变量的作用域在函数体。

在调用函数时,会将实参的数据传递(赋值)给形参。

---------------------------------------------------------------------------------------

返回值:完成一个功能产生的结果。

return关键字:写在函数保护体中,当代码运行return关键字时,
会立即结束整个函数,同时将renturn关键字后面的常量,变量、表达式返回

return 常量或变量或表达式

return; 写在返回类型为void 的函数中,作用是立即结束函数。

--------------------------------------------------------------------------------------------

###############
函数签名=函数名+参数列表+返回类型
函数名代表功能
参数列表代表函数完成功能需要的信息
返回类型代表函数完成功能后产生的结果
函数签名可以完成的阐述函数的功能

对于函数调用者,仅需要知道函数签名即可。
对于函数实现者,仅需要知道函数签名即可。

如何书写正确的函数签名:
1、阅读需求,理解需求表达的含义。
2、给该需求取一个贴切的名称
3、考虑完成该需求是否需要参数(额外条件)
4、考虑完成该需求后是否需要返回结果

可以在任何函数体中调用函数,只要代码运行到调用函数的语句,就会运行函数体。

实现函数时(写函数体),尽量利用已有的函数完成功能。

---------------------------------------------------------------------------------

递归:若一个函数直接或间接调用自身,叫做递归、

时间: 2024-11-07 01:15:35

函数的理论知识的相关文章

js中函数的一些理论知识

  函数的一些理论知识 1. 函数:                执行一个明确的动作并提供一个返回值的独立代码块.同时函数也是javascript中的一级公民(就是函数和其它变量一样). 2.函数的声明方式:                 1> 函数声明:在函数里,必须手动去声明函数的返回值,如果返回值没有申明,则此函数返回值为undefined,,return是函数内部使用的,形参能自动声明,而实参不能自动声明为undefined.我们在调用函数时要:函数+()这种形式.不然就是函数本身.

堆和栈的理论知识

一.预备知识-程序的内存分配       1. 一个由c/C++编译的程序占用的内存分为以下几个部分 1.栈区(stack)-由编译器自动分配释放,存放函数的参数值,局部变量的值等.其操作方式类似于数据结构中的栈.2.堆区(heap)-一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收.注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵.3.全局区(静态区)(static)-全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初

Android初级教程对大量数据的做分页处理理论知识

有时候要加载的数据上千条时,页面加载数据就会很慢(数据加载也属于耗时操作).因此就要考虑分页甚至分批显示.先介绍一些分页的理论知识.对于具体用在哪里,会在后续博客中更新. 分页信息 1,一共多少条数据 select count(*) from blacktb; 性能低下 原因: sql解析器先查询数据字典,把*转成所有的列名和列的类型 然后把每行数据提取出来 最后统计多少行数据 select count(常量) from blacktb; 高性能的查询 不需要每行的记录,只需要行数 2,指定每页

数据库入门理论知识介绍

数据库入门理论知识介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 前言: 1.目前90%以上的公司面临的运维的瓶颈都在后端 最常见的2大瓶颈就是: 1>.数据库(极难扩展): 2>.存储: 所以说做互联网的运维工程师要是把以上两点问题解决就可以轻松的搞定整个架构 2.什么是数据库: 查百度上有长篇大论了一下数据库特点,我们可以简单的理解: 数据库就是一个存放数据的仓库,这个仓库按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织,存储的,我们可以通过数

计算机编程基础:栈、堆、堆栈概念区分及理论知识

一.预备知识—程序的内存分配  一个由c/C++编译的程序占用的内存分为以下几个部分  1.栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等.其操作方式类似于数据结  构中的栈.  2.堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 .注意它与数据结构  中的堆是两回事,分配方式倒是类似于链表,呵呵.  3.全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在  一块区域, 未

统计学习基本理论知识(一)

本篇将依据<统计自然语言处理>(宗成庆),重新梳理统计学习相关理论知识,相关概率论与梳理统计的课本不再列出来,可以找任意相关的课本复(预)习. 概率 概率是表示事件发生的可能性,将随机试验中的事件映射到实数域.用$P(A)$表示事件A的概率,$\Omega$表示试验的样本空间(所有可能发生的事件),则概率满足: 非负性:$P(A) \geq 0$ 规范性:$P(\Omega) = 1$ 可列可加性:对于可列个事件$A_1,A_2,...$,如果事件两两互不相容($A_i \bigcap A_j

理论知识总结

理论知识总结 1. 什么是js:就是修改样式 2. 事件 onclick鼠标点击事件  onload加载事件  onmouseover---onmouseout鼠标移入移出事件    onchange更改事件.改变事件   onmousedown---onmouseup鼠标按下抬起事件 3. 获取元素的方式 (1)getElementById(id); ---通过id获取一个元素 (2)getElementsByTagName(标签名);---通过标签名获取一组元素 (3)getElements

YJX_Driver_017_需要具备的理论知识

1. 需要具备的理论知识 A.了解SSDT结构 B.由SSDT索引号获取当前函数地址 C.如何获取索引号 D.获取起源地址 -- 判断SSDT是否被HOOK E.如何向内核地址写入自己的代码 [178]打开 工具KernelDetective 对于内核NtOpenProcess函数,自己写 类似 sx.sys的话,需要哪些资料/思路: 我们要取得 当前地址/起源地址,若 当前地址 != 起源地址 ==> 说明 NtOpenProcess函数 被HOOK了,就要转到当前的地址(KernelDete

关于积性函数的一些知识

前言 最近在学习一些玄学的数学知识(如莫比乌斯反演和杜教筛)时,我发现自己对于一些数学的理论知识了解得还不够多(不像\(XRY\)奆佬一样初一就把大学数学学完了),于是决定好好去学习一下这面的知识. 例如关于积性函数的知识,就是比较重要的一块内容. 定义 什么是积性函数? 其实它的定义还是很好理解的:若对于一个数论函数\(f(x)\),已知\(f(x)=1\),且对于任意互质的正整数\(p,q\)都满足\(f(pq)=f(p)f(q)\),则称该函数\(f(x)\)为一个积性函数. 这么说来,貌