基础1-语法-类型转换

数据类型隐式转换:当数据类型不一样时,将发生数据类型转换

小数据类型--->大数据类型      自动转换

数据类型强制转换

大数据类型--->小数据类型      强制转换

强制转换写法:

小数据类型   变量名= (小数据类型)大数据类型变量名

注意:

          int   a  =   (int)3.99;

这样会出现精度损失,所有小数位被舍弃

          int  a  =  (int)6000000000L; 

这样会出现数据溢出,超出数据类型范围

口诀:byte、short、char运算时,自动转换成int类型,两个不同数据类型运算,结果取决大数据类型。多个类型混合运算时,会遵循下面顺序:byte,short,char,---int---long---float---double。

数据类型转换面试题:下面程序有问题,在哪里?

byte  b1  =  3;

byte  b2  =  4;

byte  b3  = b1+b2;

byte  b4  =  3+4;

简答:byte运算,自动转换为int类型,把int赋值给byte会损失精度。

而两个常量相加是固定的值,所以b4可以通过。

数据类型转换面试题:下面程序有问题,在哪里?

short s1=1;s1=s1+1;和short s1=1;s1+=1;

简答:前面s1+1,"1"是int,"s1"是short,一旦参与运算,"s1"提升int,与要被赋值的s1冲突。

正确答案是s1=(short)s1+1;

后面s1+=1,会自动隐式转换,转换的结果是s1 = (short)(s1 + 1),所以正确。

求码值: 计算机使用二进制,而人使用十进制,所以要有转码出现。     

原码:最高位是符号位,‘0’表示正,‘1’表示负,其余位表示数值的大小。

反码:正数的反码与原码相同;负数的反码是对其原码逐位取反,但符号位除外。

补码:正数的补码与其原码相同;负数的补码是在其反码的末位加1。

练习

已知原码求补码-------0b10110100

10110100(原码)

11001011(反码)

11001100(补码)

已知补码求原码-------0b11101110

11101110(补码)

11101101(反码)

10010010(原码)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和...
    Java小辰阅读 1,122评论 0 2
  • 常量的概述和使用 A:什么是常量在程序执行的过程中其值不可以发生改变 B:Java中常量的分类字面值常量自定义常量...
    野望君阅读 635评论 0 0
  • Win7下如何打开DOS控制台? a:开始--所有程序--附件--命令提示符 b:开始--搜索程序和文件--cmd...
    逍遥叹6阅读 1,614评论 4 12
  • 基础 .NET概述 参考:http://www.cnblogs.com/yplong/p/3279934.html...
    donite阅读 1,657评论 0 8
  • 2018.8.6. 星期一 人生已多风雨,往事何必再提。 对呀,生活已经这么苦了,何必要活在过去的不...
    一禅_8f4a阅读 209评论 0 0