java的double是什么(java中float和double的取值范围是什么)
各位老铁们好,相信很多人对java的double是什么都不是特别的了解,因此呢,今天就来为大家分享下关于java的double是什么以及java中float和double的取值范围是什么的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!
java中float和double的区别
单精度和双精度。
float是单精度类型,精度是8位有效数字,取值范围是10的-38次方到10的38次方,float占用4个字节的存储空间
double是双精度类型,精度是17位有效数字,取值范围是10的-308次方到10的308次方,double占用8个字节的存储空间
当你不声明的时候,默认小数都用double来表示,所以如果要用float的话,则应该在其后加上f
例如:float a=1.3;
则会提示不能将double转化成float这成为窄型转化
如果要用float来修饰的话,则应该使用float a=1.3f
注意float是8位有效数字,第7位数字将会产生四舍五入
所以如果一个float变量这样定义: float a=1.32344435;则第7位将产生四舍五入(5及5以下的都将舍去)
double java默认初值
基本数据类型作为类的成员时,
即使没有对其进行初始化,
java也会确保它有一个默认值,如下:
基本类型的初始值基本类型默认值
boolean false
char\u0000(null)
byte(byte)0
short(short)0
int 0
long 0L
float 0.0f
double 0.0d
上面的默认值,是当变量作为类的成员使用时才有的,
java这样做是保证基本类型的成员变量得到初始化,
防止产生程序错误,
但这些值在实际的程序中可能都是不合理的,
所以最好明确的给出初始值。
上面的默认值对在程序中非成员变量就不适用了,
非成员变量如果不明确给出初始值,就可能是任何值。
在java程序编译时会提示你一个错误,而不是c++中的警告。
至于那些应用类型,像数组,对象啦,有些复杂,根据你的类型而定,对象一般弄人为null,
数组根据你的类型,按照基本数据类型的默认值来初始化……
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yongpang/archive/2008/01/30/2073765.aspx
java中float和double的取值范围是什么
1、float:4字节(32bit),IEEE 754。取值范围:
[-3.40282346638528860e+38,-1.40129846432481707e-45]∪ [1.40129846432481707e-45~ 3.40282346638528860e+38]。
2、double: 8字节(64bit),IEEE 754。取值范围:
[-1.79769313486231570e+308,-4.94065645841246544e-324]∪ [4.94065645841246544e-324,1.79769313486231570e+308]。
扩展资料:float和double的范围精度
float和double的精度是由尾数的位数来决定的。浮点数在内存中是按科学计数法来存储的,其整数部分始终是一个隐含着的“1”,由于它是不变的,故不能对精度造成影响。
float:2^23= 8388608,共七位,意味着最多能有7位有效数字,但绝对能保证的为6位,也即float的精度为6~7位有效数字;
double:2^52= 4503599627370496,一共16位,同理,double的精度为15~16位。
java编程,int和double分别在什么情况用
int表示整数类型,只要需要存放的数据是数字并且是整数的(注意是整数)就可以用该类型,像存放人的数量的时候,就应该用这个来表示,没有说0.1个人的!
double表示双精度类型,通俗来讲若你想存放数字且带小数点的(即小数)就可以用该类型,像银行系统,表示货币的时候它需要精确到分、毫等,就可以用这个!
OK,关于java的double是什么和java中float和double的取值范围是什么的内容到此结束了,希望对大家有所帮助。