C#系统学习第三章——数据类型

发布于:2025-06-30 ⋅ 阅读:(20) ⋅ 点赞:(0)

3.1数据类型及变量

3.1.1变量是什么

定义:变量是用来存储特定类型的数据,用户可以根据需要随时改变变量所存储的数据值。

变量具有属性:名称、类型、值。

变量名:变量在程序源代码中的标识。

类型:确定变量所代表的内存的大小和类型。

变量值:变量所代表的内存块中的数据。

注意:使用变量之前必须先声明——指定变量的类型和名称。

3.1.2 声明变量

1.声明变量的语法

(1)声明变量就是指定变量的名称和类型

        变量类型 变量名

(2)声明多个变量之间用逗号分开,最后以分号结束。

        变量类型 变量名1,变量名2,...,变量名n;

2.变量的命名规则

        (1)变量名只能由数组、字母和下划线组成。

        (2)变量名的第一个字符只能是字母或者下划线,不能是数字。

        (3)不能使用C#中的关键字作为变量名。

        (4)一旦在一个语句块中定义了一个变量名,那么在变量的作用域内都不能再定义同名的变量。

3.1.3 简单的数据类型

 C#中的数据类型根据定义可分为如下:

1.整数类型

        整数类型用来存储整数数值,可以是正数或者负数。

        (1)十进制
        如:120,0,-12;

        (2)八进制:以0开头的数

        如:012、-012

        (3)十六进制:以0x或者0X开头的数

        如:0x25,0Xab

C#的整数类型

注意:

        (1)无符号:只能存储不带符号的整数,即只能存储非负数。有符号:既可以存储整数,也可以存储负数。

        (2)整数类型默认值为0。

2.浮点类型

        浮点类型主要用于处理含有小数的数据,主要包含float和double。

注意:

        (1)如果不做任何设置,包含小数点的数值都会被认为是double类型。

        (2)如果要将数值以float类型处理,可以使用f或F将其强制指定为float类型。

        (3)如果要将数值以double类型处理,可以使用d或D实现,但加不加不强求。

        (4)需要使用float,一定要在数值后面加f或F,不然编译器会识别为double类型。

        (5)浮点类型变量的默认值为0.0。

3.decimal类型

        decimal表示128位数据类型,是一种精度更高的浮点类型,其精度可以达到28位。取值范围为:+-1*10的-28次方——+-7.9*10的28次方。

注意:

        (1)decimal适用于财务和货币计算。

        (2)如果希望小数被当成decimal类型使用,需要使用后缀m或M。

4.布尔类型

        布尔类型主要用来表示true和false值。

        在C#定义布尔类型变量时,需要使用 bool 关键字。

注意:

        (1)布尔类型的值只能是 true 和 false,不能将其他值指定给布尔类型变量。

        (2)布尔类型变量的默认值是false。

5.字符类型

        字符类型在C#中用 Char类来表示,该类主要用来存储单个字符,占用16位(两字节)的内存空间。

注意:

        (1)定义字符类型变量,要用单引号 ‘ ’表示。

        (2)Char类只能定义一个Unicode字符。

常用Char类方法以及说明

转义字符:是一种特殊的字符类型变量,以反斜线“\”开头,后跟一个或多个字符。

注意:

        (1)转义字符只作用于后面紧跟着的单个字符。

        (2)可以使用@符号进行多级转义。

常用转义字符以及说明如下:

3.1.4 变量的初始化

        变量的初始化实质就是给变量赋值

1.单独初始化变量

        使用赋值运算符 = 对变量进行初始化

注意:在对变量进行初始化时,等号右边可以是一个已经被赋值的变量。

2.声明时初始化变量

        声明变量时可以对变量进行初始化,即在每个变量名后面加上给变量赋初始值的指令。

3.同时初始化多个变量

        在对多个同类型的变量赋同一个值时,为了节省代码的行数,可以同时对多个变量进行初始化。

3.1.5 变量的作用域

        变量被定义后,只是暂时存储在内存中,等待程序执行到某行代码后,该变量会被释放掉,也就是说变量有他的生命周期。

        变量的作用域:程序代码能够访问该变量的区域,如果超出该区域,则在编译时会出现错误。

1.成员变量

        在类中定义的变量称为成员变量,成员变量在整个类中都有效。

        (1)静态变量

        如果在成员变量的类型前面加上关键字static,则该成员变量称为静态变量。

        静态变量除了可以在类内使用,还可以 类名.静态变量 的方式在其他类内使用。

        (2)实例变量

   

2.局部变量

        在类的方法体中定义的变量称为局部变量,局部变量只对当前代码块有效。

        局部变量的生命周期取决于方法,当方法被调用时,c# 编译器为方法中的局部变量分配内存空间;当该方法的调用结束后,会释放方法中的局部变量占用内存空间,局部变量也会被销毁。

变量的有效范围如下:


3.2 常量

3.2.1 常量是什么

        常量就是程序运行过程中,不能改变的值。

3.2.2 常量的分类

        const常量和readonly常量

1.const常量

        也叫静态常量。const常量的值必须在声明时就进行初始化,而且之后不可以再进行更改

2.readonly常量

        也称为动态常量。这里动态赋值是有条件的:只能在构造函数中进行赋值

3.二者区别

        (1)const常量必须在声明时初始化,而readonly常量则可以延迟在构造函数中初始化。

        (2)const常量在编译时就被解析,即将常量的值替换成了初始化的值;而readonly常量的值需要在运行时确定。

        (3)const常量可以定义在类或者方法体中,而readonly常量只能定义在类中。


3.3 数据类型的转换

        类型转换就是将一个值从一种数据类型转换为另一种数据类型。

        如果从低精度数据类型转换为高精度数据类型,则永远不会溢出,并且总是成功的;

        而从高精度数据类型转换为低精度数据类型,必然存在信息丢失。

3.3.1 隐式类型转换

        不需要声明就可以进行转换。

隐式类型转换的兼容顺序图:

3.3.2 显式类型转换

        (1)int类型转换为short类型——会丢失数据

        (2)int类型转换为uint类型——会丢失数据

        (3)float类型转换为int类型——会丢失小数点后面的所有数据

        (4)double类型转换为int类型——会丢失小数点后面的所有数据

        (5)数值类型转换为char类型——会丢失数据

        (6)decimal类型转换为其他数值类型——decimal类型的内部不同于整数和浮点数

显示类型转换格式:

(类型说明符)表达式     例如:(float) x;

3.3.3 使用Convert类进行表达

        Convert类可以进行显示转换,主要作用是将一种基本数据类型转换为另一种基本数据类型。(如果超出范围,可以提出错误)

Convert类的常用方法和说明:


4.结语

        希望对您有帮助。本文介绍了C#编程语言中的数据类型、变量与常量的基础知识。主要内容包括:

        1)变量的定义、声明规则及命名规范;

        2)基本数据类型(整数、浮点、布尔、字符等)的特点和使用注意事项;

        3)变量的初始化方式与作用域规则;

        4)常量的分类(const与readonly)及区别;

        5)数据类型转换的隐式和显式方法。文章系统梳理了C#中数据存储的基本概念,为编程初学者提供了清晰的数据类型使用指南。


网站公告

今日签到

点亮在社区的每一天
去签到