一、 Java数据类型:
①、根据功能划分,
②、根据操作数的个数划分(即一元(目)、二元、三元)
1、基本数据类型(primitive)的引用和引用所指的对象都存储在栈(stack)中,
这种类型的定义是通过诸如int a= 3; long b = 255L;的形式来定义的,称为自动变量。值得注意的是,自动变量存的是字面值,不是类的实例,即不是类的引用,这里并没有类的存在。如int a= 3; 这里的a是一个指向int类型的引用,指向3这个字面值。这些字面值的数据,由于大小可知,生存期可知(这些字面值固定定义在某个程序块里面,程序块退出后,字段值就消失了),出于追求速度的原因,就存在于栈中
2、 而其他类型(object)的引用存储在栈(stack)中,他所指的对象存储在堆(heap)中。
二、字符、字节的知识:
1 byte = 256 →(-128 ~ 127)→(0 ~ 255)
2 字节(B )= 2^8 = 16 位
2^16 = 65536 →(-32768 ~ 32767 )→(0 ~ 65565)
1、字符(char ):存储单个字符,用单引号表示
2、 ASCII 码、(美国标准信息交换码)
3、用1 个字符存储字符(只用 7位)来表示字符、(1 byte = 2^7 = 128)
只用7 位的原因:(另外一位用于奇偶校验);
4、CRC (机制):指循环校验位出错
5、UNIODE :用2个字符存字符 (2^16 )→ ( 65536)
6、‘ a ’ → 61H = 97(十进制)→→→ \uoo61
‘ A ’ → 41H = 65(十进制)→→→ \uoo41
‘空格’→ 20H = 32 (十进制)→→→ \uoo32
‘ 0 ’ → 30H= 48 (十进制)→→→ \uoo30
7、10.9F → ( float)
10.9D → ( double)
10 → ( int)
10L → ( long)
boolean → true / false
上述值的表示符→→→→字面符
8、String (字符串):表示存储一串字符
Object (对象):物体、目标
单引号表示单个字符
双引号表示一串字符