Unity基础之C#入门篇笔记1:变量

变量

  1. 折叠代码#region + #endregion
    本质是编辑器提供给我们的 预处理指令,它只会在编辑时有用,发布代码或执行代码,他将会自动删除;

  2. 变量变量类型 变量名字 = 初始值 ;
    变量就是用来存储各种不同类型数值的一个容器;
    变量类型:14种;
    变量名:自己定义,按一定规则;
    初始值:一定要和变量类型统一;
    =;是固定不变的;

    变量类型
    1.有符号的整型变量:能存储一定范围正负数包括0的变量类型;

    sbyte:存储范围:-128~127;有符号 8 位整数;默认值:0;

    int:存储范围:-2,147,483,648 到 2,147,483,647;有符号 32 位整数;默认值:0;

     	1.Int16 值类型:表示值介于 -32768 到 +32767 之间的有符号整数。
     	2.Int32 值类型:表示值介于 -2,147,483,648 到 +2,147,483,647 之间的有符号整数。
     	3.Int64 值类型:表示值介于 -9,223,372,036,854,775,808 到 +9,223,372,036,854,775,807 之间的整数。
    

    short:存储范围:-32,768 到 32,767;有符号 16 位整数;默认值:0;

    long:存储范围:-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807;有符号 64 位整数;默认值:0L;

    2.无符号的整型变量:能存储一定范围负数包括0的变量类型;

    byte:存储范围:0 到 255; 8 位无符号整数; 默认值:0;

    uint:存储范围:0 到 4,294,967,295; 32 位无符号整数; 默认值:0;

    ushort:存储范围:0 到 65,535; 16 位无符号整数; 默认值:0;

    ulong:存储范围:0 到 18,446,744,073,709,551,615; 64 位无符号整数; 默认值:0;

    3.浮点数(小数):能存储一定范围正负数包括0的变量类型;

    float:存储7/8位有效数字,根据编译器不同有效数字也可能不同;会四舍五入,有效数字从非零数开始计算;
    [定义时需要在数值后加f,因为C#中,声明的小数默认是double类型。]
    令f=0.12345678f 打印出来的是0.1234568。我的电脑可存储7位有效数字,并且进行四舍五入
    令f=0.12345678f 打印出来的是0.1234568。我的电脑可存储7位有效数字,并且进行四舍五入
    有效值从非零数开始计算
    有效值从非零数开始计算

    double:存储7/8位有效数字,根据编译器不同有效数字也可能不同;抛弃的数字会四舍五入,有效数字从非零数开始计算;

    decimal:存储27/28位有效数字,根据编译器不同有效数字也可能不同;抛弃的数字会四舍五入,有效数字从非零数开始计算;[不建议使用,定义时需要在数值后加m]

    4.特殊类型

bool: 表示真假的数据类型;true表真,false表示假;

bool bo1 = true;//表示bo1为真
bool bo1 = false;//表示bo1为假

char:用来存储单个字符的变量类型;

char c = 'a';//令c等于字符a

string:是字符串类型,用来存储多个字符的 没有上限;

string str = "bsbnsvnsovnspvsvrvsvspvs";

为什么有那么多不同的变量类型

不同的变量,存储的范围和类型不一样,本质是占用的内存空间不同;选择不同的数据(变量)类型装在不同的数据

  1. 姓名
string name = "姓名";
  1. 年龄
byte age = 18;
  1. 身高/体重
float height = 180.1f;
float weight= 68.5f;
  1. 性别:令true为女,false为男
bool sex = false;

[数字用int,小数用float,字符串用string,真假用bool]

多个相同类型变量,同时声明

  1. 多个int同时声明
int a1=1,a2=2,a3=3;
  1. 多个string同时声明
string str1="aa",str2="bb",str3="cc";

变量初始化相关

声明变量时,可以不设置初始值,但是不建议这样写,这样写不安全

int a;
Console.WeiteLine(a);//报错,会提示使用未赋值的局部变量a

变量的存储空间(内存中)

  1. 1 byte = 8 bit
  2. 1 MB = 1024 byte
  3. 1 GB= 1024 MB
  4. 1 TB= 1024 GB

通过sizeof方法 可以获取变量类型所占用的内存空间(单位:字节)

  1. 有符号
  int sbyteSize = sizeof(sbyte);
  Console.WriteLine("sbyte 所占用的字节数为:" +sbyteSize+"字节");
  int intSize = sizeof(int);
  Console.WriteLine("int 所占用的字节数为:" + intSize + "字节");
  int shortSize = sizeof(short);
  Console.WriteLine("short 所占用的字节数为:" + shortSize + "字节");
  int longSize = sizeof(long);
  Console.WriteLine("long 所占用的字节数为:" + longSize + "字节");

代码运行所示:
在这里插入图片描述

  1. 无符号
			int byteSize = sizeof(byte);
            Console.WriteLine("byte 所占用的字节数为:" + byteSize + "字节");
            int uintSize = sizeof(uint);
            Console.WriteLine("uint 所占用的字节数为:" + uintSize + "字节");
            int ushortSize = sizeof(ushort);
            Console.WriteLine("ushort 所占用的字节数为:" + ushortSize + "字节");
            int ulongSize = sizeof(ulong);
            Console.WriteLine("ulong 所占用的字节数为:" + ulongSize + "字节");

代码运行所示:
在这里插入图片描述

  1. 浮点数
  			int floatSize = sizeof(float);
            Console.WriteLine("float 所占用的字节数为:" + floatSize + "字节");
            int doubleSize = sizeof(double);
            Console.WriteLine("double 所占用的字节数为:" + doubleSize + "字节");
            int decimalSize = sizeof(decimal);
            Console.WriteLine("decimal 所占用的字节数为:" + decimalSize + "字节");

代码运行所示:
在这里插入图片描述

  1. 特殊类型
			int boolSize = sizeof(bool);
            Console.WriteLine("bool 所占用的字节数为:" + boolSize + "字节");
            int charSize = sizeof(char);
            Console.WriteLine("char 所占用的字节数为:" + charSize + "字节");
            //sizeof 不能得到string类型所占用的内存大小
            //因为字符串长度可变,不定

代码运行所示:
在这里插入图片描述
注:c#中char所占用的字节数为:2字节

根据与变量类型的范围对比,可知占用字节数越小,范围越小;

变量的本质

变量的本质是2进制—>计算机中所有数据的本质都是二进制 0和1;

数据传递只能通过电信号,只有开和关两种状态。所以就用0和1来表示两种状态;
计算机中的存储单位最小为bit(位),他只能表示0和1两个数字;
为了方便数据表示,引用byte(字节),它是由8个bit组成的存储单位,通常说一个字节为8位;
1byte = 0000 0000

二进制和十进制对比

 十进制就不多说了,逢十进位,一个位有十个值: 0 ~ 9;
 二进制就是逢二进位,它的一个位只有两个值:0 和 1;
十进制二进制
00b0
10b1
20b10
30b11
40b100
9$0b1001
100b1010
110b1011
120b1100
130b1101
140b1110
150b1111
160b10000

二进制转十进制

对于二进制来说, 8 位二进制我们称之为一个字节,二进制的表达范围值是从0b00000000 ~ 0b11111111;

二进制转十进制规则:从右往左看,最右边一位为第0位,若该位不为0则加上2的n位次方;
十进制转二进制规则:不断对2取余,所得结果倒着写则为二进制数;

这里教大家一个二进制转换十进制的方法,二进制 4 位一组,遵循 8/4/2/1 的规律比如 0b1010,那么从最高位开始算,数字大小是 81+40+21+10 = 10,那么十进制就是 10;

对于进制来说,只是数据的表现形式,而数据的大小不会因为进制表现形式不同而不同,比如二进制的 0b1、十进制的 1,他们本质上是数值大小相等的同一个数据。

变量的命名规则

必须遵守的规则

1.不能重名
2.不能以数字开头
3.不能使用程序关键字命名
4.不能有特殊符号(下划线除外)

1.建议命名规则

变量名要有含义---->用英文含义表示变量作用

2.非常不建议命名规则

非常不建议用汉字命名

常用的命名规则

驼峰命名法

首字母小写,之后单词首字母大写(变量)

帕斯卡命名法

所有单词首字母都大写(函数,类)

C#中对大小写字母敏感;

泰课在线 学习笔记

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

四月的白羊座

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值