Java中有八种基本数据类型,分别为:byte、short、int、long、float、double、char、boolean。 这八种基本类型都有对应的包装类,分别为:Byte、Short、Integer、Long、Float、Double、Character、Boolean。 面试时时常会闻到这八种基本类型及其包装类,而且各种基本类型所占的字节数即使记不住、能用代码实现也是可以的。所以给出基本数据类型所占字节的代码。以供大家参考。
package com.pb.demo;
public class BaseType_Demo{
public static void main(String args[]) {
//byte类型所占的字节数求法
System.out.println("byte的二进制位数为:" + Byte.SIZE);
System.out.println("byte所占的字节数为:" + Byte.SIZE/8); //一个字节占8个二进制位
//short类型所占的字节数求法
System.out.println("short的二进制位数为:" + Short.SIZE);
System.out.println("short所占的字节数为:" + Short.SIZE/8);
//int类型所占的字节数求法
System.out.println("int的二进制位数为:" + Integer.SIZE);
System.out.println("int所占的字节数为:" + Integer.SIZE/8);
//long类型所占的字节数求法
System.out.println("long的二进制位数为:" + Long.SIZE);
System.out.println("long所占的字节数为:" + Long.SIZE/8);
//float类型所占的字节数求法
System.out.println("float的二进制位数为:" + Float.SIZE);
System.out.println("float所占的字节数为:" + Float.SIZE/8);
//double类型所占的字节数求法
System.out.println("double的二进制位数为:" + Double.SIZE);
System.out.println("double所占的字节数为:" + Double.SIZE/8);
//char类型所占的字节数求法
System.out.println("char的二进制位数为:" + Character.SIZE);
System.out.println("char所占的字节数为:" + Character.SIZE/8);
}
}
复制代码
运行结果为:
所以就可以理解基本数据类型的大小关系:
【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个字节。