黑马程序员 - 学习笔记6 变量 数据类型 与 常量

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------详细请查看:www.itheima.com

细说 变量 数据类型 与 常量



变量的基本概念
   
    变量本身被用来存储特定类型的数据,可以根据需要随时改变变量中所存储
    的数据值。变量具有名称,类型,值。
    使用变量前,必须先声明变量,即指定变量的类型和名称。


变量可以分为 值类型 与 引用类型  
    
    这两种类型的区别就是根据数据的存储方式的不同。
    值类型的变量,直接存储数据。
    引用类型的变量,存储数据的引用,程序通过引用找到真正的数据。
  
值类型
   1.整数类型 比如 int byte
   2.浮点类型 比如 float double (小数)
   3.布尔类型 比如 bool
引用类型


   举例子说明引用类型
 

  class program
   {
     class C
      {
        public int Value = 0;
      } 
     static void Main(string[] args)
      {
        C r1 = new C()//使用new关键字创建引用对象
        C r2 = r1;//将r1赋值给r2
        r2.Value = 120;//这里就是引用了Class类中的变量Value,修改了Value值
        Console.WriteLine("Ref:{0},{1}",r1.Value,r2.Value);//结果两个同时引用Value的对象值都变为了120,而不是默认的0
        Console.ReadKey();
      } 
    }




   再用一句话简单形容
   值类型相当于 现金,要用就直接用。
   引用类型相当于 存折,要用得先到银行取。


枚举类型
   
   枚举类型是一种独特的值类型
   它用于声明一组具有相同性质的常量,编写与日期相关的应用程序时,经常需要使用年,月,日等日期数据
   可以将这些数据组成多个不同名称的枚举类型。使用枚举可以增加程序的可读性和可维护性。同时,枚举类型可以避免类型错误。
   在定义枚举类型时,如果不对其进行赋值,默认情况下,第一个枚举数的值是0,后面的依次递增1;


枚举类型的一般形式
   
   enum 枚举名
   {
       //枚举值名称 = 枚举值 (默认为 0);
       list1=value1;      
       list2=value2;
       list3=value3;
   }




   举例子说明枚举类型

class Program
    {
        //声明一个扔骰子的枚举类型的变量
        enum renshaizi
        {//默认是从0开始
            one   = 0,
            two   = 1,
            three = 2,
            four  = 3,
            five  = 4,
            six   = 5
        }
        static int k = 0;//再类中声明一个静态变量初始为0,在Main中直接调用不报错。
        static void Main(string[] args)
        {
            Console.WriteLine("请输入骰子的大小"); 
        
          //k = 转换Toint32方法(接受用户输入的值()),用伪代码帮助理解
            k = Convert.ToInt32(Console.ReadLine());//直接调用k,
            switch (k)
            {
                case (int)renshaizi.one: Console.WriteLine("小"); break;
                case (int)renshaizi.two: Console.WriteLine("小"); break;
                case (int)renshaizi.three: Console.WriteLine("小"); break;
                case (int)renshaizi.four: Console.WriteLine("大"); break;
                case (int)renshaizi.five: Console.WriteLine("大"); break;
                case (int)renshaizi.six: Console.WriteLine("大"); break;
 
            }
            Console.ReadKey();
            //因为此代码是理解enum,没有将代码写严格,骰子只有1-6,应该通过属性get,set限制用户输入的值。
        }
    }


除了以上类型 还有 string类型(字符串类型) char类型



声明变量的规则
   变量名只能由数字,字母和下划线组成。
   变量名的第一个符号只能是字母和下划线,不能是数字。
   不能使用关键字作为变量名。
   一旦在一个语句快中定义了一个变量名,那么在变量的作用域内都不能再定义同名的变量。
   
变量的作用域
   变量的作用域就是可以访问该变量的代码区域。规则如下
   在for,while或类似的语句中声明的局部变量存在于该循环体内。
   局部变量存在于表示声明该变量的块语句或方法结束的封闭花括号之前的作用域内。
   只要字段所属的类在某个作用域内,其字段也在该作用域内。


全局变量与局部变量的区别
   全局变量就是程序加载时就分配了内存,局部变量是在程序运行到时才分配。


变量的赋值操作
   通过 赋值运算符“=”来给变量赋值。
   int a;
   a = 123;


常量
常量就是其值固定不变的量,使用关键字 const 来创建常量,并且在创建常量时必须设置它的初始值。一旦设置不需修改。
常量的正确声明

const int A = 110;

常量错误的声明(定义常量时没有初始化)

const double b;

   

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------详细请查看:www.itheima.com

你可能感兴趣的:(黑马学习笔记)