栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java中何为函数

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java中何为函数

函数概述

什么是函数
函数就是定义在类中的具有特定功能的一段独立小程序,并能被多次使用。
如何定义一个功能呢?

  • 应该是一个封闭的区间。就是需要使用大括号将其封装。
  • 需要给这个区间起个名字,以后通过这个名字来调用这个区间
  • 这个区间需要有参与运算的数据
  • 需要定义该功能的结果类型

函数的格式

权限修饰符 函数类型修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,...) {
	执行语句;
	return 返回值;
	}
  • 权限修饰符:指的就是函数的使用范围(内部和外部)
  • 函数类型:函数类型分类,说明函数的具体使用场景和场合
  • 函数名
  • 参数列表:参数列表有若干个 参数类型,参数名… 组成 主要用于接收外界传递给函数的一些数据
  • 函数体:就是那些具有独立功能的代码块
  • return:仅仅表示结束当前函数,如果有返回值,则函数结束前将返回值返回给调用者
  • 返回值:指的就是这一具有独立功能的代码块的计算结果,需要传递给外界配合return
  • 返回值类型:就是返回值的数据类型(可兼容)

如何定义函数
函数就是一个功能,功能就需要两部分:

  • 函数运行时有位置参数吗?
  • 函数运行完的结果是什么?

例子:最大值判断max()函数

import java.util.Scanner;
public class DEMO {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("输入一个数:");
        int x1 = input.nextInt();
        System.out.println("输入另外一个数:");
        int x2 = input.nextInt();

        int k = max(x1,x2);
        System.out.println(x1 + "与" + x2 + "中数值最大的是" + k);
    }
    public static int max(int num1,int num2) {
        int result;
        if (num1 > num2)
            result = num1;
        else
            result = num2;
        return result;
    }
}
		
函数的运行原理

每当调用一个方法时,系统会创建一个活动记录(也成为活动框架),用于保存方法中的参数和变量。活动记录置于一个内存区域中,称为调用堆栈(call stack)。调用堆栈也称为执行堆栈、运行时堆栈,或者一个机器堆栈,常简称为“堆栈”。当一个方法调用另一个方法时,调用者的活动记录不动,一个新的活动记录杯创建用于被调用的新方法。一个方法结束返回到调用者时,其相应的活动记录也被释放。

函数重载

在同一个类中,允许存在一个以上的同名函数,只要他们的参数个数或者参数类型不同即可,这时就形成了重载。重载与返回值类型无关。

void show(int a,float b,char c){}

比方说下列函数和给定函数重载的关系

  • a.int show(int x,float y,char z) //没有重载,这个函数不允许和给定函数存在同一个类中。因为会产生调用的不确定性,也就是说系统会不知道改用那个函数,在这两个之中不确定。
  • b.void show(folat b,int a,char c) //重载了,参数类型不同
  • c.void show(int c,float a,char b) //没有重载,和给定函数一样,不允许存在。

与权限没关系,与返回值类型没关系,与参数没关系 ,只有和参数类型的排列组合有关系(注意一下,参数类型的向下兼容问题)
重载的好处就在于我们可以扩展函数的功能(函数重名,但是参数类型不一样,执行内容也可以不一样)。

函数递归

举个例子,就是从1加到100,利用函数,像俄罗斯套娃一样,一直利用函数及其返回值,相加,最后求得值。
还有就是斐波那契数列也是同样的问题。
这是属于分治法,算法的思想,将大问题进行拆分,拆分成若干个小问题进行求解,最后在把所有小问题进行合并。。。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/362296.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号