码迷,mamicode.com
首页 > 其他好文 > 详细

类型转换

时间:2015-08-04 00:07:53      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:

一、自动类型转换(隐式类型转换):

     将1个byte类型的变量中的值赋值给1个int类型的变量,为什么不报错,数据类型明显不同?

       a、byte类型的变量和int类型的变量都是用来存储整型的数据。

       b、无论byte类型的变量中的值是多少,都可以将其放倒int类型的变量中去,不会出任何问题。

   在数据类型兼容的情况下,我们可以将一个小范围的变量的值直接赋值给1个大范围的类型的变量。这样做是绝对不会有问题的。

       a、因为他们之间相互兼容

     b、小范围变量的值无论是多少都可以直接放到大范围的变量中。

   因为不会有任何问题,所有直接赋值就可以了,C#编译器自动的帮助我们完成转换。

   所有的数值类型和char类型之间是互相兼容的。可以直接将1个char类型的数据赋值给1个int类型的变量,那么这个int类型的变量的值就是这个char类型的数据对应的ASCII码。(char类型的数据对应的ASCII码是1个int类型的数据。)

   满足自动类型转换的条件:

     a、数据类型兼容(所有的数值类型和char类型之间相互兼容),特别强调字符串和数值类型以及char类型不兼容。

       b、目标变量的范围要大于原变量

 

 二、强制类型转换

   在数据类型兼容的情况下,不能直接将一个大范围的类型的变量的值直接赋值给1个小范围的类型的变量。因为有可能会发生溢出的现象。

       在强制转换的时候,一定要保证大范围变量中的值要在小范围的变量中。

       将浮点型强制转换为整型,会将小数部分截取掉,不会做四舍五入。

   强制类型转换的首要前提是:

       a、类型兼容

       b、大范围赋值给小范围

      可以直接把char类型的数据赋值给int类型的变量。

      但是不能直接把int类型的数据赋值给char类型的变量,如果一定要赋值,那么必须使用强制转换语法。结果就是以这个类型的数为ASCII码所对应的字符。

三、关于char类型

      a、每1个char类型的数据都有1个对应的ASCII码,这些ASCII是1个int类型的数。

      B、char类型不是int类型,只是这个数据的ASCII码是1个int类型的。

类型转换

标签:

原文地址:http://www.cnblogs.com/huanhuan0624/p/4700688.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!