C#基础--之数据类型

C#基础–之数据类型
在第一章我们了解了C#的输入、输出语句后,我这一节主要是介绍C#的基础知识,本节的内容也是后续章节的基础,好的开端等于成功的一半。在你阅读完本章后,你就有足够的C#知识编写简单的程序了。但还不能使用封装、继承、多态或其它面向对象的特征。
本章主要针对以下几个部份来进行讲解:
1、电脑是由什么来存储所使用的数据?
2、基本数据类型有哪些?
3、如何声明变量和赋值?
4、变量和常量的区别?
5、不同数据类型之间是如何转换的?
下面,我们现一个一个的来了解这些问题。

一、电脑是由什么来存储所使用的数据?这个问题用一句话比较笼统的概括,那就是:电脑使用内存来记忆计算时所使用的数据。在现实生活中的数据各种各样,整数、小数、字符串、字符等等,它们的类型是不一样的,所以你要想在计算机中使用这些类型,就必须在内存中为它申请一块合适的空间。那有哪些数据类型是C#能使用的呢?我们一起来看一看.二、基础数据类型有哪些首先要了解一点:C#认可的基础数据类型并没有内置于C#语言中,而是内置于.net Framework中。如,在c#中声明一个int类型的数据时,声明的实际上是.net结构System.Int32的一个实例。这听起来似乎很深奥,但其意义深远:这表示在语法上,可以把所有的基础数据类型看作是支持某些方法的类。类型实际上仍存储为基本类型。基本类型在概念上用.Net结构表示,所以肯定没有性能损失。下面大家一起来了解一下C#中定义的内置类型,我们将列出每个类型,以及它们的定义和对应的.net类型(CTS类型)的名称。c#有15个预定义类型,其中13个是值类型,两个是引用类型(string 和 object)1、整型

在这里插入图片描述

2、浮点类型
在这里插入图片描述

float数据类型用于较小的浮点数,因为它要求的精度较低。

double数据类型比float数据类型大,提供的精度也大一倍(15位)。
如果在代码中没有对某个非整数值(如12.3)硬编码,则编译器一般假定该变量是double。
如果想指定该值为float,可以在其后加上字符F(或f),如:
float f = 12.3F;

3、decimal类型
在这里插入图片描述

decimal类型专门用于进行财务计算,使用decimal类型提供的28位的方式取决于用户。
要把数字指定为decimal类型,可以在数字的后面加上字符M或(m),如:
decimal d=12.30M;4、bool(布尔)类型

在这里插入图片描述

5、char字符类型

在这里插入图片描述

 char类型的字变量是用单引号括起来的。     如'A'如果把字符把在"A"(双引号)内,编译器会把它看作是字符串,从而产生错误。6、引用类型(Object类型和字符串类型)

在这里插入图片描述

三、如何声明变量和赋值?
1、变量的定义:是指在程序的运行过程中随时可以发生变化的量
2、上面我们提到,变量在运行时当中是存在内存当中的,它是一个临时的存放场所。
那么在内存当中,可以存放如数字、字符串、日期等等各种类型的数据。

大家可以看一看这张图,它就把表示内存当中的一个状态。

在这里插入图片描述

简单的来说,变量就是表示内存当中的一块存储区域。

它会对应一个唯一的内存地址,但是我们在使用程序当时候,内存地址不好理解也不好记忆。
那么怎么办呢?

在日常生活当中我们都有一个名字,如"张三“、”李四“等,这些名字就是为了便于记忆。
那么同样,在程序当中,为了区别多个变量,那就需要为每个变量赋值一个简短,便于记忆的名字,
这就是变量名。

 3、 C#中的变量的命名是是有规则的:1)、由字母、数字或下划线"_"组成2)、必须由字母或下划线"_"开头,不能以数字开头3)、不能是c#中的关键字 如:int、string、bool、Main、class等 4)、区分大小写  如:小写的a  和  大写的A 是两个变量4、做为一个比较好的学习者,就必须遵守一些变量命名规范:1)、变量的名字要有意义,尽量用对应的英语命名,具有“见名知意“的作用。如:姓名   变量取名为 name 或者 用拼单  xingMing,避免用a,b,c来进行命名。2)、避免使用单个字符作为变量名( 除在循环里面定的变量)3)、当使用多个单词组成变量名时,应该使用骆驼(Camel)命名法骆驼(Camel)命名法:第一个单词的首字母小写,其它单词的首字母大写,如:myName,myAge选择题:以下变量命名正确的是(     )A、name、 _222*1、 9class、 publicB、_teacher、 void、 string、 myNameC、$Age、 corss、 fire、 _gradeD、_glass、 g23、 c_12、 my_first_25、变量的声明和赋值1)定义变量的语法:数据类型    变量名;      (定义一个年龄的变量,年龄是整数,所以变量定义如下:)int          age;         [系统会根据数据类型,在内存中分配不同大小的存储空间]每个数据类型后面,可以定义多个变量,如:(定义姓名、家庭地址、籍贯、民族)string name,address,origin,national ;2)为变量赋值语法:变量名 = 值;           (这里的=号表示赋值运算符,把=号右边的值,赋值给左边的变量名,最后以一个;[分号]结束)如:年龄18岁,姓名为“小张",家庭地址为“重庆南坪XXX",籍贯为“重庆",民族为“汉"age = 18 ;name = "小张" ;address = "重庆南坪XXX" ;origin = "重庆" ;national = "汉" ;

四、变量和常量的区别
变量:是指在程序的运行过程中随时可以发生变化的量
常量:是指在程序在运行过程中不会发生变化的变量

      常量的特点:1、必须在声明是赋值2、不能在在程序运行时,给常量赋值3、常量是静态的。不必须(实际上,是不允许)在常量声明中包含修饰符static 

五、不同数据类型之间是如何转换的
在C#中数据类型转换分为两种:1)隐式[又叫自动]类型转换 2)显式[又叫强制]类型转换
举个简单例子:
飞机场里面停飞机,这是理所当然,我们把这种叫做隐式[又叫自动]类型转换

       那如果我们反过来看一看,飞机里面装飞机场,这个在我们实际生活中,觉得这是根据不可能的,但是程序可能做到这一点,我们把这种叫做显式[又叫强制]类型转换在C#中数据类型转换分为两种:1)隐式[又叫自动]类型转换     2)显式[又叫强制]类型转换举个简单例子:飞机场里面停飞机,这是理所当然,我们把这种叫做隐式[又叫自动]类型转换那如果我们反过来看一看,飞机里面装飞机场,这个在我们实际生活中,觉得这是根据不可能的,但是程序可以做到这一点,我们把这种叫做显式[又叫强制]类型转换double和int之间就是(飞机场与飞机)这种关系,我们可以这样理解,double的取值范围比int要大得多所以double可以装得下int :int a=1234;   double b=a;   系统会把a整型变量的值赋值给double变量b.这就是隐式[又叫自动]类型转换那反过来:double a=1234;int b=a;        //系统编译时会报错,如图:那如何进行强制转换呢?c#提供了非常简便的方法,如:double a=1234;int b=(int)a;      //这样就强制把double类型,转换为int类型最后,再介绍一下,其它数据类型之间的转换(1、字符串转换为其它类型   2、任意类型之间的转换)1)、字符串转换为其它类型       语法:XX.Parse(字符串);         这里的xx代表的如:double,int,bool等举个例子来说明一下:string strValue="123.45";     //这是一个字符串,时面的值是"123.45"现要把它转换成小数类型,就可以使用double.Parse();来进行转换double dValue=double.Parse(strValue);2)、任意类型之间的转换语法:     Convert.ToXX(任何类型);如:把一个布尔类型转换为整型bool a = true;int b = Convert.ToInt16(a);Console.WriteLine("转换后的结果是:"+b);  //转换后的结果是:1ok, 经过以上的学习,我相信大家对C#的一些基础知识有一定的了解,那么下一章我将介绍C#的算术运算符、逻辑运算符、关系运算符,以及控制程序流的语句。

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

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

相关文章

电视盒子哪个好?2024口碑网络电视盒子排行榜

多年来电视盒子始终占据重要地位,功能上并没有受到影响。在这么多品牌中哪些电视盒子的评价是最好的呢?小编根据各大电商平台的用户评价情况整理了口碑最好的网络电视盒子排行榜,跟着小编一起看看市面上的电视盒子哪个好吧。 TOP 1&#xff1…

OpenHarmony 资源调度之内存管理源码分析

作者:张守忠 1 内存管理简介 内存管理部件位于全局资源调度管控子系统中,基于应用的生命周期状态,更新进程回收优先级列表,通过内存回收、查杀等手段管理系统内存,保障内存供给。 1.1 内存管理框架 内存管理部件主要…

外贸开发信必知技巧:高回复率不再是梦

外贸行业在Zoho的客户群体中占比较高。因为我们的国际化背景、丰富的产品组合、多语言多币种跨时区、高性价比等特点,成为外贸企业开展业务的选择。在和外贸客户沟通中,发现无论是外贸大拿还是新手小白,大家遇到一个共同的问题——发出去的开…

抖音上阳哥的视频号带货推荐靠谱吗?

在抖音这个短视频平台的广阔天地里,阳哥以其独到的眼光和精准的推荐,成为了众多粉丝心中的带货指南。不同于一些网红直接进行视频号带货,阳哥更多地是以一个推荐人的身份出现,为粉丝们筛选并推荐优质的带货内容。那么,…

python——列表(list)

概念 列表一般使用在一次性存储多个数据 语法 lst[数据1,数据2,.....]方法 #mermaid-svg-flVxgVdpSqFaZyrF {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-flVxgVdpSqFaZyrF .error-icon{…

图像版PDF文件OCR识别转换为文本的3款免费工具软件

图像版PDF文件里面都是图片,要先通过OCR技术识别出文本,然后才能进行进一步处理编辑。下面是3个免费的PDF文件OCR识别软件工具: ●简可信PDF批量识别工具 简可信PDF批量识别工具是一款专门用于将PDF文件进行批量OCR(光学字符识别…

ObjectiveC-第一部分-基础入门-学习导航

专题地址:MacOS一站式程序开发系列专题 第一部分:基础入门学习导航 OSX-01-Mac OS应用开发概述:简单介绍下MacOS生态、Xcode使用以及使用Xcode创建app的方法OSX-02-Mac OS应用开发系列课程大纲和章节内容设计:介绍下此系列专题的文章内容组织形式以及此系列专题的覆盖内容…

虚假贸易防控:国资委74号文解读,技术人员如何建防?

官.网地址:合合TextIn - 合合信息旗下OCR云服务产品 2023年12月,国资委发布《关于规范中央企业贸易管理严禁各类虚假贸易的通知》(国资发财评规[2023]74号),提出“十不准”,严禁央企开展各类虚假贸易业务…

Vue 引入config.js后别的js访问不到window对象下的属性

Vue项目里,我们项目配置的请求服务器地址都是在public里config.js里,如下例: 然后在index.html里引入config.js,如下图: 这里要注意的是,script的src要写上<%= BASE_URL %>,代码如下: <!DOCTYPE html> <html><head><meta charset="…

NCBI 数据下载

网上介绍的那几种直接下载NCBI数据的方法大都下载速度很慢&#xff0c;但是EBI (European Bioinformatics Institute) 下载很快&#xff0c;而且它的数据库和NCBI是共享的&#xff0c;所以我们可以直接从 EBI 下载。 1 、 确定要下载的 SRA 编号&#xff1b; 2 、 EBI (https…

探索点云与KD-Tree配对的方法

比较点云是处理和分析点云数据的关键步骤。然而,由于各个扫描之间固有的差异,无法进行逐点比较。因此,点云分析的第一步也是主要步骤是将点配对以进行有意义的比较。 配对点是区分表面变形和运动分析的关键任务。这个过程不仅为变形分析提供了见解,还使我们能够通过比较不…

华为海思数字芯片设计笔试第五套

声明 下面的题目作答都是自己认为正确的答案&#xff0c;并非官方答案&#xff0c;如果有不同的意见&#xff0c;可以评论区交流。 这些题目也是笔者从各个地方收集的&#xff0c;感觉有些题目答案并不正确&#xff0c;所以在个别题目会给出自己的见解&#xff0c;欢迎大家讨论…

鼠标灵敏度怎么调,鼠标灵敏度怎么调最稳

鼠标和键盘是操作计算机过程中使用最频繁的设备之一&#xff0c;用电脑的时&#xff0c;我敢说你一定离不开鼠标。有些用户发现鼠标不太好用&#xff0c;尤其是在游戏时&#xff0c;总觉得鼠标移动太慢了。另外&#xff0c;如果你感觉鼠标按键失灵、鼠标单击变双击以及反应迟钝…

装机指导。

everything winrar snipaste cmake git tortoisegit tortoisesvn inno setup vs2022 安装的时候注意sdk路径一定要默认&#xff01;&#xff01; 否则你会发现在你的sdk安装路径的根盘符下会多出一个Windows Kits&#xff0c;强迫症接受不了 默认的会跟已有的装在一起…

69787987

c语言中的小小白-CSDN博客c语言中的小小白关注算法,c,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 给大家分享一句我很喜欢我话&#xff1a; 知不足而奋进&#xff0c;望远山而前行&am…

Matlab|基于蒙特卡洛的风电功率/光伏功率场景生成方法

目录 主要内容 部分代码 结果一览 下载链接 主要内容 该模型主要用于风电功率和光伏功率场景生成与缩减&#xff0c;利用多元高斯分布构建时间相关性&#xff0c;并采用蒙特卡洛方法进行仿真&#xff0c;风电功率采用Weibull分布&#xff0c;光伏功率采用Beta分布…

Linux使用Linpack测试

安装HPL之前需要配置好&#xff1a; 1.GCC/Fortran77 编译器 2.BLAS/CBLAS/ATLAS 库 3.MPICH 并行环境 1.GCC/Fortran77 编译器 gfortran -v gcc -v #检查环境&#xff0c;若没有安装 yum install gcc yum install gcc-gfortran2.安装向量和矩阵运算库函数 BLAS/CBLAS/ATLAS…

「seata」分布式事务seata部署及应用

「seata」分布式事务seata部署及应用 seata 版本一、部署seata服务1、配置config.txt文件中的属性值2、为seata服务单独创建一个nacos命名空间3、利用脚本上传配置文件到nacos4、配置seata服务的application.yml6、执行数据库脚本5、使用脚本启动seata服务 二、配置并启动微服务…

SCI一区 | Matlab实现INFO-TCN-BiGRU-Attention向量加权算法优化时间卷积双向门控循环单元注意力机制多变量时间序列预测

SCI一区 | Matlab实现INFO-TCN-BiGRU-Attention向量加权算法优化时间卷积双向门控循环单元注意力机制多变量时间序列预测 目录 SCI一区 | Matlab实现INFO-TCN-BiGRU-Attention向量加权算法优化时间卷积双向门控循环单元注意力机制多变量时间序列预测预测效果基本介绍模型描述程…