黑马程序员.Net培训 C#基础知识——数据类型

                                             ------- Windows Phone 7手机开发.Net培训、期待与您交流! -------

一、数据类型的分类

任何一种高级语言都有数据类型,数据类型是用来表达现实世界中的各种不同类型数据的

C#中的数据类型可以分为两种: 值类型(value type)和引用类型(reference type)

 

1、值类型归类如下

      ●简单类型(simple type)

      ● 结构类型(struct type

      ●枚举类型(enum type)

1.1、简单类型

         1.1.1、int(整型) 为有符号32位整数,取值范围在-2,147,483,648~ 2,147,483,647之间。

         1.1.2、char(字符型 是整型的一种特殊情况)char类型的数据,只能一次存放一个字符,字符要求用单引号引起来,如:char number='a',并且char类型不能为空,char number=null或者char number='';都是错误的 char可以隐式转换为ushort、int、uint、long、ulong、float、double或decimal。但是,不存在从其他类型到char类型的隐式转换。

         1.1.3、decimal(小数型)共128个二进制位,具有28至29位十进制有效数字。适用于金融、货币等需要高精度数值的领域。如果希望实数被视为decimal类型,请使用后缀m或M,例如:            

             decimal myMoney=99.9m;

                           如果没有后缀m,数字将被视为double类型,从而导致编译器错误

        1.1.4、float/double(浮点类型)它们的差别在于取值范围和精度:
                   float: 取值范围在 1.5x10^-45~ 3.4x10^38之间, 精度为7位数。

                  double: 取值范围在 5.0x10^-324 ~ 1.7x10^308之间, 精度为 15~16 位数。
       1.1.5、string(字符串类型)要求用双引号""将字符串引起来。
       1.1.6、bool(布尔类型)只有两个值true和false
1.2、结构类型

1.3、枚举类型
 

2、引用类型归类如下:

        和值类型相比,引用类型不存储它们所代表的实际数据,但它们存储实际数据的引用。在C#中提供以下引用类型

       对象类型

       类类 型

       接口

       代表元

     

二、数据类型的转换

c#常见的类型转换可分为自动类型转换(隐式转换)和强制类型转换(显示转换)、不同类型之间的相互转换 三类。

1、自动类型转换

     1.1、参与运算(算术运算和逻辑运算)的操作数和结果类型必须一致。当不一致时,只要满足以下条件,系统自动完成类型转换

              ◎两种类型兼容  

                    例如:int和double兼容    

              ◎目标类型大于原类型

                   例如:double>int

                    int i = 20;
                    double d = i; //发生自动转换

               ◎对于表达式

                   如果一个操作数为double型,则整个表达式可提升为double型。

    

2、强制类型转换   

     2.1、语法:

           (数据类型名)待转换的值;   如:int b=(int)3.14;

     2.2、当将大类型变量赋值给小类型变量时必须使用强制类型转换,不能保证数据的精确度,例如:

         double d=19.8;
         int i=(int)d;//发生强制转换,此处会丢失数据精度。

  

     2.3、强制性转换的数据类型要兼容 

 

3、不同类型转换

      如果是不同类型之间的相互转换则需要用到一些方法来辅助完成;

     ●tostring()方法 一切类型都可以转换成string类型

     ●Convert.toint32(待转字符串);

        int  变量=Convert.toint32(待转字符串)//把待转字符串转换成int类型后赋给变量。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication4
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("请输入你的语文成绩:");
            string chinese = Console.ReadLine();
            Console.WriteLine("请输入你的数学成绩:");
            string math = Console.ReadLine();
            

          //  Console.WriteLine("你的总成绩为:{0}", chinese + math);//以这样的方法是错误的,同时体现了+的两种意义

            int chineseScore = Convert.ToInt32(chinese);
            int mathScore = Convert.ToInt32(math);

            Console.WriteLine("你的总成绩为:{0}", chineseScore + mathScore);

            Console.ReadKey();
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值