首页 > 其他分享 >第五章 函数

第五章 函数

时间:2024-06-20 12:57:49浏览次数:11  
标签:调用 函数 第五章 static 返回值 public 调用者

一、函数
1. 理解:执行一段特定功能的代码,并且可以通过 名字进行反复的调用
2. 函数的使用流程:
  break:终止、结束本层循环 continue:中止、结束本层本次循环
 外层循环和内层循环
 
 3. 函数的定义位置:定义类以内,其他函数以外的 位置(与main函数并列)
二、函数的基本使用 1. 函数的定义:
(1) 函数的定义:确定函数的功能和函数名 a. 函数的声明:确定函数的名字 b. 函数的实现:确定函数的功能
(2) 函数的调用:通过名字进行反复的使用
 
 2. 函数的调用:
 (1) 通过函数名直接使用函数对应的功能 (2) 语法:函数名();
 三、参数的使用
public static void 函数名(){ // 函数的实现
}
函数的定义:函数的声明和函数的实现
(1) 函数的声明:
public static void 函数名() 注意:函数名 ,望文生义,采用驼峰命名法
形式命名
(2) 函数的实现:{}
 
 1. 多数情况下,函数与调用者之间需要数据的交 互;调用者必须提供必要的数据,才能使函数完 成相应的功能,调用者和函数之间交互的数据, 称为参数
2. 形式参数:
  (1) 形式参数:简称形参,函数和调用者之间的一 种约定,约定了调用者需要给函数传递什么数据
(2) 定义:
public static void 函数名(数据类型
变量名,数据类型 变量名,数据类型 变量名3){
}
(3) 使用:形参相当于 函数内部的局部变量 (4) 一个函数可以定义多个形参,称为形参列表 (0~n个)
3. 实际参数:

   定义一个函数selectMax,接收两个整数m,n,打 印两个数据中的较大值;在main函数中调用此函数
四、函数的返回值
1. 理解:函数和调用者之间的一种数据交互,调用 者通过函数获取一些数据结果(函数给调用者一 定的结果)
2. 返回值的语法:
(1) 实际参数:简称实参,函数调用时,传递的数 据
(2) 实参的作用:给形参赋值
(3) 注意:实参的个数、顺序、数据类型必须和形 参一致
 
 3. 函数的返回值分类:
  (1) 返回值类型为:void,代表函数没有返回 值,函数不需要给调用者任何结果返回
public static void 函数名(参数){} (2) 返回值类型为:8种基本数据类型或是对象, 代表函数有返回值,函数必须给调用者返回值对应 类型的数据
public static 返回值类型 函数名(参数) {
return xxx; }
4. 函数返回值的处理:
public static 函数返回值 函数名(形参列表) {
// 函数的实现、函数体 }
 
 5. return的作用:
  (1) 将函数返回值进行返回值给调用者 (2) 结束当前的函数
五、函数的执行机制 1. 理解:
 程序以Main函数作为入口,进入main函数从上往 下依次执行,如果遇到函数的调用,则优先执行被 调用的函数内部代码,被调用函数执完毕之后,带 着带着返回值返回到调用为止,继续后续代码内容
 (1) 第一种处理方式:定义同类型的变量接收返回 值
(2) 第二种处理方式:
 
 2. 函数的嵌套调用:被调用的函数内部,又调用了 其他的函数
六、递归调用
1. 理解:一个函数中调用自身函数
2. 注意:如果使用递归解决问题,必须给递归设置 一个出口,否则出现无穷递归,最终运行报错, 错误信息为:
java.lang.StackOverflowError(栈溢出)
3. 递归的思想:
 (1) 递进:每一次推进,计算都比上一次变得简 单,直至简单到无需继续推进,就能获得结果。也 叫到达出口。
(2) 回归:基于出口的结果,逐层向上回归,依次 计算每一层的结果,直至回归到最顶层。
 4. 案例:
 
  package demo;
public class Test6{
    public static void main(String[]
args){
        int r =jieCheng(8);
        System.out.println(r);
    }
// 函数功能:计算 n的阶乘
    public static int jieCheng(int n)
{
// n的阶乘 = n * n-1 的阶乘
// 设置一个出口,当 n=1 或是0 , 结果直接为1
        if(n==1 || n==0) return 1;
        return n * jieCheng(n-1);
    }
}

标签:调用,函数,第五章,static,返回值,public,调用者
From: https://blog.csdn.net/2301_82275873/article/details/139829533

相关文章

  • Python中__delattr__()函数详解
    在Python中,__delattr__是一个特殊方法(也称为魔术方法或双下划线方法),它在尝试删除对象的属性时被调用。当你使用del语句来删除一个对象的属性时,Python会自动调用这个方法来执行删除操作。__delattr__方法接受一个参数,即要删除的属性的名称(通常是一个字符串)。你可以在这个方法中自......
  • DEMO_01:List数据存储,回调函数,集合转字符串,元素去重
    *题目:*1.构建属性结构List<DemoNode>data,根据本包的data.png中数据结构图将数据存入data中(字就是nodeName)*2.将树形结构List<DemoNode>里面的元素全部遍历出来存放到List<String>list中,输出结果转换成字符串:粉粉碎机被粉碎机粉碎了怎么办*3.将list里元素去重后......
  • 43、基于神经网络拟合函数的体脂估计(matlab)
    1、神经网络拟合函数的原理及流程神经网络拟合函数是一种基于人工神经元之间相互连接的模型,用来拟合复杂的非线性函数关系。其原理是通过多层次的神经元网络,每一层神经元通过激活函数将输入信号加权求和后输出,经过多次迭代优化权值,使得网络输出与实际值误差最小化。流程如下:......
  • 从0开始C++(三):构造函数与析构函数详解
    目录构造函数 构造函数的基本使用构造函数也支持函数重载构造函数也支持函数参数默认值构造初始化列表拷贝构造函数浅拷贝和深拷贝析构函数 总结练习一下ヽ( ̄▽ ̄)ノ 构造函数 构造函数的基本使用构造函数是一种特殊的成员函数,用于创建对象时初始化,写法上有以下......
  • #C:比如有如下两个字符串:“hello“、“helhehe“不能使用库函数完成字符串的比较
    #include<stdio.h>#include<string.h>voidtest00()//比如有如下两个字符串:"hello"、"helhehe"不能使用库函数完成字符串的比较{ //时刻需要注意变量i的值  charbuf1[128]="";   printf("请输入第一个字符串buf1:");   //scanf("%s",buf1);......
  • 1、R语言基础函数
    1.数据类型检查与转换typeof(x):检查变量x的数据类型。is.numeric(x) / is.character(x) / is.logical(x):检查x是否为数值型、字符型或逻辑型。as.numeric(x) / as.character(x) / as.logical(x):将x转换为数值型、字符型或逻辑型。2.向量操作c():创建向量,如c(1,2......
  • [模式识别复习笔记] 第3章 线性判别函数
    1.线性判别函数1.1定义在\(d\)维特征空间中,有线性判别函数:\[G(x)=w^{\text{T}}x+b\]其中,\(w=[w_1,w_2,\ldots,w_d]^T\)称为权值向量,\(b\)称为偏置,都是需要学习的参数。\(G(x)=0\)为决策边界方程。PS:只能解决二分类问题。1.2几何意义\(w\)为超......
  • 【diffusers 极速入门(二)】如何得到扩散去噪的中间结果?Pipeline callbacks 管道回调函
    本文是对HuggingFaceDiffusers文档中关于回调函数的翻译与总结,:管道回调函数在管道的去噪循环中,可以使用callback_on_step_end参数添加自定义回调函数。该回调函数在每一步结束时执行,并修改管道属性和变量,以供下一步使用。这在动态调整某些管道属性或修改张量变量时非......
  • 《人月神话》第五章
    在《人月神话》的第五章“第二个系统效应”中,弗雷德里克·布鲁克斯深入探讨了软件开发中的一个常见现象:在成功完成第一个系统之后,开发者往往会在第二个系统上犯下过度设计或功能膨胀的错误。读完这一章,我对软件开发过程中的连续项目和如何避免重蹈覆辙有了更深刻的理解。布鲁克斯......
  • 《人月神话》第五章和第六章
    在深入阅读了《人月神话》的第五章“第二个系统效应”和第六章“沟通顺畅”之后,我对于软件开发过程中的沟通和团队协作有了更全面的理解。这两章内容虽然侧重点不同,但都强调了有效沟通在软件开发中的核心作用。第五章让我认识到,在软件开发的连续项目中,成功之后的自信可能会导......