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、整型

图片 1

 

   2、浮点类型

图片 2

 

    float数据类型用于较小的浮点数,因为它要求的精度较低。

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

    假如在代码中并未对某个非整数值(如12.3)硬编码,则编译器一般假若该变量是double。

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

         float f =
12.3F;

 

 3、decimal类型

图片 3

 

    decimal类型专门用于举办财务总结,使用decimal类型提供的28位的艺术取决于用户。

   
要把数字指定为decimal类型,可以在数字的背后加上字符M或(m),如:

    decimal
d=12.30M;

 

    4、bool(布尔)类型

 图片 4

 

    5、char字符类型

图片 5

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

    
假诺把字符把在”A”(双引号)内,编译器会把它当作是字符串,从而发出错误。

 

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

图片 6

 

 三、**怎么着讲明变量和赋值?**

   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岁,姓名为“小张”,家庭地址为“奥斯汀(Austen)南坪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;       
//系统编译时会报错,如图:

         
图片 7

**        


**           这什么样开展强制转换呢?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