C语言C#基础–之数据类型

C#基础–之数据类型

摘自:http://www.cnblogs.com/tonney/archive/2011/03/18/1987577.html

  
在首先段我们询问了C#的输入、输出语句后,我立马同样省关键是介绍C#的基础知识,本节的情节吗是延续章节的基本功,好的开等于成功的一半。在您读书了本章后,你就出足够的C#知编写简单的程序了。但还不可知动用持续或外面向对象的特征。

  
本章主要对以下几个部份来展开讲解:

  
1、电脑是由于什么来囤所采取的多寡?

  
2、基本数据列有怎么样?

  
3、如何声明变量和**
赋值?**

  
4、变量和常量的别?

  
5、不同数据类型之间是哪更换的?

   下面,我们现一个一个之来打探这些问题。

  

   一样、电脑是出于什么来存储所祭的数量?

     
这个题材用相同句子话比较含糊的统揽,那便是:电脑使用内存来记忆计算时所运用的多寡。

      在现实生活中的数额各种各样,整数、小数、字符串、字符等等,它们还种是免雷同的,所以若如惦记在电脑中采取这些品种,就不能不于内存中呢她申请一片当的空间。

    
那有哪些数据类型是C#能够使的吧?我们一块来拘禁一样拘留.

    

     
二、基本功数据**种有怎么样**

      首先使询问一些:C#承认的底蕴数据类型并从未内置于C#语言中,而是坐于.net
Framework中。

     
如,在c#遭遇扬言一个int类型的数常常,声明的实际是.net结构System.Int32之一个实例。这任起似乎非常深邃,但彼意义隽永:这代表于语法上,可以把富有的根底数据类型看作是永葆某些方法的类。

    
类型实际上按照存储吗核心类型。基本项目在概念上用.Net结构意味着,所以必然没性损失。

     下面大家一块儿来询问一下C#中定义的放权类型,我们将列出每个类别,以及她的定义及呼应之.net类型(CTS类型)的称谓。

     
c#发15单约定义类型,其中13独凡是值类型,两个凡是引用类型(string 和
object)

 

    1、整型

 

   2、浮点类型

 

    float数据类型用于比小之浮点数,因为它要求的精度比逊色。

  
 double数据类型比float数据类型大,提供的精度也酷一加倍(15号)。

    如果以代码中莫针对性某非整数值(如12.3)硬编码,则编译器一般要该变量是double。

    如果想指定该值为float,可以在那个后长字符F(或f),如:

         float f =
12.3F;

 

 3、decimal类型

 

    decimal类型专门用来进行财务计算,使用decimal类型提供的28个之道在用户。

   
要管数字指定为decimal类型,可以在数字之后边长字符M或(m),如:

    decimal
d=12.30M;

 

    4、bool(布尔)类型

 

 

    5、char字符类型

     char类型的字变量是因此单引号括起来的。    
如’A’

    
如果将字符把以”A”(双引号)内,编译器会将她看作是字符串,从而来错误。

 

    6、(Object类型和字符串类型)

 

 三、**如何声明变量和赋值?**

   1、变量的概念:是赖当程序的周转过程遭到时时可发生变化的量

    2、上面我们干,变量在运转时中是在内存当中的,它是一个即的寄放场所。

        
那么在内存当中,可以存放如数字、字符串、日期等等各种类型的多少。

 

 

大家可以看一看这张图,它就把表示内存当中的一个状态。

 

简单的来说,变量就是表示内存当中的一块存储区域。

 

它会对应一个唯一的内存地址,但是我们在使用程序当时候,内存地址不好理解也不好记忆。

那么怎么办呢?

 

在日常生活当中我们都有一个名字,如"张三“、”李四“等,这些名字就是为了便于记忆。

那么同样,在程序当中,为了区别多个变量,那就需要为每个变量赋值一个简短,便于记忆的名字,

这就是变量名。

 

     3、 C#被之变量的命名是凡产生规则之:

        
1)、由字母、数字或者生划线”_”组成

        
2)、必须由
字母下划线”_”开头,**切莫可知盖数字开头**

       
 3)、不能是c#遭到之要字 如:int、string、bool、Main、class等 

       
 4)、区分轻重缓急写  如:小写的a  和  大写的A 是少单变量

     

     
4、做也一个比好之学人,就必信守一些**命名规范:**

          
1)、变量的名字如果产生义,尽量用相应的英语命名,具有“见名知意“的用意。

                 
如:姓名   变量取名为 name 或者 用拼单  xingMing,**
避用a,b,c来展开命名。**

          
2)、避免采用单个字符作为变量称呼( 除在循环里面定的变量)

          
3)、当使用多只单词组成变量名时,应该以**
骆驼(Camel)命名法**

                  
骆驼(Camel)命名法:第一单单词的首字母小写,其它单词的首字母大写,如:myName,myAge

           

          选择题**:以下变量命名正确的凡(     )**

                  A、name、 _222*1、
9class、 public

                  B、_teacher、 void、
string、 myName

                  C、$Age、 corss、
fire、 _grade

                  D、_glass、 g23、
c_12、 my_first_2

 

 

     
5、变量的扬言与赋值

         
1)定义变量的语法:

            数据类型 **   变量名;      (概念一个齿的变量,年龄是整数,所以变量定义如下:)**

              int         
age;        
[网会基于数据类型,在内存中分红不同大小的囤积空间]

 

            
每个数据类型后面,可以定义多单变量,如:(定义姓名、家庭地址、籍贯、民族)

                string name,address,origin,national ;

            

           2)为变量赋值语法:

               变量名 = 值;           

            
 (这里的=号表示赋值运算符,把=号右边的价值,赋值给左的变量名,最后因一个;[分号]结束)

              
如:年龄18年度,姓名为“小张”,家庭地址也“重庆南坪XXX”,

                     
籍贯为“重庆”,民族为“汉”

                age = 18
;

                name = “小张” ;

                address = “重庆南坪XXX”
;

                origin = “重庆”
;

                national = “汉” ;

 

 四、变量和常量的分别

         变量:是凭当程序的周转过程遭到随时可发生变化的量

        常量:是依于次于运作过程被免见面发生变化的变量

         

          常量的特性:

                   1、必须以声明是赋值

                   2、不克在以程序运行时,给常量赋值

                   3、常量是静态的。不必须(实际上,是不允)在常量声明遭含有修饰符static 

        

 五、不同数据类型之间是哪转移的

       在C#遭遇数据类型转换分为两种植:1)隐式[以给自动]类型转换     2)显式[再者让强制]类型转换

           举个大概例子:

           飞机场内已飞机,这是自,我们拿这种称为隐式[再者受自动]类型转换**

   

           那若我们掉转看无异看押,飞机内部装飞机场,这个当我们实际上在着,觉得这是根据不可能的,

           但是程序可能好这一点,我们将这种称为显式[再者被强制]类型转换**

 

      
在C#遭遇数据类型转换分为两种植:1)隐式[并且给自动]类型转换     2)显式[以让强制]类型转换

           举个大概例子:

           飞机场内已飞机,这是自,我们将这种称为隐式[与此同时给自动]类型转换**

   

           那若我们掉转看无异扣押,飞机内部装飞机场,这个在我们实在在备受,觉得这是基于不容许的,

           但是程序可以好就一点,我们拿这种称为显式[与此同时受强制]类型转换**

 

          
double和int之间就是(飞机场以及飞机)这种干,我们可以这样懂,double的取值范围比int要十分得差不多

          
所以double可以装得下int :

**          int a=1234;   


**          double b=a;  
系统会将a整型变量的价值赋值给double变量b.这即是
隐式[还要于自动]类型转换**

 

        
那反过来:

         double
a=1234;

         int b=a;       
//系统编译时会见报错,如图:

         

**        


**           那什么进行强制转换为?c#提供了怪方便的办法,如:


**          double
a=1234;**

          int b=(int)a;      //这样虽强制将double类型,转换为int类型

 

**        
最后,再介绍一下,其它数据类型之间的变(
1、字符串转换为任何项目   2、任意档次中的变)**

         1)、字符串转换为其它品类       

       语法:

        XX.Parse(字符串);        
这里的xx代表的若:double,int,bool等

        
举个例来证实一下:

          string
strValue=”123.45″;    
//这是一个字符串,时面的价值是”123.45″

         
现要将其换成为小数类型,就得运用double.Parse();来拓展换

         double dValue=double.Parse(strValue);

 

       2)、任意档次中的变**

        语法:     

        
Convert.ToXX(任何类型);

 

         如:把一个布尔类型转换为整型

                  bool a = true;
                  int b = Convert.ToInt16(a);
                
Console.WriteLine(“转换后底结果是:”+b); 
//转换后的结果是:1