java的数据类型

  • byte:在内存里占8位;表数范围是-128(-2^7)~127(2^7-1)
  • short:在内存里占16位;表数范围是-32768(-2^15)~32767(2^15-1)
  • int:在内存里占32位;表数范围是-2147483648(-2^31)~2147483647(2^31-1)
  • long:在内存里占64位;表数范围是(-2^63)~(2^63)
  • float(单精度浮点型):在内存里占32位;
  • double(双精度浮点型):在内存里占64位;

(注:字节(Byte /bait/ n. [C])是计算机信息技术用于计量存储容量的一种计量单位,通常情况下一字节等于八位,也在一些计算机编程语言中表示数据类型和语言字符——百度百科的。。。

表数范围:能表示的数的范围

单精度浮点型和双精度浮点型的更深入区别:https://www.zhihu.com/question/26022206)

基本类型的类型转换

  • java的所有数值类型变量可以相互转换;表数范围小的数值类型变量转为大的数值类型变量时,系统可以自动转换;

 

 

  • 表数范围大的数值类型变量转为小的数值类型变量时,则需要我们强行转换;

 

可以看出a变量因为超出表数范围所以报错了,

在进行强行转换后就不会报错了,不过强行转换会导致精度损失(一个大桶里装满了水,把水倒到小桶去,小桶装不下那么多水就会溢出)

 

posted @ 2019-03-10 22:41  无言呦  阅读(170)  评论(0编辑  收藏  举报