函数

1.认识函数
  定义:具有独立功能,并能通过名称重复使用的代码
  函数的声明位置 必须在   类   中
  函数声明语法
  函数声明示例
  函数的调用
   定义:函数调用就是使用函数    (写在主函数里)
   当程序运行到调用函数的语句时,会执行该函数的函数体
   语法:函数名 ();
  总结
     具有独立功能,并能通过名称重复使用的代码
     函数分为声明和调用,必须先声明后调用
     函数的声明是指给一段代码取名称
     函数的调用是指通过函数名称去执行函数体
     使用函数可以减少代码,并使代码简洁易读
 2.作用域和标识符
  变量作用域
   一个变量,仅在它所定义的大括号有效
   不同作用域中的变量,拥有独立的内存空间
   当作用域结束时,该变量的数据从内存中移除
  函数中的作用域
   不同的函数之间,变量相互独立,互不干扰
   每一次对函数的调用,都是独立运行
  标识符:在代码中,需要自行命名的位置     (变量名  函数名)
 3. 标识符命名要求
   1   必须由数字,字母,下划线组成,并且不能以数字开头,若不能满足该要求,则出现编译错误
   除了标识符本身的要求外,不同的标识符,有自己的特殊要求
   2   变量名:首字母小写,函数名:首字母大写;驼峰命名法和望文知意
 4.声明带参数的函数
  格式
  参数:要完成一件事,需要知道的额外条件
  参数列表书写语法:(数据类型,参数名;数据类型 参数名·····)
  参数在函数中的应用
   在函数中,可以将参数当成已经声明的变量来使用
   参数的作用域:仅在函数体中有效
  总结
     要完成一个动作,需要知道的额外条件,就是参数
     声明函数时,参数必须包含数据类型和参数名
     在函数体中,可将参数当成变量使用
     参数的作用域:仅在函数体中有效
5. 调用带参数的函数
  函数声明语法
  函数声明的参数列表也可叫形参列表
  函数声明时使用的参数,叫形参
  函数调用语法:  函数名:(参数列表)
  函数调用时使用的参数,叫做实参
  函数调用的参数列表,又叫实参列表
  实参列表中每个实参的书写语法;  值 或 变量 或 表达式  多个实参之间使用英文逗号分隔
  实参的数量和类型,必须和形参完全对应
  总结
     函数去完成一件事时,如果需要额外的条件,就必须声明参数
     声明参数时,必须指定每个形参的类型和名称
     调用函数时,实参的数量和类型必须和形参匹配
     实参和形参相互独立
6. 声明带返回值的函数
  函数的返回值
   函数:做一件事
   参数:做一件事的额外条件
   返回值:事情做完后产生的结果
  关键字: returm   用于在函数体中返回结果
  语法:returm 值 或 变量 或 表达式 ;
  当程序运行到returm 语句时,有两种结果
   1 立即结束函数
   2 返回 returm 关键字后面的值 变量 或表达式的结果
   (returm 后面的类型必须和函数声明时类型一致)
  另一种语法: returm ;  //仅仅是让主函数立即结束,并且只能写在返回类型为 void 的函数中
  总结
   如果一个函数完成后需要产生一个结果,该函数就有返回值
   在声明一个带返回值的函数时,必须指明返回值的类型
   函数仅能有一个返回l类型
   如果一个函数不需要返回,那么它的返回类型就是 void
   使用 returm 关键字来返回结果
   返回的结果类型,必须和声明的返回类型匹配
   代码运行到 returm 语句时,会立即结束函数,然后返回 returm 后面的结果
7. 调用带返回值的函数
  函数调用语句:函数名 (实参列表)
  函数调用是一个表达式     返回类型与函数声明的返回类型一致
  总结
   函数是指一个独立的功能
   完成功能需要额外的的条件,就是函数的参数
   完成功能后的结果,就是函数的返回值
   函数分为声明和调用
   声明的完整语法: static 返回类型 函数名 (形参列表){//函数体}
   调用的完整语法:函数名(实参列表)  //该表达式的类型为函数的返回类型
 8.函数签名
  完整的阐述了函数的功能
  定义:是一个函数的函数名 参数列表 返回类型   的统称
  函数名:代表函数的功能
  参数列表:函数为完成它的功能,需要的额外信息(如果不需要信息,则参数列表为空)
  返回类型:函数完成功能后,产生结果的类型  (如果不需要产生结果,则返回类型为 void)
  函数签名,就是函数体要实现的目标
  对于函数使用者 仅需要知道函数签名即可
  编写正确的函数签名
   仔细阅读需求,理解需求的含义
   为函数取一个需求函数的函数名
   仔细考虑该函数是否需要参数,需要那些参数
   仔细考虑,该函数是否需要返回类型
  总结
   函数签名是函数名 参数列表 返回类型的统称
   函数名能完整的阐述函数的功能
   无论是调用函数,还是实现函数,仅需要知道函数签名即可
   在编写函数时,必须保证函数签名与需求相符
 9.文档注释
  单行注释/多行注释:通常写在函数体内,用于描述函数体的代码
  文档注释:通常写在函数体外,用于描述函数体外的代码
  文档注释   示例
 函数的重载
   书写   overload
  定义:是指多个函数可以使用同一个函数名,只要它们参数列表不同   
  参数列表:参数的数量不同或参数的类型不同
  总结
   函数重载是指多个函数使用同一个名称
   重载的条件是参数的数量和类型不同
   重载的作用是降低调用难度
   当调用重载函数时,计算机会根据实参自动匹配
 10.函数的相互调用
  在任何一个函数体中,都可以调用函数
  只要代码运行到调用函数的语句,就会啊去执行调用函数
  在编写函数体时,可以充分利用已有的函数完成功能,从而降低开发难道
 11.递归
  定义:是指一个函数,直接或间接的调用自身
  总结
   递归:是指在函数体中直接或间接的调用自身
   递归必须要有终止条件,否则,将会出现无线递归
   无限递归会耗尽内存,导致程序崩溃,必须避免

C#基础 课堂笔记 下的更多相关文章

  1. C#基础课堂笔记

    第三章:运算符和表达式 1.认识运算符:运算符又叫操作符,是一个运用于运算的符号,它作用于一个或多个操作数 运算符的分类:      (1)按操作数量  一元(目)运算符    作用于一个操作数  二 ...

  2. Java编程基础阶段笔记 day04 Java基础语法(下)

    day04 Java基础语法 (下) 笔记Notes要点 switch-case语句注意 switch-case题目(switchTest5) 循环执行顺序 if-else 实现3个整数排序 Stri ...

  3. Java基础进阶:内部类lambda重点摘要,详细讲解成员内部类,局部内部类,匿名内部类,Lambda表达式,Lambda表达式和匿名内部类的区别,附重难点,代码实现源码,课堂笔记,课后扩展及答案

    内部类lambda重点摘要 内部类特点: 内部类可以直接访问外部类,包括私有 外部类访问内部类必须创建对象 创建内部对象格式: 外部类.内部类 对象名=new外部类().new内部类(); 静态内部类 ...

  4. Java基础进阶:多态与接口重点摘要,类和接口,接口特点,接口详解,多态详解,多态中的成员访问特点,多态的好处和弊端,多态的转型,多态存在的问题,附重难点,代码实现源码,课堂笔记,课后扩展及答案

    多态与接口重点摘要 接口特点: 接口用interface修饰 interface 接口名{} 类实现接口用implements表示 class 类名 implements接口名{} 接口不能实例化,可 ...

  5. 九章算法系列(#3 Binary Tree & Divide Conquer)-课堂笔记

    前言 第一天的算法都还没有缓过来,直接就进入了第二天的算法学习.前一天一直在整理Binary Search的笔记,也没有提前预习一下,好在Binary Tree算是自己最熟的地方了吧(LeetCode ...

  6. 九章算法系列(#5 Linked List)-课堂笔记

    前言 又是很长时间才回来发一篇博客,前一个月确实因为杂七杂八的事情影响了很多,现在还是到了大火燃眉毛的时候了,也应该开始继续整理一下算法的思路了.Linked List大家应该是特别熟悉不过的了,因为 ...

  7. 九章算法系列(#2 Binary Search)-课堂笔记

    前言 先说一些题外的东西吧.受到春跃大神的影响和启发,推荐了这个算法公开课给我,晚上睡觉前点开一看发现课还有两天要开始,本着要好好系统地学习一下算法,于是就爬起来拉上两个小伙伴组团报名了.今天听了第一 ...

  8. ocp11g培训内部教材_052课堂笔记(042)_体系架构

    OCP 052 课堂笔记 目录 第一部分: Oracle体系架构... 4 第一章:实例与数据库... 4 1.Oracle 网络架构及应用环境... 4 2.Oracle 体系结构... 4 3. ...

  9. ocp11g培训内部教材_051课堂笔记(047)_SQL

    OCP 051课堂笔记 目录 OCP 051课堂笔记... 1 第一章.Oracle命令类别:... 4 第二章.SQL的基本函数... 4 2.1 单行函数与多行函数... 4 2.2 单行函数的几 ...

随机推荐

  1. POJ 3984 路径输出

    迷宫问题 Description 定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, ...

  2. spring boot 读取配置文件信息

    1.读取application.properties @Component @ConfigurationProperties(prefix="images.product.column&qu ...

  3. .NET CORE——Console中使用依赖注入

    我们都知道,在 ASP.NET CORE 中通过依赖注入的方式来使用服务十分的简单,而在 Console 中,其实也只是稍微绕了个小弯子而已.不管是内置 DI 组件或者第三方的 DI 组件(如Auto ...

  4. 控制反转(IoC)-解析与实现

    控制反转(Inversion of Control)缩写:IoC是面向对象编程中框架级别里的一个重要的概念, 可以说Spring框架的核心就是基于IoC原理的. 这个概念到底是什么呢? 这么讲吧,一个 ...

  5. [BZOJ 1409] Password

    贴一发题面 1409: Password Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 242  Solved: 82[Submit][Status][D ...

  6. Infer 在 Mac 上的安装和环境配置

    Infer 在 Mac 上的安装和环境配置 Infer 介绍 Infer 是一个静态分析工具.Infer 可以分析 Objective-C, Java 或者 C 代码,报告潜在的问题. 任何人都可以使 ...

  7. Git的一些知识

    Git Git的特点: Git存储的是文件快照, 即整个文件内容, 并保存指向快照的索引 分布式 原理 这个之前面试实习的时候被问到过, 搞懂基本原理还是很重要的 Git的目录结构在执行git ini ...

  8. 14. leetcode 383. Ransom Note

    Given an arbitrary ransom note string and another string containing letters from all the magazines, ...

  9. iframe嵌入页面不能全部展示

    在嵌入页面不能全部展示的问题中,可以通过js改变iframe的高度 html部分代码: <iframe src="#" name="i" id=" ...

  10. swift3.0 从相册选取或者拍照上传图片至阿里云OSS

    导入相应的库 import Photos import AliyunOSSiOS 选取照片需要继承 UIImagePickerControllerDelegate,UINavigationContro ...