- 基本数据类型
- 1.数据类型
- 整型
byte:1字节=8位= 28−1 =127~-128(补码:1000 0000)
short:2字节=16位= 216−1 =32767~-32768(补码:1000 0000 0000 0000)
int:4字节=32位= 232−1 =2147483647~-2147483648(补码:1000 0000 0000 0000 0000 0000 0000 0000)
long:8字节=32位 - 浮点型
float:4字节
double:8字节 - 类型转换
合法的:低转高(整型间)、整型转浮点型(可能损失精度)
可能有精度损失的:int->float,long->float,long->double - 隐式类型转换
操作数之一是double,另一个操作数转为double
否则操作数之一是float,另一个操作数转为float
否则操作数之一是long,另一个操作数转为long
否则两个操作数被转换为int
- 整型
- 2.进制的前缀与后缀
16进制:前缀0x,如0xCAFE
8进制:前缀0,010
2进制:前缀0b,如0b1001
长整型:后缀L,如4000000000L
float:后缀F
double:后缀D(浮点数无后缀默认为double类型) - 3.java中没有无符号类型(unsigned)
- 4.定义常量:static final type name
- 5.严格浮点计算标记:strictfp
- 1.数据类型
- 运算符
- 位运算符
&-与,|-或,^-异或,~-非 - 移位运算
算术移位:右移>>;左移<<,右移高位用符号位填充,左移低位填0
逻辑移位:逻辑右移>>>,高位填0;无“<<<”
- 位运算符
字符串
java中字符串不可被修改,当String str="Hello";
时,Hello为常量,被存储在公共的存储池中,为str再赋新值时只是修改了str的引用使str指向新的字符串,而原字符串没有被修改