1 Java中基本数据类型:
基本类型 | 大小 | 最小值 | 最大值 | 包装类型 |
---|---|---|---|---|
byte | 8 bits | -2^7 | 2^7-1 | Byte |
short | 16 bits | -2^15 | 2^15 -1 | Short |
char | 16 bits | Unicode 0 | Unicode 2^16 -1 | Character |
int | 32 bits | -2^31 | 2^31 -1 | Integer |
long | 64 bits | -2^63 | 2^63 -1 | Long |
float | 32 bits | -3.4028235E38 | 3.4028235E38 | Float |
double | 64 bits | -1.797693E308 | 1.797693E308 | Double |
boolean | —— | —— | —— | Boolean |
2 算术操作符
符号 | 描述 |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
% | 取模 整数除法产生的余数 |
一元加、减操作符
一元减号用于转变数据的符号 一元加号会将较小类型的操作数提升为 int 。
3 自增自减操作符
符号 | 描述 |
---|---|
++ | 增加一个单位 |
- - | 减少一个单位 |
int a = 1 ;
a++ a- - 会先使用该值再进行自增或自减
++a - -a 会先自增或自减再使用该值
4 关系操作符
符号 | 描述 | 结果 |
---|---|---|
> | 大于 | 大于则结果为 true 其他为 false |
< | 小于 | 小于则结果为 true 其他为 false |
== | 是否相等 | 等于则结果为 true 其他为 false |
>= | 大于或等于 | 大于或等于则结果为 true 其他为 false |
<= | 小于或等于 | 小于或等于则结果为 true 其他为 false |
!= | 不等于 | 不等于则结果为 true 其他为 false |
关系操作符生成 一个 boolean值的结果 true 或 false 。
等于和不等于 适用于所有基本数据类型,其他比较符不适用于boolean类型
5 原码 反码 补码
数字 | 原码 | 反码 | 补码 |
---|---|---|---|
18 | 10010 | 10010 | 10010 |
负数 | 负数符号位为1 | 按位取反,符号位不变 | 反码的末尾 加1 |
正数的原码反码补码相同
-5 的原码: 1 0000000 00000000 00000000 00000101
-5 的反码: 1 1111111 11111111 11111111 11111010 按位取反,符号位不变
-5 的补码: 1 1111111 11111111 11111111 11111011 反码的末尾加 1
6 逻辑操作符
符号 | 描述 | 结果 |
---|---|---|
&& | 与 | 前者和后者都为 true 则结果为 true 其他为 false |
|| | 或 | 前者或后者有一项为 true 则结果为 true 其他为 false |
! | 非 | 参数为true 则结果为 false , 参数为false 则结果为 true |
&& 运算中,若前者为 false , 则后续不再运行,结果为false 。
7 按位操作符
按位操作符用来操作整数基本数据类型的单个"比特",即二进制位。
符号 | 描述 | 结果 |
---|---|---|
& | 与 | 如果2个输入位都为 1 ,则结果为 1 ;否则生成输出位 0 。 1 & 1 = 1 1 & 0 = 0 |
| | 或 | 如果2个输入位中有1个为 1 ,则结果为 1 ;否则生成输出位 0 。 |
^ | 异或 | 如果2个输入位中有1个为 1,另1个为 0 ,则结果为 1 ;否则生成输出位 0 。 |
~ | 非 | 取反操作符 1 结果为0 ; 0 结果为1 。 |
或 : 1 | 1 = 1 ; 1 | 0 = 1 ; 0 | 0 = 0 。
异或 : 1 ^ 0 = 1 ; 1 ^ 1 = 0 。
8 移位操作符
移位操作符只能处理整数类型
符号 | 描述 |
---|---|
<< | 左移操作符 按照操作符右侧指定的位数将操作符左边的操作数向左移动,低位补0 |
>> | 右移操作符 按照操作符右侧指定的位数将操作符左边的操作数向右移动,若符号为正 则高位插入0 符号为负 则高位插入1。 |
>>> | 无符号右移操作符 按照操作符右侧指定的位数将操作符左边的操作数向右移动,高位插入0。 |
1 << 2 将1左移2位 1转二进制 为 1 , 左移2位得 100二进制 转为十进制 值为4
8 >> 3 将8右移3位 8转二进制 为 1000 右移3位为1 ,转为十进制值为1。
9 指数计数法
System.out.println("Float.MAX_VALUE = " + Float.MAX_VALUE);
打印的值为 Float.MAX_VALUE = 3.4028235E38
该值代表 3.4028235 * 10 38