java菜鸟的回炉之旅之四----整型数据类型和浮点数数据类型

来源:互联网 发布:腾讯网络电影合作流程 编辑:程序博客网 时间:2024/06/05 15:19

懒癌发作,该死。今天继续复习数据类型,尽可能详细一点。如下:

整数类型:

1、java之所以使强类型的计算机语言的原因是因为java应用领域设计的时候就设计得很广,所以必须要有明确的约束限制,才能更好地运用与各个领域,因为不同的应用场景下,内存空间的宝贵程度是不同的。

2、整数分为四种:byteshortintlong

3、整数的声明:整数数据类型 变量名 = 变量;对应为 int a = 4;意思是把4赋值给int类型的变量a;如果理解为int类型的整数变量a = 4;这样理解不是很严谨,因为在java中一个等号“=” 表示的是赋值,而不是等于 ,等于在java中 用双等号 表示“==”。

4、我们说byte 1个字节的占用空间,表示范围为-128----127;怎么理解呢?这样理解:1个字节是8位 每一位有2个状态(二进制,分别用01表示断电状态和通电状态),所以1个字节 可以表示28次方的状态 也就是256个状态,就相当于256个数字,那在java中数据有正负之分,所以从中间各取一半,那为什么是正的127而不是128呢?这是因为0也算以为。所以byte表示的数据范围就是负的128到正的127.其他类型的基本数据类型的表示范围道理大致一样。所以:byte  a = 127;正确,byte b= 128;则会报错,因为超出byte的表示范围了。在工作中设计数据类型的时候,就需要考虑数据类型的表示范围是不是合适了。比如 用byte来表示 月薪,那就是很不合适的。

5、整型的数据类型有 byteshortintlong四种类型可以选,那整型常量的默认数据类型是哪个呢?Java默认整型常量的数据类型是int。为什么呢?因为王八的屁股,规定。

6、在不同的数据类型当中,如byte a = 100; short b = 112; int c = 200;在转型的时候,如果没有超出相应数据类型的 表示范围,可以自动转型,如果超过表示范围了,那就会报错,会报精度丢失的异常。以后会有更详细的类型转换知识。

 

浮点数:

1、浮点型用来表示常见的小数,有floatdoubleFloat占用4个字节的内存空间,double占用8个字节的内存空间。

2、浮点数的表示形式一般有两种:

a) 十进制的表示方法,比如:3.14314.0

b) 科学计数法,如:314E2,314e2,314E-2等。在这种表示方法中,E2表示102次方。如:double f= 314e2;相当于314*10^2 = 31400.0

E-2表示的是10-2次方。如:double f = 314e-2相当于:314*10^-2= 3.14

3、浮点数值默认类型是double 要表示float 要在小数数值后面加上一个F

4、需要注意的一点是浮点数在使用过程中存在舍入误差,有些数据不能精确表示,如果需要无误差的精确数字进行计算,需要使用BigDecimal类,在工作中如果对数据精度要求很高的,那就要谨慎选择了。所以float f = 1.0F;double D = 1.0/10;比较f == D的时候,结果是false,也就是说fD是不相等的,原因就在于 浮点数存在舍入误差。


0 0
原创粉丝点击