JAVA 基本数据类型及其扩展

JAVA 基本数据类型及其扩展

java的基本数据类型

Java的数据数据类型大致可以划分为基本数据类型和引用数据类型。基本数据类型有

数据类型所占字节
byte一个字节(-128~127)
short两个字节
int四个字节(-2147483648~2147483647)
long八个字节(-9223372036854775808~9223372036854775807)
float四个字节
double八个字节(-9223372036854775808~9223372036854775807)
boolean一位(true\false)
char两个字节

当然,我们在平时常常还会用到String字符串。对与String字符串并不是基本数据类型,它是Java提供的一个封装类,使用时要注意。

基本类型的扩展

整数类型
对于整数类型的扩展,我们首先来看一下进制。在我们日常生活中使用最多的当属十进制,而在计算机中常用的有二进制、八进制(0致7)以及十六进制(0~F)。

int a1=10;
int a2=010;
int a3=0x10;
System.out.println(a1);
System.out.println(a2);
System.out.println(a3);

运行以上程序得到结果:
在这里插入图片描述
从结果中我们看到给变量赋值可以使用不同的进制八进制(0开头),十六进制(0x开头)。
浮点数类型
对于浮点数,我们来看一段程序

        float b1=  1.11F;
        double b2=1.11;
        float b3=1.11F;
        double b4=1.11;
        System.out.println(b1==b2);
        System.out.println(b1==b3);
        System.out.println(b2==b4);

运行结果:
在这里插入图片描述

对于b1和b2来说两者赋值都是相同的值,只有数据类型不一致。在将两者做对比时其结果为不相等,这又是为什么呢?我们知道float与double的区别在与两者的所占字节不一样对应的表示范围和精度也就不一致。而在对浮点数表示时,由于精度表示范围不同选用float和double会进行不同的舍入操作。最终也就会使得两者数据不一致。尽管,我们在表面上和测试时看到数据时一致的,但是也只是接近所赋值。因此,在做数值比较时尽量不要使用浮点数。

字符类型
对于char类型,在计算机中如何表示字符呢?在计算机中只有数据,所以采用对字符进行编码,每一个字符对应一个编码。ASCLL码便是按照对字母和常用字符进行编码,用编码操作字符。但是,对于汉字又应该如何表示呢?在目前的计算机中,采用了国标码和区位码来对汉字进行编码。
接下来,我们来了解一下字符与其对应的编码。

    char c1='a';
        char c2='中';
        System.out.println(c1);
        System.out.println(c2);
        System.out.println((int)c1);
        System.out.println((int)c2)

运行结果:
在这里插入图片描述
从结果中看到字母a的编码为97,汉字‘中’的编码为20013。在JAVA中编码在Unicode表中。该表将U0000~UFFFF对字符进行编码。这里我们测试一下:

        char c4='\u0061';
        System.out.println(c4);

运行结果:
在这里插入图片描述
可以看到\u0061对应字母a。

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值