字节型 byte 1字节 -128~127
短整型 short 2字节 -32768~32767
在java中 整数默认是int类型
整型 int 4字节
长整型 long 8字节 例: long a=1234567891L
单精度浮点型 float 4 字节
在double中小数默认是double类型
双精度浮点型 double 8字节
字符型 char 2字节 单一字符集
布尔型 boolean 1字节 true 或者 false
栈内存(读写速度快,存储基本类型,引用类型的变量)(基本类型 string(字符串) number(数字) Boolean(布尔值) null undefined(未定义的值) symbol(唯一)(栈立即释放内寸))
作用域结束 ,内存会立即释放
堆内存(存储对象,内存动态分配)(引用类型 Function(函数) Array(数组) Object(对象))(堆延迟释放)
byte——short——int——long——float——double(从左至右自动转换)
char——int——long——float——double(从左至右)
++在表达式前,先运算再赋值 (++指的是+1)
X=5
Y=++X(X=6.Y=6)运算指的是(+1运算)
&& 全真则为真 短路与 如果左边的值为false(假)则右边部分不运算。
|| 全假则为假 短路或 如果左边的值为ture(真)则右边部分不运算。
& 全真则为真 (两边表达式始终参与运算) |全假则为假
== 左右相等则为true 否则为false
instanceof(左边是对象 右边是类)
String s1=“hello”;
Syetem.out.println(s1 instanceof string);
原码反码补码(一个字节占八位)
byte b=4 (正数的原码和反码一样)(负数的反码=符号位不变其他取反)(负数的补码=反码+1)
原码 0000 0100
反码 0000 0100
补码 0000 0100
byte b=-5
原码 1000 0101
反码 1111 1010(加一到补码)
补码 1111 1011 (减一到反码)
补码 (正数的原码补码反码相同) 以补码为运算 (查看结果是原码)
(右移符号 右移n位就是除以2的n次方)(8>>2)(高位补0 符号位不变 地位扔掉)
高位始终补0
<<(左移符号 左移n位就是乘以2的n次方)(低位补0 符号位不变。次高位扔掉)