JavaSE Day5 知识总结

本文详细介绍了函数的概念,包括其在编程中的作用,如何在Java中定义和调用函数,以及函数的分类。讨论了无参函数、有参函数、有返回值和无返回值的函数,强调了局部变量的作用域。还深入探讨了函数调用的本质,函数重载的原理和应用场景,并举例说明了函数递归的实现和优缺点。此外,还涉及到了递归解决斐波那契数列问题的实例。
摘要由CSDN通过智能技术生成

学习目标:function(函数):

  1. 什么是函数

  2. java如何定义函数

  3. 函数的调用

  4. 函数的分类

  5. 局部变量

  6. 函数在内存的调用的本质

  7. 函数重载

  8. 函数递归

函数:

            编程中的函数和数学中的函数不是一个东西

函数是什么?

(本质) 为了解决某一特定问题,而具有特定名称的代码集合(一行或者多行)。函数就是现实中的一种行为动作!!!

将这个过程:分化成n个小过程

优点:简化整个过程,实现代码高度复用

java中如何定义函数:

                  java中函数属于类,使用时必须定义在类中,所以函数是类的成员,函数不能包函数!!!

                (public)访问修饰符    [static]     函数的返回值的类型(int ,string …… )     函数名称  ([参数列表]){

                  函数体,由一行或者多行代码组成             不代表没有参数,可以有参,

    return(返回值)}

        例如:

public   static  void(表示没有返回值)hellofun(无参){

System.out.println("");           先把函数定义成静态函数,常规函数在,学习面向对象讲解,java中没有办法直接调用非静态方法!!!只能调用静态方法!!!,在main函数中,如果需要调用非静态方法,必须使用构建对象的方式。(这就是面向对象的知识);


                                                    }

函数的调用:

当函数定义完成后,必须通过调用才可以执行!!!

        Public static void main(Stringp[] args){

函数名称(参数列表);

}

函数的分类:

  1. 通过函数是否存在参数:

                        1,无参变量

                        2,有参变量(形参)

有参函数在调用时,必须传递对应的参数,按顺序传递,不要混写!!!

  1. 函数是否有返回值:

                        1,无返回值

                       2, 有返回值(return),

<要将函数的返回值使用变量接收,在函数中如果遇到return关键字,函数立即返回,需不需要写返回值,要看调用者需不需要!!!>

  1. 定义者:

                       1, 系统函数

                       2, 第三方

                       3,自定义函数

局部变量:

定义在函数内部的变量,叫做局部变量,局部变量的作用域只能是当前函数中有效。

函数调用的本质:

函数重载

函数重载:

至少两个或更多函数,函数名称相同但是参数类型不同或者参数的个数不同,从而在调用的时候,可以通过传参确定要调用的函数

函数重载,本质是对功能的扩展,不是代码的复用,

面试题:

1,函数重载是所有编程语言所共有的吗?

函数重载是强数据类型语言所特有的(javac,c++,c#,……),弱数据类型语言的不具备的(JavaScriptPythonruby……)

         2,请简述:overload(函数重载),override(覆盖),overwrite(重写)

函数的递归:

递归:函数自身调用自身,有终止条件

Public static void main(){

Int s =Sum(100);

System.out.print(s);}

Public static int  sum(int n ){

ifn==0){
                   return 0;          }

Else{

Return n+sum(n-1); //99+98+97+……+(-N)

}

递归的内存模型:

优点:分治理念的体现,可以把复杂的问题简单解决

缺点:非常耗费内存,当栈被全部占用后,触发Stack OverflowError异常

面试题:

求第n项斐波那契数列的值?
斐波那契数列:
0,1,1,2,3,5,8,13,21,34,55,89……

公式:f(n)=f(n-1)+f(n-2)

非递归方法:

上楼问题:小明上台阶,每次只能上一个台阶或者两个台阶,那么小明到达第n个台阶时有多少种走法?
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值