java语言基础--浮点型数据

 

 1 /*
 2   1、关于java语言中的浮点型数据:
 3       浮点型包括:
 4       float   4个字节  单精度
 5       double  8个字节  双精度 更精确
 6       
 7   2、精度更高于double的类型,这种类型专门使用在财务软件方面:java.math.BigDecimal(引用数据类型)
 8   3、float和double存储数据的时候都是存储的近似值
 9     (数据是无限循环,但是计算机的内存是有限的,用有限的资源表示无限的数据,只能存储近似值)
10   4、long类型占用8个字节
11      float类型占用4个字节
12      注意:任意一个浮点型都比整数型空间大  float容量>long容量
13        
14   5、java中规定,任何一个浮点型数据被当作double来处理
15     如果想让这个浮点型字面量被当作float类型来处理,那么请在字面量后面添加F/f
16     1.0默认double类型
17     1.0F 这才是float类型
18  */
19 public class Test1 {
20     public static void main(String[] args) {
21         double pi = 3.1415926;
22         System.out.println(pi);
23         
24         //错误:不兼容的类型:从double转换到float可能会有损失
25         //Type mismatch: cannot convert from double to float
26         //float f = 3.14;
27         //修改1:3.14F/3.14f
28         //float f = 3.14F;
29         
30         //修改2:强制类型转换
31         float f = (float)3.14;
32         System.out.println(f);
33         
34         
35         //错误:不兼容的类型:从doble转换到int可能会有损失
36         //Type mismatch: cannot convert from double to int
37         //原理:先将5转换成double类型,然后再做运算,结果是double
38         //大容量无法直接赋值给小容量,需要强转
39         //int i = 10.0 / 5;
40         //修改1
41         //int i =(int)10.0/5;//2
42         //修改2:强转的时候只留下整数位
43         int i = (int)(10.0/5);//2
44         
45     }
46 }

 

 

 

 

/*  1、关于java语言中的浮点型数据:      浮点型包括:      float   4个字节  单精度      double  8个字节  双精度 更精确        2、精度更高于double的类型,这种类型专门使用在财务软件方面:java.math.BigDecimal(引用数据类型)  3、float和double存储数据的时候都是存储的近似值               (数据是无限循环,但是计算机的内存是有限的,用有限的资源表示无限的数据,只能存储近似值)  4、long类型占用8个字节    float类型占用4个字节          注意:任意一个浮点型都比整数型空间大  float容量>long容量         5、java中规定,任何一个浮点型数据被当作double来处理           如果想让这个浮点型字面量被当作float类型来处理,那么请在字面量后面添加F/f    1.0默认double类型    1.0F 这才是float类型 */public class Test1 {public static void main(String[] args) {double pi = 3.1415926;System.out.println(pi);//错误:不兼容的类型:从double转换到float可能会有损失//Type mismatch: cannot convert from double to float//float f = 3.14;//修改1:3.14F/3.14f//float f = 3.14F;//修改2:强制类型转换float f = (float)3.14;System.out.println(f);//错误:不兼容的类型:从doble转换到int可能会有损失//Type mismatch: cannot convert from double to int//原理:先将5转换成double类型,然后再做运算,结果是double//大容量无法直接赋值给小容量,需要强转//int i = 10.0 / 5;//修改1//int i =(int)10.0/5;//2//修改2:强转的时候只留下整数位int i = (int)(10.0/5);//2}}

 

posted @ 2021-04-09 15:23  lraj  阅读(676)  评论(0编辑  收藏  举报