C#语言-02.数据类型
a. 数据类型
i. 值类型:是一种由类型的实际值表示的数据类型,存储在栈内的存储空间中,由于编译器编译后将源代码中的值类型变量直接对应到唯一的存储空间上,直接访问该存储空间,故值类型的数据具有较快地存取速度。
. 数值类型:继承于 Object ,所有类型都隐含地声明了一个公共的无参数的构造函数,称为“默认构造函数”,默认构造函数返回一个初始值为零的实例。
a. 整数:支持 种整型 sbyte、short、byte、ushort、int、uint、long、ulong,这 类型通过其占用存储空间的大小以及是否有符号来存储不现极值范围的数据。
b. 浮点数:支持 种浮点数类型:float 和 double,两种差别在于取值范围和精度不同。double 的精度大于 float
c. 小数:十进制的类型:decimal ,decimal 的精度最高,与浮点类型之间不存在隐式或显示转换
. 布尔类型(bool):用来表示“真(true)”和“假(false)”两个概念的,与其他类型之间不存在任何转换
. 字符类型(char):包括数字字符、英文字符、表达式符号等,按照国际公认的标准,采用 Unicode 字符集,使用时用“单引号('')”表示
. 结构类型(struch):是一组相关信息组合成的单一实体
a. 作用:通常用于表示较为简单或者较少的数据,其实际应用意义在于使用结构类型可以节省使用类和内存的占用,因为结构类型没有如同类对象所需的大量额外的引用
. 枚举类型(eunm):是由一组特定的常量构成的一种数据结构,系统把相同类型、表达固定含义的一组数据作为一个集合放到一起形成新的数据类型
a. 注意:为枚举类型的元素所赋值的类型限于 long、int、short、byte 等整数类型
b. 与结构类型的区别:结构类型的变量值是由各个成员的值组合而成的,而枚举类型的变量在某一时刻只能取枚举中某一个元素的值
ii. 引用类型:引用类型的数据并不驻留在栈内存中,而是存储于堆内存中,即是在堆内存中分配内存空间直接存储所包含的值,而在栈内存中中存放定位到存储具体值的索引。当访问一个具有引用类型的数据时,需要到栈内存中检查变量的内容,而该内容指向堆中的一个实际数据。
. 类类型:类是创建对象的模板
a. 语法:访问修饰符 class 类名{ //类的主体 }
b. 方法:用来描述类的行为
i. 语法:访问修饰符 返回类型 方法名(参数列表){ //方法的主体 } a. 属性:用来描述类的特征
a. 对象类型:对象是类的一个具体实例,万物皆对象
a. 字符串类型(String):是字符类型的集合,继承于 Object 类,使用时用“双引号("")”表示
a. 数组类型:是包含若干个相同类型数据的集合,数组的数据类型可以是任何类型
i. 一维数组:数组的维数决定了相关数组元素的下标数,一维数组只有一个下标
. 声明:数组类型[] 数组名;
. 两种初始化方式:
a. 在声明数组时进行初始化,如:int[] array={,,,};
b. 使用 new 关键字进行初始化,第一个下标为0,如:int[] array= new int[]{,,,}; array[]=;
ii. 多维数组:
. 声明:如二维数组是“数组类型[,] 数组名;”,三维数组是“数组类型[,,] 数组名;”
. 例子说明:定义一个二维数组 int[,] array={{,},{,},{,}} ,那么 array[,] = ;
b. 接口类型
c. 代理类型
a. 数据类型转换
i. 隐式转换:对于任何数值类型A,只要其取值范围完全包含在类型B 的取值范围内,就可以隐式转换为类型B,也就是说,int 可以转成float或double,float也可 以转换成double
ii. 显式转换:取值范围大的类型转换为取值小范围小的类型,如:double 转为 int
iii. Parse()方法:将字符串类型转换为数值类型
iv. Convert类:任何基本类型之间的相互转换,如:Convert.ToInt32() 转换为整型等方法
v. 装箱:是指将值类型转换为引用类型的过程,具体操作为:首先分配一个对象实例,然后将值类型的值复制到该实例中,装箱前后不是同一个实例,对于引用类型来说,装箱前后都是同一个实例
vi. 拆箱:是指将引用类型转换为值类型的过程,具体操作为:拆箱之前,要先检查该对象实例是否给定值类型的一个装过箱的值,然后将值从实例中赋值出来
b. 值传递与引用传递的对比
i. 值传递:是将变量的值复制一份传递给方法,使用得该方法的形参和实参的值相同。在调用的方法中修改形参也只是对实参复制吕的数据作更新,并没有真正改变实参的值
ii. 引用传递:是将要传递的对象的引用复制给方法的形参,使得被调用的方法直接对引用对象进行更改,会影响实参原来的值
a. 引用类型作为参数传递,其值的修改将会保留。以引用方式传递值类型的数据,其值的修改也将会保留,直接传递值类型数据,对它的修改不会被保留
b. 静态成员:是一种特殊的成员,不属于类的某一个具体的实例,特点:在第一次访问类前被初始化,直到程序退出才会释放,对于类的所有实例来说都是唯一的
i. 语法:Class 类名{
public static 数据类型 变量名;
public 返回值 方法名 (参数列表){ //方法体 }
}
a. 只能由该类的类名来访问
b. 只能调用静态成员
C#语言-02.数据类型的更多相关文章
- C语言02
C语言02 1.2 C语言与C程序 1.计算语言 语言发展 机器语言:机器语言是机器能直接识别的程序语言或指令代码,勿需经过翻译,每一操作码在计算机内部都有相应的电路来完成它,或指不经翻译即可为机器直 ...
- 谈谈C语言的数据类型
本文摘要: 本文主要讲述C语言中的数据类型,从基本的数据类型到派生的数据类型,从int ,char ,float double ....到指针,数组,函数,指向指针的指针,指向数组的指针,指向函数的指 ...
- C语言的数据类型
复习之余,做点笔记<C语言之数据类型> 一.整数数据类型 (1)整数数据类型 整数类型 char 字符型变量 1字节(8Bit) short 短整型 2字节(16Bit) i ...
- C语言中数据类型的取值范围
C语言中数据类型的取值范围如下:char -128 ~ +127 (1 Byte)short -32767 ~ + 32768 (2 Bytes)unsigned short 0 ~ 65536 (2 ...
- 初识 go 语言:数据类型
目录 数据类型 指针 结构体 数组 切片 切片的方法 映射 函数闭包 结束语 前言: go语言的第三篇文章,主要讲述go语言中的数据类型,包括指针,结构体,数组,切片,映射,函数闭包等,每个都提供了示 ...
- c语言基础:数据类型 分类: iOS学习 c语言基础 2015-06-10 21:43 9人阅读 评论(0) 收藏
C语言基本数据类型大体上分为: 整型 和 浮点型 字节: 计算机中最小的储存单位 1 Byte = 8 bit 整型: int 4 ...
- 「C语言」数据类型及混合运算与类型转换
深入学习C语言时,有必要先了解一下数据类型的概念,以及它们之间的混合运算与类型转换. 本篇文章便是根据<C语言程序设计教程>和在线翻阅资料后整理而出.(练习题将逐步更新) 目录: ...
- Go语言基本数据类型(四)
Go语言基本数据类型主要包含:bool,number,string 布尔类型 go中的布尔类型,只能是 true 和 false,例如:var b bool = true 数字类型 整型 类型 描述 ...
- C语言基本数据类型大小
C语言基本数据类型占用的字节数可以通过如下例子获取: #include<stdio.h> int main(void) { printf("char size=%d \n&quo ...
随机推荐
- Mybatis 的动态 SQL 语句
<if>标签 我们根据实体类的不同取值,使用不同的 SQL 语句来进行查询. 比如在 id 如果不为空时可以根据 id 查询, 如果 username 不同空时还要加入用户名作为条件.这种 ...
- spring boot 第一个Dome
1.创建Maven项目 按照下面的步骤 项目创建完成后的目录结构 2. 参照Spring boot官方文档修改pom.xml 修改 maven编译的jdk版本 将spring boot设置为 pare ...
- kali linux之wireshark/tcpdump
抓包嗅探协议分析,必备技能,抓包引擎(linux---libpcap9 windows-----winpcap10) 解码能力优秀 常见协议包 数据包的分层i协议 arp icmp tcp--三次 ...
- SDUT OJ 数据结构实验之二叉树五:层序遍历
数据结构实验之二叉树五:层序遍历 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Descri ...
- 传智播客Springmvc_mybatis学习笔记
文件地址:https://download.csdn.net/download/qq_26078953/10614459
- [Error] ISO C++ forbids comparison between pointer and integer
错误代码: if(a[i]=="G"&&b[i]!="C") return false; 改正后的代码: if(a[i]=='G'&&a ...
- Qt 学习之路 2(57):可视化显示数据库数据
Qt 学习之路 2(57):可视化显示数据库数据(skip) 豆子 2013年6月26日 Qt 学习之路 2 26条评论 前面我们用了两个章节介绍了 Qt 提供的两种操作数据库的方法.显然,使用QSq ...
- N1 Armbian 安装 Domoticz
前言 N1 中安装 Domoticz 的方法与这篇类似,MQTT 服务器改用 mosquitto,更轻量级. 步骤 安装 Domoticz,只选择 HTTP 8080 端口 curl -sSL ins ...
- flask总结05(在 Flask 项目中解决 CSRF 攻击)
一:安装 flask_wtf pip install flask_wtf 二:设置应用程序的 secret_key,用于加密生成的 csrf_token 的值 # session加密的时候已经配置过了 ...
- Android 利用apache tomcat在自己的电脑上搭建服务器
1.什么叫服务器 装了服务器端的软件的那台电脑被称为服务器.常见的服务器的软件有apache tomcat. 2.Tomcat 介绍 tomcat是一种轻量级的web容器服务器,使用tomcat可以实 ...