基本数据类型
整数型:byte short int long
浮点型:float double
字符型:char
布尔型:boolean
这八种基本类型都有对应的包装类,分别为:Byte、Short、Integer、Long、Float、Double、Character、Boolean。
引用数据类型
类(class) 接口(interface) 数组(array)
基本数据类型占字节数
可以使用代码求法利用包装类中的静态变量SIZE来计算:
//byte类型所占的字节数求法
System.out.println("byte的二进制位数为:" + Byte.SIZE);
System.out.println("byte所占的字节数为:" + Byte.SIZE/8); //一个字节占8个二进制位
数据类型 | 字节 | 默认值 |
---|---|---|
byte | 1 | 0 |
short | 2 | 0 |
int | 4 | 0 |
long | 8 | 0 |
float | 4 | 0.0f |
double | 8 | 0.0d |
char | 2 | ‘\u0000’ |
boolean | 4(根据编译环境而定) | false |
-
关于boolean占几个字节,众说纷纭,虽然boolean表现出非0即1的“位”特性,但是存储空间的基本计量单位是字节,不是位。所以boolean至少占1个字节。
JVM规范中,boolean变量当作int处理,也就是4字节;而boolean数组当做byte数组处理,即boolean类型的数组里面的每一个元素占1个字节。 -
\u开头的是一个Unicode码的字符,\u0000代表的应该是NULL,输出控制台是一个空格,其余可以查看Unicode表,Unicode字符通常用十六进制编码方案表示,范围在’\u0000’到’\uFFFF’之间,Unicode可同时包含65536个字符,ASCII/ANSI只包含255个字符,ASCII/ANSI实际上是Unicode的一个子集,\u0000到\u00FF表示ASCII/ANSI字符。
-
1Byte(字节或B)=8bit(位或b或比特)
1KB(Kilobyte 千字节)=1024Byte
1MB (Megabyte 兆字节 简称“兆”)=1024KB
1GB (Gigabyte 吉字节 又称“千兆”)=1024MB
1TB (Trillionbyte 万亿字节 太字节)=1024GB
1PB(Petabyte 千万亿字节 拍字节)=1024TB
1EB(Exabyte 百亿亿字节 艾字节)=1024PB,
1ZB (Zettabyte 十万亿亿字节 泽字节)= 1024 EB,
1YB (Yottabyte 一亿亿亿字节 尧字节)= 1024 ZB,
1BB (Brontobyte 一千亿亿亿字节)= 1024 YB. -
位:"位(bit)"是电子计算机中最小的数据单位。每一位的状态只能是0或1。
-
字节:8个二进制位构成1个"字节(Byte)",它是存储空间的基本计量单位。1个字节可以储存1个英文字母或者半个汉字,换句话说,1个汉字占据2个字节的存储空间。
-
字:"字"由若干个字节构成,字的位数叫做字长,不同档次的机器有不同的字长。
例如一台8位机,它的1个字就等于1个字节,字长为8位。如果是一台16位机,那么,它的1个字就由2个字节构成,字长为16位。字是计算机进行数据处理和运算的单位。 -
KB:K在二进制中表示1024,也就是2的10次 方。1KB表示1K个Byte,也就是1024个字节。
-
2的8次方=2*2*2*2*2*2*2*2=256,二进制化成十进制
-
在Java中整型、字符型被视为简单数据类型,这些类型由低级到高级分别为:
(byte,short,char)–int–long–float–double
注意,整数比浮点数低级。低级到高级可以自动转换。而高级到低级需要用代码强制转换,不强转会编译错误。 -
浮点型数值,默认是double类型的,想要float,数值后面别忘加个f