数据类型

来源:互联网 发布:七天网络组织代码 编辑:程序博客网 时间:2024/05/23 17:35

数据类型和转换

1.数据类型

基本数据类型(8种)

1.整形

A.byte(8位,范围是-128到127)

B.short(16位)

C.int(32位)

D.long (64位)

注意:**给long赋值时,因为整数默认是int类型,要转换为long类型的值,后面加上l或L
上面的byte short int long 最大长度可以通过jdk文档去找到 具体的范围。**

2.浮点型
A.float(单精度32位)

直接赋值时必须在数字后加上f 或F

B.double( 双精度64位)

区别:

对于单精度浮点数,运行速度相比double更快,占内存更小,但是当数值非常大或者非常小的时候会变得不精确。 双精度比单精度表示的位数大 精确的位数多,简单地说, float表示的小数点位数少。
默认浮点数的类型是 double


注意:
表示float 类型 必须加上f 或者F ,例如 float x=1.0f (效果与float x=(float)1.0 一样)
float double 不能精确表示一个小数,例如 1.3*1.4
例如 double num= 1.0, 是一个无限接近1.0的一个值
那怎么更精确的表示浮点数呢?BigDecimal

结论:浮点运算很少是精确的,只要是超过精度能表示的范围就会产生误差。往往产生误差不是 因为数的大小,而是因为数的精度。因此,产生的结果接近但不等于想要的结果。尤其在使用 float 和 double 作精确运 算的时候要特别小心。

字符:
A:char
16 位[0-65535] (2个字节,16位) 。字符常量使用单引号 ‘’包裹起来。
表现形式:

1.‘A’最常用,最直观的方式

2.使用一个数字表示,对应有一个ASCII码表

例如:char c = 65;//表示 ’A’ 这个字符

布尔:
值只有两个 true false,不能使用 0 1表示

数据类型的转换

自动转换

1.byte不能转成char

2.char不能转成short

因为两两之间的数据类型范围不包含

在计算中    byte,  char  ,short   ,int 间的运算自动转换成int

-

含有 long,float,double 其中一个或者多个的   ,将自动转成字节数最大的

即是向高字节自动转换

强制转换

目标数据比结果数据类型小的情况下;(即不损失精度,不影响数据
)使用。

    eg:            double d=3.14;            int i=(int)d;
0 0
原创粉丝点击