数据存储的最小单位,每个二进制数字0或者1就是1个位
8个位构成一个字节;既 1byte(字节) = 8 bit(位)
1KB?= 1024B(字节)
1MB = 1024KB(2^10B)
1GB = 1024MB (2^20B)
1TB = 1024GB (2^30B)?
a ,A ,中 , + , * $ 均表示一个字符
不同的编码表,字符所占用的字节不同。
public static void main(String[] args) {
char a = 'A';
// 将字符转换为字节,注意可能的数据截断
byte sing = (byte) a;
/*
(sing & 0xFF) 的目的是确保字节转换为正整数
Integer.toBinaryString() 将整数转换为二进制字符串。
*/
String binaryString = Integer.toBinaryString(sing & 0xFF);
// 输出结果
System.out.println("字节 " + sing);
System.out.println("二进制字符串" + binaryString);
}
1. 字符型存储到计算机中,需要将字符对应的码值(找出来),
比如'a',存储:'a' == 码值 97 ==> 二进制 ==> 存储。
? ? ? ? ? ? ? 读取:二进制==>97 ===> 'a'? 显示
2. 字符和码值的对应关系是通过字符编码表决定的(规定好的)?
3. 字符编码表
ASCII(ASCII编码表一个字节表示,一共128个字符)
Unicode(Unicode编码表,固定大小的编码,使用两个字节来表示字符,字母和汉字统一都是占用两个字节,这样浪费空间)
Utf-8(大小可变的编码 ,字母使用1个字节,汉字使用3个字节)
gbk(可以表示汉字,而且范围广=>ANSI, 字母使用1个字节,汉字2个字节)
gb2312(可以表示汉字,gb2312 < gbk)
big5码(繁体中文,台湾,香港)
整数类型:
byte
: 8位,范围为 -128 到 127。short
: 16位,范围为 -32768 到 32767。int
: 32位,范围为 -2147483648 到 2147483647。long
: 64位,范围为 -9223372036854775808 到 9223372036854775807。byte byteVar = 127;
short shortVar = 32767;
int intVar = 2147483647;
long longVar = 9223372036854775807L;
浮点类型:
float
: 32位,单精度,范围为约 ±3.40282347E+38F。double
: 64位,双精度,范围为约 ±1.79769313486231570E+308。float floatVar = 3.14f;
double doubleVar = 3.141592653589793;
字符类型:
char
: 16位,表示Unicode字符,范围为 0 到 65535。char charVar = 'A';
布尔类型:
boolean
: 表示 true
或 false
。boolean boolVar = true;