JAVA数据类型

java中数据类型有:

  • 基本数据类型
  • 引用数据类型

计算机中最小的存储单位是byte1 byte = 8 bit(1字节等于8个二进制位)

基本数据类型(四大类八小种):

整数型:                                                   

  • (1个字节)byte [-128~127]                                          
  • (2个字节)short [-32768~32767]                                 
  • (4个字节)int [-2147483648~2147483647]                 
  • (8个字节)long (数字后面要加上"L"或"l")                                                            

浮点型:

  • (4个字节)float (数字后面要加上"F"或"f")
  • (8个字节)double

布尔型:

  • (1个字节)boolean

字符型:

  • (2个字节)char [0~65535]                                                        

char中只能存放一个字符(汉字、字母、数字等只能存一个)

charshort容量是一样的,但是char表述文字没有负数,所以可以表示更大的数字。float最然只有4字节但是容量比long大,浮点型比整数型要大。

字符编码是规定了文字所对应的一些列二进制码的字典,编码和解码时必须使用同一种字符编码不然会乱码。最开始是ASCII码,又制定了ISO-8899-1编码,后来才制定出了简体中文编码,容量从小到大(GB2312,GBK,GB18030)。繁体中文为Big5,再后来有unicode(utf-8,utf-16,utf-32).这样就方便了计算机的表示和转换。

当不同的数据类型进行运算时,会有类型转换(除了boolean类型以为的7种都可以)。

类型转换:

  • 自动类型转换:容量由小转大,可以自动转换
  • 强制类型转换:容量由大转小,需要加上强制转换的类型,不然编译会报错。(int a = (int)1L;)强制类型转换可能会造成精度的损失。数据是以补码的形式存储的,强制转换后再转换到源码时可能有很大的变化。

在运算中shortcharbyte参加混合运算时会转换成int类型来做运算。整数型数据一般默认为int类型,浮点型数据一般默认为double类型。当直接将数据赋值给shortcharbyte的时候,如果数据大小没有超出其容量大小时,无需强转直接赋值。(byte a = 1;)直接赋值给char时会转换成对应的字符。

int a = 1;
//byte b = a; 编译时会报错,系统编译时只能识别到a是int类型的,并不知道所存储的数据大小。
byte b = (byte)a; //会显示精度损失的错误,需要进行强转。
byte c = 2; //运算时也是一样的。
byte d = byte(b + c);                    

多种数据一起运算时,会自动类型转换成大的数据类型。

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值