学习 Java 你必须要知道的东西(二)【数据类型相关、逻辑运算符、位运算符、三元运算符】
四、Java 数据类型
四类八种数据类型
Java 是属于一种 强类型语言,即 强类型定义语言,要求变量的使用要严格符合规定,所有变量都必须定义后才能使用。
Java 数据类型分为两大类:基本数据类型、引用数据类型
基本数据类型:byte、short、int、long、float、double、char、boolean
引用数据类型:除 基本数据类型 以外的,都称之为 引用数据类型

整数类型拓展
进制:二进制(0b)、八进制(0)、十进制、十六进制(0x)

浮点类型拓展
强调 "不使用" 浮点类型float、double进行比较;
浮点型特点:长度有限、离散、存在舍入误差、数值接近但不等于;
当类型不同,数值看似相同时,我们看到的"0.8",可能实际上是"0.79999999999999";
当类型相同,数值看似不相同时,一旦数值超过最大长度,就会出现无论再加多少,数值都不会再变的情况;
float f2 = 9999999999999999999999f; //1.0E30
float f3 = f2 + 8888888f;//1.0E30
float f4 = f2 + 1;//1.0E30
强调 "使用" BigDecimal进行数值操作!

++(加加) 和 --(减减)
++ 自增(加加),-- 自减(减减),统称为一元运算符;

五、逻辑运算符
&&:与,二者都为true,结果才为true,一旦一者为false,则结果就为false;
|| :或,二者之中只要有一个为true,则结果就为true;
! :非,即取反;
注意:
&& 又称之为 短路与,例如 A&&B,当A为false时,表达式结果直接为false,此时,"B不执行!"
六、位运算符
&:按位与,二进制数 对应位都为1,结果对应位才为1,否则为0;
a = 0011 0100;//二进制数
b = 0110 1101;//二进制数
0010 0100
a&b = 0010 0100;
|:按位或,二进制数 对应位都为0,结果对应位才为0,否则为1;
a = 0011 0100;//二进制数
b = 0110 1101;//二进制数
0111 1101
a|b = 0111 1101;
^:按位异或,二进制数 对应位相同 则结果对应位为0,对应位不相同 则结果对应位为1;
a = 0011 0100;//二进制数
b = 0110 1101;//二进制数
0101 1001
a^b = 0101 1001;
~:取反,二进制数 对应位为0,结果对应位为1,二进制数 对应位为1,结果对应位为0;
a = 0011 0100;
b = 0110 1101;
~a = 1100 1011;
~b = 1001 0010;
"<<":左移,二进制数 *2;
"建议使用于 2的倍数的运算中;"
a = 2;// 0000 0010
a<<1 = 2*2 = 4;//0000 0100
a<<3 = 2*2*2*2 = 16;//0010 0000
">>":右移,二进制数 /2;
"建议使用于 2的倍数的运算中;"
a = 8;// 0000 1000
a>>1 = 8/2 = 4;//0000 0100
a>>3 = 8/2/2/2 = 1;//0000 0001
七、三元运算符
格式:AAA ? BBB : CCC;
含义:当AAA为 true 时,BBB执行;当AAA为 false 时,CCC执行

浙公网安备 33010602011771号