java中共有8种基本的数据类型,分别为 字节型byte(8字节,32位),短整型short(16字节),整型int(32字节),长整型long(64字节),
字符型char(16字节),浮点型float(32字节),双精度型double(64字节),逻辑型boolean(8字节)。
整数默认为int型,小数默认为double型。
表达式的数据类型自动提升
byte b = 3;
int x = 4;
x = x + b;//b会自动提升为int类型进行运算
但是,如果是下面这样:
byte b = 3;
b = b + 1;
这样就会发生错误,因为从多字节的数据类型int转成少的字节型的byte,会造成精度丢失,所以会报错
关于运算符&和&&,|和||
首先,&&和&的运算结果是一样的,只不过运算过程不一样。
&:无论&左边的运算结果是什么,&右边都要参与运算
&&:当&&左边的表达式结果为false时,右边不会参与运算
同理,||和|的运算结果是一样的,只不过运算过程不一样。
|:无论 | 左边的运算结果是什么,| 右边都要参与运算
||:当 || 左边的表达式结果为true时,右边不会参与运算