四、函数
来源:互联网 发布:java暂停线程wait 编辑:程序博客网 时间:2024/04/29 22:06
什么是函数?
所有的高级编程语言里面都有函数的定义,非常重要。
Java里面函数:就是定义在类里面的一段独立的小代码,为了完成特定功能,也叫方法。
Main函数是一个特殊的函数,因为他是java程序的执行入口。
为什么要使用函数?
函数是为了代码的重复使用。
Java里面函数怎么定义?每部分什么含义?
修饰符 返回值类型 函数名 (参数类型 参数名1,参数类型 参数名2 ……)
{
一小段代码
Return
}
修饰符:顾名思义,修饰的作用,为啥main函数不能直接调用本类定义的其他函数,因为其他函数必须是静态的才可以直接调用,后面讲到。
Public private protected
返回值类型:函数运行后结果的类型
返回值类型有一种特殊类型是void表示没有任何返回值
参数类型:形式参数的数据类型
形式参数:是一个变量,为了存储等到函数调用的时候传递的实际参数数据。
实参:函数调用时传递的数据。
Return:用于结束当前函数。
/**
*求1加到n的和
*/
public static int add(int n){
int sum=0;
for(int i=0;i<n;i++){
sum+=(i+1);
}
return sum;
}
如何使用您定义的函数?
调用方式
函数名(实际参数…….)
返回值一般会赋值给一个变量,便于后面使用。
调用函数要清楚该函数属于哪个类?
如果该函数定义为static,可以通过:类名.函数名(实际参数);
如果不是static,先创建一个对象。Student s=new Student();
S.study();
函数作用是什么?
重构代码,将可能被反复使用的代码独立起来,然后起个名,写成函数即可。
也就是为了代码复用。
函数嵌套调用和递归调用?
函数嵌套是指一个函数定义里面,使用了另一个函数。
递归调用是指一个函数定义里面调用了自己。
递归两个重要条件:
递归可以不断的化简复杂问题,每一次操作都是相似规则的操作
递归要有出口,有最终结束的条件
递归的使用场合:
逻辑比较复杂,并且参数取值比较大,通过循环难以解决的问题。
用递归解决可以化简问题的复杂程度,因为每一次执行函数体的时候问题都不复杂。
并且每执行一次函数体,问题就被化简一次,直到到达设置的递归结束条件的时候,整个问题求解结束。
举例:
1.阶乘
public static long jiecheng(int n){
long result=1;
//求n的阶乘就是求n乘以n-1的阶乘
if(n>1)
{
result=n*jiecheng(n-1);
}
//递归结束条件
if(n==1) {
result=1;
}
return result;
}
2.经典汉诺塔问题
要求就是将n个盘子从a经过b移动到c
不管盘子移动到那根柱子都是大盘子在下小盘子在上
每次只能移动一个盘子
From-----------------middle---------------to
思路:
将上面的n-1个盘子从from柱子经过to移动到middle上
将第n个盘子直接移到to
将middle上面的n-1个盘子经过from柱子移动到to
package yantai;
public class Hanio {
/**
*
*@param n
*@param from
*@param middle
*@param to
*思路:
1.将上面的n-1个盘子从from柱子经过to移动到middle上
2.将第n个盘子直接移到to
3.将middle上面的n-1个盘子经过from柱子移动到to
*/
public void hanio(int n,String from,String middle,String to){
if(n==1){
System.out.println("将"+n+"号盘子从"+from+"移动到"+to);
}
else{
hanio(n-1,from,to,middle);
System.out.println("将"+n+"号盘子从"+from+"移动到"+to);
hanio(n-1,middle,from,to);
}
}
}
习题:
/**
* 如果一个数等于其所有因子之和,我们就称这个数为"完数",例如6的因子为1,2,3 6=1+2+3
6就是一个完数.请编程打印出1000以内所有的完数
*/
}
- 四、函数
- Delphi公共函数(四)
- PB函数大全四
- API函数导航(四)
- oracle 日期函数四
- Python基础知识(四)--函数
- 四、函数设计
- delphi常用函数四
- Halcon函数总结(四)
- Makefile规则(四):函数
- 学习python(四) 函数
- python内置函数(四)
- 多线程四(同步函数)
- 四、Lua中的函数
- Hive知识点四(函数)
- python(四) 函数
- 四.Python之函数
- Hive分析函数四
- 用photoshop扣公章
- 分治思想 - 二分搜索技术 - MATLAB代码 list是数据集合,x是要查找的数据。
- iOS单元测试,String类型的宏,单个类测试可以正常取到,多个类一起测试取到的宏为null
- java中ftpClient.listFiles()结果为空问题解决方案
- CSS样式的定位
- 四、函数
- HDU 1847 畅通工程续
- ~~~~~~~
- HDU 2009 求数列的和(水题)
- 198. House Robber
- 【leetcode】136. Single Number
- 设计模式之多例模式
- Kafka读写
- Description Resource Path Location Type Cannot change version of project facet Dynamic Web Module to