short s1 = 1; s1 = s1 + 1; // 编译错误 // 由于 1 是 int 类型,因此 s1+1 运算结果也是 int 型,需要强制转换类型才能赋值给 short 型 short s1 = 1; s1 += 1; // 正确编译 // s1 += 1; 相当于 s1 = (short(s1 + 1)); 其中有隐含的强制类型转换前置++ 与 后置++
- 前置++:先运算后取值
- 后置++:先取值后运算
int m = 3, n = 5; // 方式一: int temp = m; m = n; n = temp; // 方式二: m = m + n; n = m - n; m = m - n; // 方式三: m = m ^ n; n = m ^ n; m = m ^ n;位运算符的运用
// 求正整数的十六进制
// 方式一:自动实现
String Str2 = Integer.toHexString(60);
// 方式二:手动实现
int n = 60;
int m;
String hex = "";
do {
m = n & 15;
hex = ((m > 9) ? (char) (m - 10 + 'A') + "" : m + "") + hex;
n = n >> 4;
} while (n > 0);
用最有效率的方法计算 2 乘以 8
2 << 3(左移 3 位相当于乘以 2 的 3 次方,右移 3 位相当于除以 2 的 3 次方)switch(表达式)中表达式支持的数据类型
byte,short,char,int,枚举 (jdk 5.0),String (jdk 7.0);(不包括long)
java动态分配数组int i = 12; int[] myInt = new int[i];



