zoukankan      html  css  js  c++  java
  • 10-10C#基础---数据类型之间的转换

    10-10  C#基础数据类型转换(熟练掌握)

    第一课 数据类型之间的转换

    基本类型的转换:自动转换(隐式转换)和强制转换(显示转换)

     装箱转换:允许值类型隐式转换成引用类型。

     拆箱转换:允许将引用类型显示转换成值类型

     分为2个步骤:首先,检查对象是否超出类型范围,然后再进行转换。

     Object包含所有的类型,其他类型都可以转换成Object类型,但Object不能转换成其他类型。

    例: int i=0

          object o = i;

    三种转换方式:

    1)、用( )。( )内是转换后的数据类型,只能转换同一大类(值类型之间转换或引用类型之间转换)。强制转换

           例1: int i = 0;

                double d = (double)i;

                Console.Write(d);

                Console.ReadLine();

           例2:    int i = 0;

                    double d=i;

                    d = 1.23;

                    i=(int)d;

                Console.Write(i);

                Console.ReadLine();

    执行后:

       

    例3        float f = 1.23f;

                int i = f;

                Console.Write(i);

                Console.ReadLine();这是错误的写法。

     

    当编写控制台程序完成启动时出现上面的内容,表示浮点型无法自动(隐式)转换成整形,中间必须有一个强制转换的过程。

     

    正确编写:

         float f = 1.23f;

         int i = Convert.ToInt16(f);

         Console.Write(i);

         Console.ReadLine();

    执行后:

          

    2)、使用convert(将一个基本数据类型转换为另一个基本数据类型的类)。Convert只有在符合数据类型范围的情况下才能进行转换。强制转换

      例1:   float f=1.3f;在创建float类型时,要加F后缀。

              double d=Convert.ToDouble(f);

              Console.Write(d);

              Console.ReadLine();

    执行后:

       例2、      string s = "12";

                 int i = Convert.ToInt16(s);

                 Console.Write(i);

                 Console.ReadLine();

    执行后:

    3)、.parse解析。用于字符串型转相应值类型。  

    4)例:     string s = "12.2";

                double d = double.Parse(s);

    执行后:(使用parse执行后,数值不变。)隐式转换

    但是,string 类型无法直接转换为int 类型,必须再经过强制转换的过程。

    例:           string s = "12.2";

                double d = double.Parse(s);

                int i=(int)d;

                Console.Write(i);

                Console.ReadLine();

    执行后:

      

    正确编写过程: float a;

                string b = "3.14";

                a = float.Parse(b);

                int i = (int)a;

                Console.Write(i);

                Console.ReadLine(); 

    执行后:

    练习题: 判断:   Console.WriteLine(“请输入一个100以内的整数:37”);

                int a = Convert.ToInt16(37);

                Console.WriteLine(a % 7 == 0);//a是否能被7整除

                Console.WriteLine();

                Console.WriteLine(a % 10 == 7);//a的个位是否是7

                Console.WriteLine();

                Console.WriteLine(a / 10 == 7);//a的十位是否是7

                Console.ReadLine();

    执行后,出现一下界面:

    随堂练习:

      设计一个小程序:输入100内的整数,每行输入一个数值,输入完第十个数的时候,自动求得这个数的和。(任意录入,每次执行,人工录入不同的数,就可以得到不同的结果。)

    操作界面:

     

     执行后显示界面:

     

    补充:代位符

       string xingming="小明";

       string xingbie="男";

      Console.Write("你的姓名是:{0},性别{1}",xingming,xingbie) ;

     Console.ReadLine();

    执行后显示界面:

     

     

      

     

     

     

  • 相关阅读:
    20145225 实验四《Andoid开发基础》
    20145235 《Java程序设计》第9周学习总结
    20145235实验三队友(20145225)
    20145235 《Java程序设计》第8周学习总结
    20145235《Java程序设计》第7周学习总结
    20145235 《Java程序设计》实验二
    20145235 《Java程序设计》第一次实验报告
    20145235 《Java程序设计》第6周学习总结
    20145232韩文浩《网络对抗》PC平台逆向破解
    20145232韩文浩《网络对抗》 恶意代码分析
  • 原文地址:https://www.cnblogs.com/xiaoqingshe/p/4018046.html
Copyright © 2011-2022 走看看