C# 学习第二弹

一、变量

存储区(内存)中的一个存储单元

(一)变量的声明和初始化

1、声明变量——根据类型分配空间

①声明变量的方式

—变量类型 变量名 = 数值;

—变量类型 变量名;

变量名 = 数值;

—变量类型 变量1,变量2,变量3;

竟然可以用汉字,但是非常不建议用!!!!

namespace Demo2
{class Program{static void Main(string[] args){//声明变量的方式int money = 100;int mon2;mon2 = 200;int m1, m2, m3, m4;int 往 = 2;}}
}

 ② 变量的命名规则

首字母:字母/下划线

其余部分:任意数字/字母/下划线

变量的基本要求:简短且能清楚的表明变量的作用,通常第一个单词首字母小写,其余单词首字母大写。

变量名不能与C# 关键字冲突

变量区分大小写

2、初始化变量——将数据存入内存空间

①单独初始化变量

②声明时初始化变量

③同时初始化多个变量 

变量的作用域

静态变量使用类名引用

实例变量使用类对象引用

类内:静态变量随类的创建而创建,实例变量随对象的创建而创建;静态方法不能调用实例变量,需将类实例化之后再调用,非静态方法可以调用静态变量和实例变量。

类之间:静态方法可直接调用,非静态方法需实例化类之后再调用;

public class MyClass{// 静态变量  public static int StaticVar = 0;// 实例变量  public int InstanceVar = 0;// 静态方法  public static void StaticMethod(){// 可以访问和修改静态变量  StaticVar = 10;// 不能直接访问实例变量,除非通过对象实例  // MyClass instance = new MyClass();  // instance.InstanceVar = 20; // 这样是可以的,但通常不是静态方法的做法  }// 非静态方法(实例方法)  public void InstanceMethod(){// 可以访问和修改实例变量和静态变量  InstanceVar = 20;StaticVar = 30;}}class Program1{static void Main(){// 静态方法调用,不需要实例化对象  MyClass.StaticMethod();// 实例化对象  MyClass instance = new MyClass();// 调用非静态方法  instance.InstanceMethod();// 访问静态和非静态变量  Console.WriteLine("StaticVar: " + MyClass.StaticVar); // 输出: 30  Console.WriteLine("InstanceVar: " + instance.InstanceVar); // 输出: 20  }}
Console.WriteLine("欢迎来到90年代!\n");
Console.WriteLine("请输入用户名:");
string x = Console.ReadLine();
Console.WriteLine("当前用户名为:" + x);
Console.Read();

3、使用变量——取出数据使用

注意:使用变量前要进行初始化,变量名规则

(二)数据类型

1、值类型——值类型直接存储

(1) 简单类型

①整数类型

②浮点类型

强制转换使用f或d,默认为double类型。

------decimal类型(财务/货币计算)

decimal类型表示128位数据类型,是一种精度更高的浮点类型,精度可以达到28位,取值范围为\pm 1.0\times 10^{-28} \sim \pm7.9\times10^{28}。如果希望一个小数被当成decimal类型使用,需要使用后缀m或M。

decimal d = 3.2m;

 ③布尔类型

2、引用类型 ——存储对值的引用

①object类型

object类是所有类的基类。

②string类型

简化字符串操作。

string类型的变量一旦初始化之后,值不会发生改变。

3、值类型和引用类型的区别

例:

3、枚举类型

 枚举是一组描述性的名称

枚举定义一组有限的值,不能包含方法

对可能的值进行约束

枚举允许描述行名称表示整数值

4、类型转换

(1)隐式类型转换

①两种类型兼容
②目标类型精度大于源类型

char类型可以隐式的转换成整型和浮点数类型。其他类型无法隐式的转换为char类型。

 (2)显式类型转换(前置类型转换)高精度->低精度

①(类型名)表达式

int b = (int)10.2

 int类型最大取值范围为2147483647出现溢出。

 ②Convert.To类型名(表达式)

当发生溢出的时候会提示报错,而不是负数。

③类型名.Parse(表达式),只适用于数值类型的转换

(3)装箱和拆箱——值类型和引用类型的转换 

拆箱的类型应该与原类型一致 !!!

int i = 10;
object obj = i;
int j = (int)obj;

 二、常量

(一)常量的定义和分类

1、定义:不能被改变的量

2、分类

编译时常量const:

运行时常量readonly:不能定义在构造方法中,只能定义在类体内.

const初始化之后值不变,语句顺序不影响运行结果。 readonly没初始化之前值为0。

 三、变量与常量的区别

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

IP 电话

1 IP 电话概述 IP 电话是在互联网上传送多媒体信息。 多个英文同义词: VoIP (Voice over IP) Internet Telephony VON (Voice On the Net) 1.1 狭义的和广义的 IP 电话 狭义的 IP 电话:指在 IP 网络上打电话。 广义的 IP 电话:不仅仅是…

智慧公厕让社区生活更美好

随着科技的迅猛发展,城市管理、城市服务均使用科技化的手段进行升级改造,社区生活更美好赋予全新的智慧效能,其中智慧公厕也成为了城市环卫设施的新宠。智慧公厕以物联网、互联网、大数据、云计算、5G通信、自动化控制等技术为核心&#xff0…

【mysql】 1819 - Your password does not satisfy the current policy requirements

创建mysql账户密码时候提示: 1819 - Your password does not satisfy the current policy requirements 1819-您的密码不符合当前策略要求 下面是执行的sql DROP DATABASE IF EXISTS company;CREATE DATABASE company CHARACTER SET utf8mb4 ;grant all on com…

大语言模型推理加速技术:计算加速篇

原文:大语言模型推理加速技术:计算加速篇 - 知乎 目录 简介 Transformer和Attention 瓶颈 优化目标 计算加速 计算侧优化 KVCache Kernel优化和算子融合 分布式推理 内存IO优化 Flash Attention Flash Decoding Continuous Batching Page…

thinkphp6定时任务

这里主要是教没有用过定时任务没有头绪的朋友, 定时任务可以处理一些定时备份数据库等一系列操作, 具体根据自己的业务逻辑进行更改 直接上代码 首先, 是先在 tp 中的 command 方法中声明, 如果没有就自己新建一个, 代码如下 然后就是写你的业务逻辑 执行定时任务 方法写好了…

降压型DC电源模块的特点与优势

BOSHIDA 降压型DC电源模块的特点与优势 降压型DC电源模块是一种将输入电压降低到需要的输出电压的电源模块。其特点与优势如下: 1. 输入电压范围广泛:降压型DC电源模块可以适应不同的输入电压范围,可以在不同的电压环境下使用。 2. 输出电…

YOLOv9图像标注和格式转换

一、软件安装 labelimg安装(anaconda) 方法一、 pip install labelImg 方法二、 pip install PyQt5 -i https://pypi.tuna.tsinghua.edu.cn/simple/ pip install pyqt5-tools -i https://pypi.tuna.tsinghua.edu.cn/simple/ pip install lxml -i ht…

前后端项目宝塔linux部署(springboot,vue,python)

宝塔linux安装就省略了,网上一堆 1.部署后端 1.首先把自己项目里面打包好的的jar包上传到服务器随便一个地方,我这里就上传到www/wwwroot下面了,宝塔的文件页面可以很便携上传 2.然后到下面这个页面 选那个java环境管理装个jdk&#xff…

2024022601-数据库语言SQL

数据库语言SQL SQL的发展 1974年,由Boyce和Chamberlin提出 1975~1979,IBM San Jose Research Lab的关系数据库管理系统原型System R实施了这种语言 SQL-86是第一个SQL标准 SQL-89、SQL-92(SQL2)、SQL-99(SQL3) 非过程化语言 SQL语言进行数据库操作…

Java数据结构---初识集合框架

目录 一、什么是集合框架 二、集合框架的重要性 三、背后涉及的数据结构及算法 1.什么是数据结构 2.容器背后对应的数据结构 3.相关的Java知识 4.什么是算法 一、什么是集合框架 Java 集合框架 Java Collection Framework ,又被称为容器 container &#xff0…

详解顺序结构滑动窗口处理算法

🎀个人主页: https://zhangxiaoshu.blog.csdn.net 📢欢迎大家:关注🔍点赞👍评论📝收藏⭐️,如有错误敬请指正! 💕未来很长,值得我们全力奔赴更美好的生活&…

python Matplotlib Tkinter-->tab切换2

环境 python:python-3.12.0-amd64 包: matplotlib 3.8.2 pillow 10.1.0 import matplotlib.pyplot as plt from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2Tk import tkinter as tk import tkinter.ttk as ttk# 创建自定义工具栏类 c…

nginx---------------重写功能 防盗链 代理 (五)

一、重写功能 rewrite Nginx服务器利用 ngx_http_rewrite_module 模块解析和处理rewrite请求,此功能依靠 PCRE(perl compatible regular expression),因此编译之前要安装PCRE库,rewrite是nginx服务器的重要功能之一,重写功能(…

各类几何像差

1、离焦: 简单理解,离焦就是成像面不在焦点处: 越远,越模糊 2、球差: 球差是由于透镜中心区域和边缘区域对电磁波会聚能力不同而造成的。远轴电磁波通过透射时被折射得比近轴电磁波要厉害得多,因而由同一…

vue3使用elementPlus进行table合并处理

elementPlus中table合并部分列 虚拟数据中公司下有多个客户,公司一样的客户,公司列需要合并,客户如果一样也需要合并进行展示,效果展示 const tableData ref([])自定定义自已想要的数据,一般都是通过接口拿到 //table…

后端:跨端轻量JavaScript引擎的实现与探索

一、JavaScript 1.JavaScript语言 JavaScript是ECMAScript的实现,由ECMA 39(欧洲计算机制造商协会39号技术委员会)负责制定ECMAScript标准。 ECMAScript发展史: 时间版本说明1997年7月ES1.0 发布当年7月,ECMA262 标准出台1998年6月ES2.0 发布该版本修改完全符合…

Netty权威指南——基础篇2(NIO编程)

1 概述 与Socket类和ServerSocket,NIO也提供了SocketChannel和ServerSocketChannel两种不同的套接字通道实现。这两种新增的通道都支持阻塞和非阻塞两种模式。阻塞模式使用简单,但性能和可靠性都不好,非阻塞模式则正好相反。一般来说&#xf…

康复训练day2——2024牛客寒假集训营6

一道很好的构造题,受益匪浅。 链接:F-命运的抉择_2024牛客寒假算法基础集训营6 (nowcoder.com)​​​​​​ 题意: 题解 (并查集 思维): 首先将存在1的情况特判掉,我们的数组的元素都是> 2的…

告别 Axure 卡顿!国产原型设计工具,体验更流畅

原型设计工具的应用场景包括产品展示、产品需求规划和抽象到具体呈现,那么如何根据应用场景选择合适的原型工具呢?不用说,本文列出了常用的原型设计工具,看看你最想选择哪一个! 即时设计 即时设计具有一站式原型、设…

【lv14 day10内核模块参数传递和依赖】

一、模块传参 module_param(name,type,perm);//将指定的全局变量设置成模块参数 /* name:全局变量名 type: 使用符号 实际类型 传参方式 bool bool insmod xxx.ko 变量名0 或 1 invbool bool insmod xxx.ko 变量名0 或 1 charp char * insmod xxx.ko 变量名“字符串…