Java中的八种基本数据类型所占字节的求法

Java中有八种基本数据类型,分别为:byte、short、int、long、float、double、char、boolean。
这八种基本类型都有对应的包装类,分别为:Byte、Short、Integer、Long、Float、Double、Character、Boolean。
面试时时常会闻到这八种基本类型及其包装类,而且各种基本类型所占的字节数即使记不住、能用代码实现也是可以的。所以给出基本数据类型所占字节的代码。以供大家参考。

  1. package com.pb.demo;
  2. public class BaseType_Demo{
  3. public static void main(String args[]) {
  4. //byte类型所占的字节数求法
  5. System.out.println("byte的二进制位数为:" + Byte.SIZE);
  6. System.out.println("byte所占的字节数为:" + Byte.SIZE/8); //一个字节占8个二进制位
  7. //short类型所占的字节数求法
  8. System.out.println("short的二进制位数为:" + Short.SIZE);
  9. System.out.println("short所占的字节数为:" + Short.SIZE/8);
  10. //int类型所占的字节数求法
  11. System.out.println("int的二进制位数为:" + Integer.SIZE);
  12. System.out.println("int所占的字节数为:" + Integer.SIZE/8);
  13. //long类型所占的字节数求法
  14. System.out.println("long的二进制位数为:" + Long.SIZE);
  15. System.out.println("long所占的字节数为:" + Long.SIZE/8);
  16. //float类型所占的字节数求法
  17. System.out.println("float的二进制位数为:" + Float.SIZE);
  18. System.out.println("float所占的字节数为:" + Float.SIZE/8);
  19. //double类型所占的字节数求法
  20. System.out.println("double的二进制位数为:" + Double.SIZE);
  21. System.out.println("double所占的字节数为:" + Double.SIZE/8);
  22. //char类型所占的字节数求法
  23. System.out.println("char的二进制位数为:" + Character.SIZE);
  24. System.out.println("char所占的字节数为:" + Character.SIZE/8);
  25. }
  26. }
    复制代码

    运行结果为:

所以就可以理解基本数据类型的大小关系:
【byte(1Byte) < char(2Byte) < short(2Byte) < int(4Byte) < float(4Byte) <double(8Byte) < long(8Byte)】 这个排序是 错的!

正确的是:在Java中整型、实型、字符型被视为简单数据类型,这些类型由低级到高级分别为:
(byte,short,char)--int--long--float--double
注意,整数比浮点数低级。低级到高级可以自动转换。而高级到低级需要用代码强制转换,不强转会编译错误。

附上一个题
【习题】
l 一个函数定义的返回值是float,它不能在return语句中返回的值的类型是( )
A.char B.float C.long D.double
答案:D
double比float高级,long比float低级

1.位:"位(bit)"是电子计算机中最小的数据单位。每一位的状态只能是0或1。
2.字节:8个二进制位构成1个"字节(Byte)",它是存储空间的基本计量单位。
1个字节可以储存1个英文字母或者半个汉字,换句话说,1个汉字占据2个字节的存储空间。
3.字:"字"由若干个字节构成,字的位数叫做字长,不同档次的机器有不同的字长。
例如一台8位机,它的1个字就等于1个字节,字长为8位。如果是一台16位机,那么,它的1个字就由2个字节构成,字长为16位。字是计算机进行数据处理和运算的单位。
4.KB:K在二进制中表示1024,也就是2的10次 方。1KB表示1K个Byte,也就是1024个字节。

转载于:https://blog.51cto.com/13545923/2053470

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值