Java中的数据类型

基本介绍

在这里插入图片描述

java数据类型分为两大类:基本数据类型和引用数据类型

基本数据类型有8种:byte【字节】、short【短整型】、int【整型】、long【长整型】、float【单精度】、double【双精度】、char【字符型】、boolean【布尔类型】

引用数据类型有类、接口和数组

类型占用存储空间范围
byte1字节-128 ~ 127
short2字节-32768 ~ 32767 (-2^15 ~ 2^15-1)
int4字节-2147483648 ~ 2147483647 (-2^31 ~ 2^31-1)
long8字节-2^63 ~ 2^63-1
float4字节-3.403E38 ~ 3.403E38
double8字节-1.798E308 ~ 1.798E308
char2字节默认使用Unicode编码,0 ~ 2^16-1
boolean1字节true、false

java的整数常量默认是int,声明long型常量,后面要加’l’或’L’ ; 浮点型常量默认为double,声明float型常量,后面需要加’f’或’F’。

自动类型转换

在进行赋值或者运算时,精度小的类型自动转换为精度大的数据类型,以精度大的类型为准。

java中,数据类型按精度(容量)大小排序:

char→int→long→float→double

byte→short→int→long→float→double

按照以上箭头方向可以进行自动类型转换,反之,不允许精度大的类型向精度小的类型转换,会发生精度损失。(理解:想象一个大盒子里可以放下小盒子,小盒子装不下大盒子,类比于自动类型转换,精度大的类型占用的空间也就大些。)

下面看一些测试:

byte n = 10;	//在byte范围内就可以,-128-127
short s = 2;	
short res = n + s;	//报错,short,byte和char在计算时会提升至int
int i = 'a';	//输出97,字符a的Unicode编码
long a = 1; 	//编译通过,这个1为整型,向上自动转型
float b = 2; 	//同上
float c = 3.0;	//编译不通过,3.0默认为double,范围大的不能向范围小的转换,会损失精度,除非进行强制类型转换
int x = 1;
double y = 1.0;
int z = (int) (x + y);
System.out.println(z);	//2
System.out.println(x + y);	//2.0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值