C#开发之——基本数据类型(2.1)

一 概述

数据类型主要用于指明变量和常量存储值的类型,C#语言是一种强类型语言,要求每个变量都必须指定数据类型

二 值类型和引用类型

C#语言的数据类型分为值类型和引用类型 。

  • 值类型包括:整型、浮点型、字符型、布尔型、枚举型等
  • 引用类型包括:类、接口、数组、委托、字符串等

从内测存储空间的角度而言:

  • 值类型:是存放到栈中的,每次存取值都会在该内存中操作
  • 引用类型:首先会在栈中创建一个引用变量,然后在堆中创建对象本身,再把这个对象所在内存的首地址赋给引用变量

三 常用基本数据类型

3.1 整型

  • 所谓整型就是存储整数的类型,按照存储值的范围不同,C#语言将整型分为:byte类型、short类型、int类型、long类型等,并分别定义了有符号数和无符号数

  • 有符号数可以表示负数,无符号数仅能表示正数

  • 整数类型及表示范围:(除byte的有符号+s字符,其他都加u字符变成有符号)

    类型 取值范围
    sbyte 有符号数,占用1个字节,-2^7~2^7-1
    byte 无符号数,占用1个字节,0~2^8-1
    short 有符号数,占用2个字节,-2^15~2^15-1
    ushort 无符号数,占用2个字节,0~2^16-1
    int 有符号数,占用4个字节,-2^31~2^31-1
    uint 无符号数,占用4个字节,0~2^32-1
    long 有符号数,占用8个字节,-2^63~2^63-1
    ulong 无符号数,占用8个字节,0~2^64-1

3.2 浮点型

  • 浮点型是指小数类型,浮点型在C#语言中共有2中,一种是单精度浮点型,一种是双精度浮点型

  • 在C#语言中默认的浮点型是double类型。如果要使用单精度浮点型,需要在数值后面加上f或者F来表示,例如:123.45f、123.45F

  • 浮点型及取值范围:

    类型 取值范围
    float 单精度浮点型,占用4个字节,最多保留7位小数
    double 双精度浮点型,占用8个字节,最多保留16位小数

3.3 字符型和字符串类型

  • 字符型只能存放一个字符,它占用2个字节,能存放一个汉字。字符型用char关键字表示,存放到char类型的字符需要使用单引号括起来,例如:'a','中'等

  • 字符串类型能存放多个字符,它是一个引用类型,在字符串类型中存放的字符数可以认为是没有限制的,因为其使用的内存大小不是固定的而是可变的。使用string关键字来存放字符串类型的数据。字符串类型的数据必须使用双引号括起来,例如:"abc"、"123"等

  • 在C#语言中还有一些特殊的字符串,代表了不同的特殊作用。由于在声明字符串类型的数据时需要用双引号将其括起来,那么双引号就成了特殊字符,不能直接输出,转义字符的作用就是输出这个有特殊含义的字符。

    转义字符 等价字符
    \' 单引号
    \" 双引号
    \\ 反斜杠
    \0
    \a 警告(产生蜂鸣音)
    \b 退格
    \f 换页
    \n 换行
    \r 回车
    \t 水平制表符
    \v 垂直制表符

3.4 布尔类型

  • 在C#语言中,布尔类型使用bool来声明,它只有2个值,即true和false
  • 当某个值只有两种状态时可以将其声明为布尔类型,例如,是否同意协议,是否购买商品等
  • 布尔类型的值也被常用到条件判断的语句中,例如,判断某个值是否为偶数、判断某个日期是否是工作日等