一、装箱和拆箱
装箱是将值类型转换为引用类型
eg:
Int a=5;
Object o=a;
拆箱是将引用类型转换为值类型
eg:
Int a=5;
Object o=a;
Int b=(int)o;
利用装箱和拆箱功能,可通过允许值类型的任何值与 Object 类型的值相互转换,将值类型与引用类型链接起来
二、运算符和表达式
类别 |
运算符 |
说明 |
表达式 |
算术运算符 |
+ |
执行加法运算(如果两个操作数是字符串,则该运算符用作字符串连接运算符,将一个字符串添加到另一个字符串的末尾) |
操作数1 + 操作数2 |
- |
执行减法运算 |
操作数1 - 操作数2 |
|
* |
执行乘法运算 |
操作数1 * 操作数2 |
|
/ |
执行除法运算 |
操作数1 / 操作数2 |
|
% |
获得进行除法运算后的余数 |
操作数1 % 操作数2 |
|
++ |
将操作数加 1 |
操作数++ 或++操作数 |
|
-- |
将操作数减 1 |
操作数-- 或--操作数 |
|
~ |
将一个数按位取反 |
~操作数 |
运算符 |
计算方法 |
表达式 |
求值 |
结果(假定 X = 10) |
+= |
运算结果 = 操作数1 + 操作数2 |
X += 5 |
X = X + 5 |
15 |
-= |
运算结果 = 操作数1 - 操作数2 |
X -= 5 |
X = X - 5 |
5 |
*= |
运算结果 = 操作数1 * 操作数2 |
X *= 5 |
X = X * 5 |
50 |
/= |
运算结果 = 操作数1 / 操作数2 |
X /= 5 |
X = X / 5 |
2 |
%= |
运算结果 = 操作数1 % 操作数2 |
X %= 5 |
X = X % 5 |
0 |
优先级(1 最高) |
说明 |
运算符 |
结合性 |
1 |
括号 |
( ) |
从左到右 |
2 |
自加/自减运算符 |
++/-- |
从右到左 |
3 |
乘法运算符 除法运算符 取模运算符 |
* / % |
从左到右 |
4 |
加法运算符 减法运算符 |
+ - |
从左到右 |
5 |
小于 小于等于 大于 大于等于 |
< <= > >= |
从左到右 |
6 |
等于 不等于 |
= != |
从左到右 从左到右 |
7 |
逻辑与 |
&& |
从左到右 |
8 |
逻辑或 |
|| |
从左到右 |
9 |
赋值运算符和快捷运算符 |
= += *= /= %= -= |
从右到左 |
自加自减
表达式 |
类型 |
计算方法 |
结果(假定 num1 的值为 5) |
num2 = ++num1; |
前置自加 |
num1 = num1 + 1; num2 = num1; |
num2 = 6; num1 = 6; |
num2 = num1++; |
后置自加 |
num2 = num1; num1 = num1 + 1; |
num2 = 5; num1 = 6; |
num2 = --num1; |
前置自减 |
num1 = num1 - 1; num2 = num1; |
num2 = 4; Num1 = 4; |
num2 = num1--; |
后置自减 |
num2 = num1; num1 = num1 - 1; |
num2 = 5; Num1 = 4; |
转义字符:
转义序列 |
字符 |
’ |
单引号 |
” |
双引号 |
\ |
反斜杠 |