java中函数问题Function
来源:互联网 发布:小漠鞋子淘宝店 编辑:程序博客网 时间:2024/06/08 01:23
1.函数
定义在类中的具有特定功能的一段小程序,也叫做方法。
作用:函数的封装可以提高代码的复用性
A. 函数的组成:
修饰符 返回类型 函数名(参数类型 形参){}
1)修饰符 (有时可以省略):public,private,protected,final ,static
static:被static关键字修饰的方法只能访问被static修饰的方法
main:main方法前的修饰符号为:public static main(String [] args){}
2)返回类型:
函数运行完之后返回的参数类型
一般有:int,shout,byte,long,double,float,String ,boolean,char ,当然还可以是数组形式,int []
当函数没有返回类型是用void
3)函数名
命名规则:小驼峰
4)形参
变量,用来存储函数调用者是用函数时候传递的数据
例如:int function(double num){}这里的num就是形式参数
当然,如果该方法不调用参数,可以为空 int function(){}
5)实参
传递给形参的具体数据,简单说就是赋给形参的值
6)方法体
功能是实现的容器用花括号{}包围
7)return
用于结束函数,将结果返回给调用者 return 返回值;
当函数返回值为空时候,【void】,return可省略,或者写为【return; 】
8)返回值
函数运行结束的具体返回数据【返回值的类型和返回类型保持一致】
B.【注意事项】
1)函数和函数之间是平级的,函数之间可以相互调用,但是函数中不能嵌套声明函数
2)无论定义的函数在main方法前或者之后声明,函数最先执行的方法都是main(),main是程序的 入口
3)函数只有被调用时 才会执行
【规则】
可以规则定义函数
1. 判断该函数功能是否有未知项参与运算,以及如果有未知项参与运算,未知项的类型和个数
--- 决定的是形参的个数和形参类型
2.调用者是否需要该功能返回结果
---- 决定的是否有返回值 和 返回值类型
C.函数调用
有结果有形参
结果类型 变量名 = 函数名 (实参);
【注意:实参类型要和形参类型一致 实参的个数是由形参来决定的】
有结果无形参
结果类型 变量名 = 函数名 ();
无结果有形参
函数名 (实参);
无结果无形参
函数名 ();
【return的注意事项】
return 结束函数
在return后面不能直接跟随语句 因为这条语句永远都不会被执行
函数执行顺序【方法压栈】
栈 - 内存结构中的一块空间 类似于向上开口的容器 特点是先进后出。
运行着的函数是在栈中的
2.方法的重载
重载概念:在一同个类中 方法名相同 参数列表不同的方法------称为重载方法
参数列表不同:形参个数不同 、形参类型不同 、【返回类型不同】(可选)
3.算法
递归算法
方法调用方法本身
是由斐波拉契数列得来的
斐波拉契数列:
第一位是1 第二位是1 第三位是2 第四位是3 第五位是5 第六位是8...
公式:
F(n) = F(n-1) + F(n-2); n>=3
已知条件 F(1) = 1 F(2) = 1
【注意事项】
1.递归一定要有已知值 【要有出口】
否则会形成死循环 造成资源耗费太多,程序瘫痪
2.建议使用场所:层数较少的地方
如果层数太多 会耗费大量的内存空间 造成程序卡顿
4.数组
数组概念:存放同一种数据类型的元素集合。简言之,就是存放同类型数据的容器。
数组特点:
具有特定的长度(长度固定)
在数组中放置的元素 会自动为其添加编号(脚标/下标/索引) 编号是从0开始的
数组的定义格式:
格式1:
数组元素类型 [] 数组名 = new 数组元素类型[元素个数];
解释:定义一个数据类型的固定大小的容器
int[] arr = new int[3]; --> 定义了一个能放置3个int类型变量的容器
格式2:
数组元素类型 [] 数组名 = new 数组元素类型 []{元素1,元素2...,元素n};
【注意:这种方式定义中括号中不能指定数组元素个数, 避免与列举出来的元素的个数冲突】
int[] arr = new int[]{1, 2, 3};
---> 定义了一个放置3个int类型变量的容器 这三个变量的初始值分别为1 2 3
格式3:
是第二种方式的简写
数组元素类型[] 数组名 = {元素1, 元素2, 元素3.。。};
例如:int [] arrary={1,4,5,69,5};
- java中函数问题Function
- shell 中函数function()
- 事件函数function(e){}中e的问题
- Function接口 – Java8中java.util.function包下的函数式接口
- Flash8中自定义函数function
- jQuery中$(function() {});问题详解
- jQuery中$(function() {});问题详解
- MatConvNet的function vl_compilenn(varargin)函数问题
- java 调用oracle中存储过程与调用function函数两例
- .net中函数Function的用法
- javascript中函数(function)的用法
- SQL function中使用rand随机函数
- DB2 FUNCTION【DB2中增加自定义函数】
- HTML中调用FUNCTION coma函数
- matlab-simulink中s-function函数…
- oracle 中函数(function)的学习
- jquery 在$(function(){})中调用外部函数
- Function:--js中创建函数的方法
- poj3301 Texas Trip (三分)
- Summing up Powers LightOJ
- javascript中常用的几种输出方式
- Vue2学习笔记:组件(Component)
- FZU 2261 浪里个浪 (多源最短路)(福州大学第十四届程序设计竞赛)
- java中函数问题Function
- 交换链表中相邻节点的位置
- 操作系统之存储器管理
- 写时拷贝方案分析 copy on write
- MySQL 之数据备份与恢复
- Visual Studio 团队管理器无法连接 TF31003(TF31001,TF31002)
- Some Meritorious Material about WEB . TBC
- Spring入门到精通(二)
- 617. Merge Two Binary Trees