函数

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. 用java调用oracle存储过程总结

    以前一直没有动存储过程是用来干嘛的,后来请教朋友才换为自己的理解方式,用自己通俗的语言来说,就是把sql语句换为一个过程,也可以说是一个方法,每次直接给参数调用就好,使用存储过程查询速度快,系统只编译 ...

  2. python selenium自动化之-环境搭建

    安装python和pip上述文章有介绍,在这里不在赘述.直接安装seleinum pip3 install selenium 安装完成以后, pip3 show selenium 显示 Name: s ...

  3. MongoDB安全及身份认证

    前面的话 本文将详细介绍MongoDB安全相关的内容 概述 MongoDB安全主要包括以下4个方面 1.物理隔离 系统不论设计的多么完善,在实施过程中,总会存在一些漏洞.如果能够把不安全的使用方与Mo ...

  4. Android Studio2.1 Run APP:Error: Execution failed for task

    Android Studio2.1 Run APP时,遇到错误 Error: Execution failed for task ':app:clean'. Unable to delete file ...

  5. Missing number - 寻找缺失的那个数字

    需求:给出一个int型数组,包含不重复的数字0, 1, 2, ..., n:找出缺失的数字: 如果输入是[0, 1, 2] 返回 3 输入数组 nums = [0, 1, 2, 4] :应该返回 3 ...

  6. 中国(北方)大学生程序设计训练赛(第二周) (A B D G)

    比赛链接 A题是KMP,先把A拼接到B的后面,然后利用next数组的意义(包括其具体含义,以及失配时的应用),得到ans #include<bits/stdc++.h> using nam ...

  7. Verilog HDL程序设计——基本要素

    Verilog基本上熟悉了,继续整理一下Verilog的学习笔记吧.前面记载了Verilog的结构,写Verilog的结构有了,但是该怎么写呢?在写之前就得了解一下Verilog的一些基本要素了,也就 ...

  8. web正则表达式与示例

    正则表达式应用——实例应用: 1.验证用户名和密码:("^[a-zA-Z]\w{5,15}$")正确格式:"[A-Z][a-z]_[0-9]"组成,并且第一个字 ...

  9. 资金平台交易明细扩展开发-DEP

    前言 支持农垦项目中,需要增加抓取银行接口传输数据,需求有两点:一是银企平台前置机需要增加扩展中行.农行数据字段.(代理账号.代理账户名称.代理银行) 二是EAS资金模块中的交易明细查询列表界面能够显 ...

  10. Go的类型断言解析

    经常地我们对一个接口值的动态类型是不确定的,如方法的形参为接口类型时,此时就需要检验它是否符合我们需要的类型.类型断言是一个使用在接口值上的操作.断言类型的语法:x.(T),这里x表示一个接口的类型, ...