–
Java有8种基本类型
- boolean 理论上在内存中占用1个bit,实际上Java里面说了无法确定大小,不能参与算术运算
- byte 在内存中占用1个字节
- char 在内存中占用2个字节
- short 在内存中占用2个字节
- int 在内存中占用4个字节
- long 在内存中占用8个字节
- float 在内存中占用4个字节
- long 在内存中占用8个字节
默认情况下,整数常量为int类型,小数常量是double类型。
boolean不能参与运算
字符型、整型、浮点型的数据混合运算时,转换遵循以下原则
- 容量小的类型默认转换为容量大的数据类型进行计算,char、byte、short相互运算时先提升为int类型,再进行运算
byte,short,char -> int ->long ->float ->double
强制转换
- 格式: (数据类型) (数据) short i= (short) 88;
字符参与运算:首先找对应字符的unicode码值,然后运算
布尔类型不能参与运算
注意 :
a、 byte b = 2;short i = b; 正确
b、 byte b = 2; char i = b; 错误
运算符
算术运算符 +,-,*,/,%,++,–
- 当左边的绝对值小于右边,结果为左边
- 取余的正负号取决于左边,右边忽略不计
++,–
- 在数据前面是先执行++,– ,再执行语句;在数据后面先执行语句,再执行++,–
赋值运算符两种
- +=此类型赋值运算符编译器默认会加强制转换符
比较运算符
- ==,!=,>,<,>=,<=
逻辑运算符
- &,|,!
- &&,|| 注意短路与 、短路或,短路与是第一条语句为false时,不执行第二条;短路或是第一条语句为true时,不执行第二条
位运算符分两种
- <<一个正整数向左移动几位就乘以2的几次幂
- >>一个正整数向右移动几位就除以2的几次幂,高位是0补0,是1补1
- >>>无符号右移无论最高位的符号是0还是1,都是右移后符号位补0
- 三元运算符 :?