C#学习总结(3)---C#变量常量与数据类型

变量常量与数据类型

1.变量简介
变量是一种可以帮助程序员轻松访问二进制数据内存地址的技术。
变量主要用来存储特定类型的数据,用户可以根据需要随时改变变量中存储的数据值。变量有名称、类型和值。使用变量之前必须先声明再使用。

2.声明变量
声明变量就是指定变量的名称和类型。在C#中,声明变量是由一个类型和跟在后面的一个或多个变量名组成,多个变量之间用逗号隔开,声明变量以分号结束。语法:

  • 变量类型 变量名;
  • 变量类型 变量名1,变量名2,…变量名n;

变量的命名规则:C#的变量名是一种标识符,所以只要符合标识符的命名规则即可。

3.数据类型
C#中的数据类型可以分为值类型和引用类型。
在这里插入图片描述
①整数类型
整数类型有3种表现形式,即十进制、八进制和十六进制。
八进制:以0开头的数,如0123=83(十进制)
十六进制:以0x和0X开头的数,如0x25=37(十进制)
C#内置的整数类型:
在这里插入图片描述
注:无符号整数类型是在有符号整数类型的前面加了u,u是unsigned的缩写。
注:整数类型的默认值为0。
②浮点类型
浮点类型有float和double两种。
在这里插入图片描述
如果没有指定,包含小数点的值默认为double类型。定义float类型的数值要加F或f。例,

float a = 1.6f;
float b = 1.7F;

注:浮点类型的默认值是0,不是0.0。
③decimal类型
decimal表示128位数据类型,它是一种精度更高的浮点类型,它的精度可以达到28位,取值范围是±1.0 × 10-28 ~ ±7.9 × 1028
如果要使一个小数变成decimal类型,需要在数值的后面添加后缀m或M。例,

decimal a = 1.3m;
decimal b = 1.4M;

④bool类型
bool的值有两种true或false,不能将其他类型的值赋给bool类型的变量。语法:
bool 变量名=true/false;
注:布尔类型变量的默认值为false。
⑤字符类型
字符类型即Char类型,主要用来存储单个字符,在计算机中占16位(两个字节)的内存空间。在定义字符变量时要用单引号(")表示。例,

char a = 'a';
Char b = 'b';

Char类提供了一些对字符的方法:
在这里插入图片描述
在这里插入图片描述
⑥转义字符
转义字符是一种特殊的字符变量,以“\”开头,后面跟一个或多个字符,它不能单独作为一个字符使用。如果要使用反斜线,可以使用下面的代码表示:char a='\\';
常用的转义字符有:
在这里插入图片描述
当输出一个文件目录时,如果有多级目录,即使用多次“\”,这样会很繁琐,这时可以用一个@符号进行多级转义。例,

Console.WriteLine("D:\\C#\\C# 7");
Console.WriteLine(@"D:\C#\C# 7");  //两行代码输出结果相同

4.变量的初始化
变量的初始化就是给变量赋值。在C#中,使用赋值运算符“=”给变量初始化。例,

int a, b;
a = 12;
b = a;
int c = 13;
int d, e, f, g;
d = e = f = g = 11;

5.变量的作用域
一个变量被定义后只是暂存在内存中,等到一定条件就会被销毁,它有一个生命周期。变量的作用域有两种:
①成员变量
在类体中定义的变量被称为成员变量,成员变量在整个类中都有效。类的成员变量分为静态变量和实例变量。例,

class Program
    {
        int a = 10;  //实例变量
        static int b = 11;  //静态变量(又叫类变量)
    }

静态变量的有效范围可以跨类,在其他类中以“类名.静态变量”被使用。
②局部变量
在类的方法体中定义的变量(定义方法的“{}”之间的区域)称为局部变量,它只在当前代码块中有效。
在类的方法中声明的变量包括方法的参数,都属于局部变量。局部变量的生命周期取决于方法,当方法被调用时,编译器为方法中的局部变量分配内存,当方法的调用结束后,释放局部变量的内存,局部变量也被销毁。

6.常量
常量就是值不能改变的量。在C#中,常量有const和readonly两种。
①const常量
const常量也叫静态常量,它必须在声明时进行初始化,在这之后不可被更改。例,
const double PI = 3.1415926;
②readonly常量
readonly常量是一种特殊的常量,叫动态常量。它可以动态赋值,但只能在构造函数中进行赋值。例,

class Program
    {
        readonly int a;
        Program()
        {
            a = 3;
        }
        static void Main(string[] args)
        {
            
        }
    }

③const常量在编译时就被解析,即将常量的值替换成了初始化的值,而readonly常量的值需要在运行时才能确定。
const常量可以在类或者方法体中定义,而readonly常量只能在类中定义。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值