Java-Float和Double类型

涎涎原创约 445 字大约 1 分钟...JavaJava

84-Java-Float和Double类型.mdopen in new window

注意

本博文仅供学术研究和交流参考,严禁将其用于商业用途。如因违规使用产生的任何法律问题,使用者需自行负责。

  • 与整数类型相似,Java浮点数类型有固定的表数范围和字段长度,不受平台影响
类型所占存储空间表数范围
float32位-3.403E38 ~ 3.403E38
double64位-1.798E308 ~ 1.798E308
  • Java浮点数类型有两种表示形式

    • 十进制数形式,例如:3.14 314.0 .314

    • 科学计数法形式,如:3.14e2 (3.1410^2) 3.14E-1(3.1410^-1)

  • Java浮点型常量默认为double型,如要声明一个常量为float型,则需在数字后面加f或F,如:

double d = 12345.6
float f = 12.3       X
float f = 12.3f     √
float f1 = 12;
//float f2 = 12.34;这种会报错原因是默认是double 64位,float是32位,有如下两种解决方法
float f2 = 12.34F;
float f3 = (float)1.23;//1.23默认是double需要强制转换
float f4 = 12.34E2F;
float f5 = '2';//隐式转换 '2'先转换成int再转换成float,自动进行
float f6 = '\u1234';//隐式转换 '\u1234'先转换成int再转换成float,自动进行

double d1 = 123.45;
double d2 = 123;
double d3 = '2';

int abc = (int)d1;
System.out.println("abc:" + abc);//123
//哪些情况自动转换:
//byte ---> short ---> int ---> long 
//byte ---> short ---> float ---> double
//char ---> float
//char ---> double 

// 哪些情况需要强制转换?只要大房间搬到小房间就需要强制转换,就会丢失精度

分割线


相关信息

以上就是我关于 Java-Float和Double类型 知识点的整理与总结的全部内容,另附源码open in new window

上次编辑于:
贡献者: 涎涎
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.4