码迷,mamicode.com
首页 > 编程语言 > 详细

java基本数据类型

时间:2019-02-18 23:10:54      阅读:239      评论:0      收藏:0      [点我收藏+]

标签:自动类型转换   ping   www   img   details   溢出   width   空间   编译器   

基本数据类型

JAVA中一共有八种基本数据类型,他们分别是 
byte、short、int、long、float、double、char、boolean

 
类型 型别 字节 取值范围
byte 整型 1byte -27 ~ 27-1
short 整型 2byte -215 ~ 215-1
int 整型 4byte -231 ~ 231-1
long 整型 8byte -263 ~ 263-1
float 浮点型 4byte 3.402823e+38 ~ 1.401298e-45
double 浮点型 8byte 1.797693e+308~ 4.9000000e-324
char 文本型 2byte 0~216-1
boolean 布尔型 1byte true/false

 

 

 

 

 

 

 

 

 

 

 

 

 

 

在通常情况下,如果JAVA中出现了一个整数数字比如35,那么这个数字就是int型的。如果我们希望它是byte型的,可以在数据后加上大写的 B:35B,表示它是byte型的。同样的35S表示short型,35L表示long型的,表示int我们可以什么都不用加,但是如果要表示long型的,就一定要在数据后面加“L”。 

double型比float型存储范围更大,精度更高,所以通常的浮点型的数据在不声明的情况下都是double型的,如果要表示一个数据是float型的,可以在数据后面加上“F”。 
浮点型的数据是不能完全精确的,所以有的时候在计算的时候可能会在小数点最后几位出现浮动,这是正常的。

 

自动类型转换

1)两种类型是彼此兼容的
2)转换后的目标类型占的空间范围一定要大于被转化的源类型

由低字节向高字节自动转换(黑线表示无数据丢失的自动数据转换,红线表示转换中可能发生精度丢失)

  <关于int转float发生精度丢失,而int转double可以无数据丢失,可参考 https://blog.csdn.net/qq_31778159/article/details/79284113 >

技术图片

 

强制数据转换

将容纳更多信息的数据类型转换成一个容量更小的数据类型,可能存在精度损失的风险,编译器要求程序员进行强制类型转换。

强制转换过程中可能发生数据溢出,必须警惕。

     int a=(int)3.14;

 

 数据类型自动提升

  如果两个操作数其中有一个是double类型,另一个操作就会转换为double类型。
  否则,如果其中一个操作数是float类型,另一个将会转换为float类型。
  否则,如果其中一个操作数是long类型,另一个会转换为long类型。
  否则,两个操作数都转换为int类型。

 

参考资料:

1、https://www.cnblogs.com/singlesoar/p/5688915.html

2、https://www.cnblogs.com/skipping/p/5449019.html

 

java基本数据类型

标签:自动类型转换   ping   www   img   details   溢出   width   空间   编译器   

原文地址:https://www.cnblogs.com/tyyt/p/10398270.html

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