java基本数据类型转换和强制转换_Java中的基本数据类型和基本数据类型之间的转换...

在Java中有8中基本数据类型,分别为:

整型: byte、short、int、long

浮点型:float、double

布尔型:boolean

字符型:char.

byte:    8位,  封装类:Byte

1byte = 8bit;   -128~127之间所有的整数

"位"是byte,"字节"是bit

2个字节表示一个字符。

声明举例:byte a = 1;

short:   16位,短整型,封装类Short,范围在(-2^15) ~ (2^15)-1 之间

short   2byte = 16bit

声明举例:short a = 1;

int :    32位,整型,封装类Integer ,范围在(-2^31) ~ (2^31)-1 之间

int    4byte = 32bit

默认整型直接量为int

声明举例:int a = 1;

long:   64位,长整型,封装类Long,范围在(-2^63) ~ (2^63)-1 之间

ling  8byte = 64bit

声明举例:long a = 1L;或者 long a = 1l;

float:  单精度浮点型,封装类Float,

float 4byte = 4*8bit = 32bit  32位

声明举例:float a = 1.1f;或者float a = 1.1F;

double:双精度浮点型,封装类Double

double 8byte = 8*8bit = 64bit 64位

默认浮点型直接量为double

声明举例:double a = 1.1;

char: 字符类型,封装类Character

Java中采用unicode编码

char类型占用两个字节,

java中的字符类型用单引号声明

声明举例:char a = 'a';

char a = 97; //ascii中97对应的字符为a

char a = '中';

char a = '\u987f';

boolean:布尔型,封装类Boolean

只能存储 true ,false

------------------------------------------------------------------------------------------------

数据类型之间的转换:

自动类型转换:byte --> short --> int --> long --> float --> double

char-----^

小的类型可以自动转换成大的类型

例如:double a = 1; //会自动转换成1.0

强制类型转换:大的类型转换成小的类型,会出现精度损失或者溢出

例如:double a = 1.0;

float a1 = (float)a;

-----------------------------------------------------------------------------------------------------

整型直接量可以直接赋值给byte,short,char,只要不超过其范围就可以

byte,short,char参与运算时,会先统一转换成int类型,然后再运算

整数之间相除结果还是整数,小数舍去

不同数据类型之间运算,会先转换成大的数据类型,然后再运算

double计算时会出现舍入差,2进制系统中无法精确的表示1/10,就好像十进制中无法精确表示1/3一  样。如果需要精确计算,建议使用BigDecimal

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值