转译字符:
转义字符 | 名称 | 作用 |
\b | Backspace (退格键) | 相当于Back Space键 |
\t | Tab (Tab键) | 相当于按下Table键 |
\n | Linefeed (换行) | 换行 |
\r | Carriage Return(回车) | 接受键盘输入,回到一行开头 |
\\ | Backslash (反斜杠) | 反斜杠 |
\' | Single Quote (单引号) | 单引号 |
\" | Double Quote (双引号) | 双引号 |
进制:
数据类型:
1.整型
byte 代表一个字节的大小 8bit 2(8) -128~127
short 代表两个字节的大小 16bit 2(16) -2(15)~2(15)-1
int 代表四个字节的大小 32bit 2(32) -2(31)~2(31)-1
long 代表八个字节的大小 64bit 2(64) -2(63)~2(63)-1
注:如果一个数值没有采取特殊的处理,那么该整数默认的类型是int。可以使用数值后面添加L或小写L改变默认的整数类型。
2.浮点型
float 代表四个字节的大小 32bit
double 代表八个字节的大小 64bit
注:java程序中所有的小数默认的类型是double类型,所以需要使用特殊的符号改变默认的小数类型。
3.字符型
char 代表两个字节的大小 16bit 2(16)
原理:将字符映射为码表中对应的十进制数据加以存储。
4.布尔型
boolean 占一个字节。只有true与false两个值。
数据类型的转换:
1.自动类型转换(隐式类型转换)
将一个数赋值赋值给更大数值范围的变量,如byte变量的值赋值给short变量、short变量的值赋值给int变量的过程,java内部自动将数值进行了类型提升。
byte b = 1;// 0000 0001
short s = b; // 0000 0000 0000 0001
int i = s; // 1
long l = i; // 1L
double d = l; // 1.0
表达式的数据类型会自动提升,如算数表达式、逻辑表达式。
所有的byte型、short型和char的值将被提升到int型。
如果一个操作数是long型,计算结果就是long型;
如果一个操作数是float型,计算结果就是float型;
如果一个操作数是double型,计算结果就是double型。
2.强制类型转换(显式类型转换)
不可以将一个数值赋给范围更小的变量,除非进行类型转换。
byte b = 1;
错误:b = b + 2; // 无法赋值,编译出错
正确:b = (byte)(b + 2);
b + 2 加法运算,2 默认是 int 类型,byte 类型 b 变量储存的值类型自动提升为 int,执行完加法运算后就是 int 类型,将 int 放入 byte 类型必须强制转换,否则编译报错。
强制类型转换可能会损失精度。
int a = 128;
byte b = (byte) a; // -128
位运算符:
& 与运算,参见运算的两位数都为1,&运算符结果才为1,否则就为0。
00000000 | 00000000 | 00000000 | 00000110 | 6 |
00000000 | 00000000 | 00000000 | 00000011 | 3 |
00000000 | 00000000 | 00000000 | 00000010 | & = 2 |
| 或运算,参与运算的两位都为0,|运算的结果才为0,否则就为1。
00000000 | 00000000 | 00000000 | 00000110 | 6 |
00000000 | 00000000 | 00000000 | 00000011 | 3 |
00000000 | 00000000 | 00000000 | 00000111 | | = 7 |
^异或运算,只有参加运算的两位不同,^运算的结果才为1,否则就为0。
00000000 | 00000000 | 00000000 | 00000110 | 6 |
00000000 | 00000000 | 00000000 | 00000011 | 3 |
00000000 | 00000000 | 00000000 | 00000101 | ^ =5 |
~ 反码
就是取反,二进制只有1和0,取反就是如果为1,取反就是0,如果是0,取反就是1。
00000000 | 00000000 | 00000000 | 00000110 | 6 |
11111111 | 11111111 | 11111111 | 11111001 | 取反 -7 |
结论:当参与取反的数值是正数时,把对应的值加上负号,再-1;
当参与取反的数值是负数时,把对应的值加上负号,再-1;
负数的表现形式就是对应的正数取反,再加1。负数的最高位肯定是1。