函数知识点

基本概念

函数(方法)

本质是一块具有名称的代码块。

可以使用函数(方法)的名称俩执行该代码块。

函数(方法)是封装代码进行重复谁用的一种机制。

函数(方法)的主要作用:

1.封装代码

2.提升代码复用率(少写点带代码)

3.抽象行为

函数写在哪里

1.class语句块中。

2.struct语句块中。

基本语法

static 返回类型 函数名(参数类型 参数名1,参数类型 参数名2,....)

{

        函数的代码逻辑;

        函数的代码逻辑;

        函数的代码逻辑;

        ..........................

        return 返回值;(如果有返回值类型才返回)

}

1.关于static不是必须的

2.(1)关于返回类型,引出一个新的关键字void(表示没有返回值类型)

(2)返回类型可以是任意的变量类型

3.关于函数名,建议使用帕斯卡命名法。myName(驼峰命名法),MyName(帕斯卡命名法)。

4.(1)参数不是必须的,可以有0~n个参数,参数的类型也可以是任意类型的,注意的是,多个参数的时候需要用逗号隔开。

(2)参数名建议使用驼峰命名法

5.当返回值类型不为void时,必须通过关键字retrun返回对应类型的内容(注意:即使是void也可以选择性使用return)

实际运用

//1.无参无返回值函数
static void SayHellow()
{Console.WriteLine("你好,世界");//在没有返回值时,也就是返回值类型是void,可以省略return
}//2.有参无返回值函数
static void SayYourName(string name)
{Console.WriteLine($"Your name: {name}");//return;省略了
}//3.无参有返回值类型
static string WhatYourName()
{//对应返回值类型的“内容”返回出去return "李华";
}//4.有参有返回值函数
static int Sum(int a, int b)
{//int c = a + b;//return c;//return后面可以写一个表达式,只要这个表达式的结果和返回值类型是一致的就行。return a + b; 
}//5.有参多返回值类型
//函数的返回值一定是一个类型,只能是一个内容
static int[] Calc(int a, int b)
{int sum = a + b;int avg = sum / 2;//int[] arr = { sum, avg };//return arr;//如果用数组作为返回值出去,那么使用者知道这个数组的规则return new int[] { sum, avg };
}//使用函数直接写函数名即可
SayHellow();
//参数可以是常量、变量、函数都可以
//参数一定是传一个能得到对应类型的表达式
string str = "LiMing";
//传入一个string类型的变量
SayYourName(str);
//传入一个string常量
SayYourName("LiHua");
//传入一个返回值是string的函数
SayYourName(WhatYourName());//有返回值的函数,要不直接拿返回值来用
//要不就是拿变量接受它的结果
string str2 = WhatYourName();
//也可以直接调用,但是返回值对我们来说就没用了
WhatYourName();Console.WriteLine(Sum(100,200));int[] arr = Calc(100,200);
Console.WriteLine(arr[0]+" " + arr[1]);

关于return

即使函数没有返回值,我们也可以使用return。

return可以直接不执行之后的代码,直接返回到函数外部。

static string Speak(string str)
{if (str == "sb"){return "**";}//Console.WriteLine(str);return str;
}
Console.WriteLine(Speak("sb"));//**

小结:

1.基本概念

2.函数卸载哪里——class或者struct中

3.基本语法

4.return可以提前结束函数逻辑——程序是现行执行的,从上到下执行的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/25518.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python进阶-部署Flask项目(以TensorFlow图像识别项目WSGI方式启动为例)

本文详细介绍了如何通过WSGI方式部署一个基于TensorFlow图像识别的Flask项目。首先简要介绍了Flask框架的基本概念及其特点,其次详细阐述了Flask项目的部署流程,涵盖了服务器环境配置、Flask应用的创建与测试、WSGI服务器的安装与配置等内容。本文旨在帮…

linux-du指令

目录 du 命令 du 是 Linux 系统中用于估算文件和目录磁盘使用空间的命令。以下是 du 命令的完整使用说明文档: du 命令 名称:du 简介:du(disk usage)命令用于估算文件和目录的磁盘使用空间。 语法: du…

JAVA-LeetCode 热题 100 第56.合并区间

思路&#xff1a; class Solution {public int[][] merge(int[][] intervals) {if(intervals.length < 1) return intervals;List<int[]> res new ArrayList<>();Arrays.sort(intervals, (o1,o2) -> o1[0] - o2[0]);for(int[] interval : intervals){if(res…

【嵌入式】波特率9600,发送8个字节需要多少时间,如何计算?

问题&#xff1a; 波特率9600&#xff0c;发送 01 03 00 00 00 04 44 09 (8字节) 需要多少时间&#xff0c;如何计算&#xff1f; 在计算发送数据的时间时&#xff0c;首先要考虑波特率以及每个字符的数据格式。对于波特率9600和标准的UART数据格式&#xff08;1个起始位&…

es6+-箭头函数细节与应用场景

与函数表达式的区别 箭头函数 更简洁的语法&#xff1a;箭头函数允许你用更简洁的方式书写函数。没有自己的this、arguments、super和new.target&#xff1a;箭头函数不绑定这些关键字&#xff0c;它们从封闭的词法环境中继承这些值。不能用作构造函数&#xff1a;由于没有自己…

AIRNet模型使用与代码分析(All-In-One Image Restoration Network)

AIRNet提出了一种较为简易的pipeline&#xff0c;以单一网络结构应对多种任务需求&#xff08;不同类型&#xff0c;不同程度&#xff09;。但在效果上看&#xff0c;ALL-In-One是不如One-By-One的&#xff0c;且本文方法的亮点是batch内选择patch进行对比学习。在与sota对比上…

JAVA-学习-2

一、类 1、类的定义 把相似的对象划分了一个类。 类指的就是一种模板&#xff0c;定义了一种特定类型的所有对象的属性和行为 在一个.java的问题件中&#xff0c;可以有多个class&#xff0c;但是智能有一个class是用public的class。被声明的public的class&#xff0c;必须和文…

Pytorch 实现目标检测一(Pytorch 23)

一 目标检测和边界框 在图像分类任务中&#xff0c;我们假设图像中只有一个主要物体对象&#xff0c;我们只关注如何识别其类别。然而&#xff0c;很多时候图像里有多个我们感兴趣的目标&#xff0c;我们不仅想知 道它们的类别&#xff0c;还想得到它们在图像中的具体位置。在…

【前端】响应式布局笔记——自适应布局

自适应布局 自适应布局是不同设备对应不同的html(局部自适应)&#xff0c;通过判断设备的类型或控制局部的变化。 1、获取设备是移动端还是pc端 // 获取设备的信息let userAgent navigator.userAgent.toLowerCase();// 使用正则表达式来判断类型let device /ipad|iphone|m…

华为od-C卷100分题目 - 10寻找最富裕的小家庭

华为od-C卷100分题目 - 10寻找最富裕的小家庭 题目描述 在一棵树中&#xff0c;每个节点代表一个家庭成员&#xff0c;节点的数字表示其个人的财富值&#xff0c;一个节点及其直接相连的子节点被定义为一个小家庭。 现给你一棵树&#xff0c;请计算出最富裕的小家庭的财富和。…

数据并非都是正态分布:三种常见的统计分布及其应用

你有没有过这样的经历&#xff1f;使用一款减肥app&#xff0c;通过它的图表来监控自己的体重变化&#xff0c;并预测何时能达到理想体重。这款app预测我需要八年时间才能恢复到大学时的体重&#xff0c;这种不切实际的预测是因为应用使用了简单的线性模型来进行体重预测。这个…

服务部署:.NET项目使用Docker构建镜像与部署

前提条件 安装Docker&#xff1a;确保你的Linux系统上已经安装了Docker。如果没有&#xff0c;请参考官方文档进行安装。 步骤一&#xff1a;准备项目文件 将你的.NET项目从Windows系统复制到Linux系统。你可以使用Git、SCP等工具来完成这个操作。如何是使用virtualbox虚拟电…

IQueryable 常用方法

IQueryable IQueryable 接口是用于构建查询的&#xff0c;它的方法不会直接操作数据库。相反&#xff0c;它会构建查询表达式&#xff0c;并在执行时将这些表达式转换为适当的 SQL 查询&#xff0c;然后发送到数据库执行。 常用方法 where 根据指定的条件过滤查询结果&am…

@Autowired 和 @Resource区别,简单测试容器中多个相同bean的情况

Autowired 和 Resource 区别 Autowired 来自Spring&#xff0c; Resource 来自java&#xff1b;Autowired 默认按类型注入&#xff0c;容器中存在多个相同类型的 Bean&#xff0c;将抛出异常。 可以配合使用 Qualifier 指定名称。 两个相同类型&#xff08;都 implements For…

国产操作系统上给virtualbox中win7虚拟机安装增强工具 _ 统信 _ 麒麟 _ 中科方德

原文链接&#xff1a;国产操作系统上给virtualbox中win7虚拟机安装增强工具 | 统信 | 麒麟 | 中科方德 Hello&#xff0c;大家好啊&#xff01;今天给大家带来一篇在国产操作系统上给win7虚拟机安装virtualbox增强工具的文章。VirtualBox增强工具&#xff08;Guest Additions&a…

Liunx环境下redis主从集群搭建(保姆级教学)02

Redis在linux下的主从集群配置 本次演示使用三个节点实例一个主节点&#xff0c;两个从节点&#xff1a;7000端口&#xff08;主&#xff09;&#xff0c;7001端口&#xff08;从&#xff09;&#xff0c;7002端口&#xff08;从&#xff09;&#xff1b; 主节点负责写数据&a…

Rust-02-变量与可变性

在Rust中&#xff0c;变量和可变性是两个重要的概念。 变量&#xff1a;变量是用于存储数据的标识符。在Rust中&#xff0c;变量需要声明其类型&#xff0c;例如&#xff1a; let x: i32 5; // 声明一个名为x的变量&#xff0c;类型为i32&#xff08;整数&#xff09;&#…

mybatis增加日志打印插件

可以在分页插件PageHelperAutoConfiguration注入的时候&#xff0c;注入日志打印插件 public void afterPropertiesSet() {PageInterceptor interceptor new PageInterceptor(this.helperProperties);interceptor.setProperties(this.helperProperties.getProperties());for …

安装MySQL Sample Database

本文安装的示例数据库为官方的Employees Sample Database。 操作过程参考其安装部分。 在安装前&#xff0c;MySQL已安装完成&#xff0c;环境为Linux。 克隆github项目&#xff1a; $ git clone https://github.com/datacharmer/test_db.git Cloning into test_db... remo…

华为和锐捷设备流统配置

华为&#xff1a; <AR6121E-S>dis acl 3333 Advanced ACL 3333, 4 rules Acls step is 5 rule 5 permit icmp source 192.168.188.2 0 destination 192.168.88.88 0 rule 10 permit icmp source 192.168.88.88 0 destination 192.168.188.2 0 rule 15 permit udp so…