A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 江远云 中级黑马   /  2012-3-4 12:32  /  1379 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 江远云 于 2012-3-4 12:33 编辑

在基础视频第2天的类型转换时,说老美为了表示生活中的语言,把字母通过数字表示。如97表示a(字母a)。可是案例中用的是‘a’(字符a)输出了解97?

3 个回复

倒序浏览
因为强制类型转换嘛,强制char类型的'a'转换为int型。
字符a在ASCII中对应的是数字97,楼上表示超清晰~~~
回复 使用道具 举报
本帖最后由 胡元 于 2012-3-5 03:48 编辑

当a作为字符的时候,表示一个符号,这个符号的表现形式就是字母a,加‘’,打印输出的时候,‘’是功能符号,不用表示,所以字符a强制转换的结果就是字母a的代表数字!
回复 使用道具 举报
用我刚刚回的贴来回答你的问题一样合适!!

只要是存在计算机上的数据都是二进制数据(视频、图片、声音等),8个二进制数(0和1)组成一个字节(即二进制数据的基本单位是8位),由于 int   long   short   char   double  float和byte(字节)一样都是数据类型,楼主更规范的说法是说各占多少位,位数多所能表现的数据范围就大,楼上已经说过他们各占多少位我就不再一一道来。
还有 int  test=‘A’+ 'B'    为什么可以这样表示呀?而char =‘a’+'b'怎么不行啊?:所谓计算机上的数据都是二进制数据,字符也不例外,在计算机内存中,被计算机收录的每个字符都有其对应的值,例如010..001——A,
011..001——B……这就构成了编码表ASCii,而每个字符所对应的值就是所谓的 ASCii值,所以在 int  test=‘A’+ 'B'中,由于test是int类型的数据是把A、B当做所对应数值来进行运算的;而char =‘a’+'b'之所以不可以这样运算是因为赋值号左边的变量也是字符类型,而字符与字符不具备运算的规则,但是字符都有相连接的规则,“+”既可以用来数值之间的加法运算,又可以用来连接字符与字符,但是char是单个字符的类型,如果必须要‘a’和'b'相+(连接),则左边的数据类型必须是字符串类型的,即相加后的结果是string类型的“ab”;参考毕老师视频0204到0219进制以及转换!忘采纳
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马